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 3 3 1 0 0 0 0 0 0 0 3 2 1 0 0 0 0 3 14 23 21 8 1 0 0 0 0 0 0 0 2 5 8 9 1 0 0 4 9 14 2 0 0 1 6 14 11 3 0 0 3 10 5 3 1 0 0 0 0 0 0 0 0 0 0 0 3 7 9 8 1 0 0 0 0 1 2 0 0 1 3 3 0 0 0 3 8 6 2 0 0 0 1 5 6 3 0 0 1 5 9 13 19 25 27 18 5 1 0 0 0 0 0 1 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 2 6 9 12 15 15 10 2 0 0 0 2 8 10 6 2 0 0 0 0 0 0 1 4 8 6 4 2 0 0 3 6 8 8 8 8 6 3 0 0 0 1 3 9 12 10 5 0 0 2 7 13 17 14 7 2 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 2 7 15 20 21 18 17 19 22 24 23 22 22 27 37 50 62 71 74 78 83 87 89 88 86 83 79 74 71 69 70 72 75 80 84 87 87 86 88 90 93 95 95 95 96 97 100 109 118 125 129 130 129 125 122 120 119 115 108 104 103 107 111 113 116 117 114 111 112 115 115 99 95 103 112 114 106 101 108 119 134 149 164 166 151 136 126 120 120 122 127 134 143 151 151 145 136 128 122 120 122 123 122 120 119 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 4 9 4 1 0 0 0 0 8 20 19 6 0 0 0 0 0 0 0 0 2 7 11 8 0 0 2 4 9 12 0 0 0 0 4 9 12 2 0 2 8 13 17 8 2 0 2 5 4 1 0 0 0 0 0 0 2 8 14 13 7 1 0 0 0 0 0 0 0 0 1 1 0 0 0 5 9 6 2 0 0 0 1 5 6 2 0 0 2 6 14 16 18 23 26 20 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 4 8 14 18 17 6 1 0 0 1 7 13 8 2 0 0 0 0 0 0 1 3 5 5 2 0 0 0 0 1 2 2 2 2 1 1 0 0 0 1 4 13 17 12 4 0 0 2 9 16 18 15 7 3 1 0 0 0 0 0 0 0 0 0 0 0 0 3 5 2 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 2 4 7 10 11 14 18 23 28 28 25 20 17 19 26 36 48 59 66 72 78 84 89 92 94 94 91 85 78 74 73 74 76 81 85 89 90 90 91 93 94 94 92 90 88 87 90 98 108 117 122 125 126 125 123 123 125 124 120 112 108 108 111 114 114 111 111 114 119 124 127 124 127 130 129 122 108 96 95 101 108 117 142 171 175 164 148 137 133 133 133 135 141 149 152 148 140 132 126 126 132 135 133 129 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 0 0 4 13 9 2 0 0 0 0 0 11 12 6 0 0 0 0 0 0 0 0 0 7 8 4 0 1 1 8 12 8 0 0 0 1 2 5 6 0 0 2 10 20 22 4 1 0 4 11 14 8 1 0 0 0 0 0 0 3 10 12 7 0 0 0 0 0 0 0 2 2 1 0 0 0 0 6 10 8 2 0 0 0 1 3 4 2 0 0 1 7 16 17 16 19 22 20 8 1 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 1 5 10 15 17 11 2 0 0 0 2 14 10 3 0 0 0 0 0 0 0 1 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 15 18 12 4 0 0 1 9 17 18 13 6 1 0 0 0 0 0 0 0 1 1 0 0 0 0 3 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 1 2 3 2 2 2 2 4 6 9 17 24 30 30 27 22 20 18 20 24 31 40 50 59 67 75 82 89 97 100 101 97 89 81 78 78 79 83 87 91 93 95 96 96 94 92 89 86 83 82 83 90 99 105 109 112 115 116 116 118 120 122 120 114 111 110 110 108 106 104 108 114 122 128 130 130 132 136 139 135 124 114 110 106 100 87 105 142 168 171 151 137 134 130 126 126 133 146 152 152 146 138 131 132 142 146 146 141 134 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 8 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 2 3 1 0 2 7 11 4 0 0 0 0 0 5 4 1 0 0 0 10 16 11 0 0 0 3 20 28 14 0 0 0 0 0 0 0 0 2 4 2 0 0 0 0 0 0 2 5 8 5 1 0 0 0 6 12 9 2 0 0 0 0 1 3 2 0 0 0 5 14 18 14 14 18 20 14 2 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 1 1 1 0 0 0 0 3 6 10 12 13 11 3 0 0 0 3 10 12 4 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 2 10 14 8 3 0 0 0 8 14 14 7 0 0 0 0 1 1 1 1 1 2 2 0 0 0 0 4 8 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 1 1 1 1 0 0 1 3 5 11 17 22 24 24 24 22 20 17 15 16 20 30 40 49 58 69 80 91 99 103 102 96 88 83 80 81 84 88 92 95 98 99 98 94 90 86 84 82 82 83 88 92 94 96 98 100 102 103 106 109 111 110 108 107 106 105 104 104 106 110 115 121 125 126 125 128 134 139 138 130 125 128 126 106 71 84 87 119 142 131 121 122 121 118 118 127 143 156 160 156 148 139 136 147 154 156 151 142 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 8 2 0 0 0 0 1 1 0 1 2 1 2 0 0 0 1 6 5 2 0 0 0 0 6 3 1 1 0 0 3 22 22 8 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 2 9 19 14 4 0 0 0 4 15 9 2 0 0 0 0 0 1 1 0 0 0 3 10 17 14 10 14 20 19 10 0 0 0 0 2 3 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 3 3 3 2 2 2 4 9 11 11 10 7 4 0 0 0 2 7 11 6 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 4 2 0 0 1 7 11 7 2 0 0 0 1 2 3 4 2 2 2 3 2 0 0 0 5 10 9 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 1 2 4 7 10 12 15 17 17 16 14 11 8 9 14 20 27 36 49 65 78 88 96 99 97 92 86 82 80 81 85 89 94 98 100 98 94 89 86 85 85 87 88 89 89 87 86 86 87 88 90 94 97 98 98 99 99 100 102 103 105 106 109 113 117 119 118 118 124 130 132 130 124 126 136 139 120 81 98 99 98 101 100 101 108 112 115 123 137 151 166 170 168 161 151 139 145 154 160 157 147 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 2 9 7 2 0 0 0 0 0 0 2 2 0 0 0 0 1 2 2 2 1 0 0 0 1 0 1 0 0 0 1 8 16 10 4 1 0 0 8 5 1 0 0 0 0 0 0 0 0 0 0 0 1 8 21 22 5 0 0 0 2 16 7 2 0 0 0 0 0 0 0 0 0 0 2 9 14 14 9 11 18 22 18 7 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 3 0 0 0 0 0 0 0 0 0 2 3 5 5 6 6 6 8 11 13 12 8 4 1 0 0 0 2 6 9 7 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 2 7 10 4 1 0 0 0 0 6 9 8 5 2 1 1 0 0 0 0 5 13 13 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 1 2 4 5 7 9 10 10 9 8 7 9 11 15 21 30 45 59 72 82 90 93 92 88 83 80 78 81 84 89 93 96 96 93 90 88 88 91 94 96 95 91 85 81 78 78 80 82 84 87 88 88 90 92 95 99 102 105 106 107 108 109 109 109 110 114 118 119 117 115 119 129 136 128 112 126 123 105 86 90 95 100 105 114 129 151 164 176 177 171 167 157 137 129 139 154 159 150 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 4 6 3 1 0 1 2 0 0 4 8 6 0 0 0 3 3 2 1 0 0 0 2 3 0 0 0 0 0 4 11 9 7 2 0 0 4 18 9 3 0 0 0 2 0 0 0 0 1 4 1 0 4 12 22 4 0 0 0 2 6 5 1 0 0 0 0 0 0 0 0 0 0 1 8 14 13 9 9 16 23 23 14 4 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 1 3 5 7 8 10 12 13 13 10 6 2 0 0 0 0 1 5 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 2 6 10 6 1 0 0 1 4 10 12 11 7 2 0 0 0 0 0 1 4 14 17 10 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 1 2 3 4 6 8 9 9 10 11 13 17 22 30 42 54 66 77 84 87 86 83 80 78 79 81 84 88 91 93 92 92 91 93 96 100 102 100 95 89 82 77 76 76 78 80 81 81 83 85 88 93 96 99 102 103 103 102 99 97 96 97 100 102 105 106 106 106 113 123 126 132 142 144 137 124 114 110 106 103 108 128 147 141 134 137 150 158 156 134 114 109 121 148 153 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 8 2 0 0 0 0 0 0 0 2 3 2 0 0 4 6 5 0 1 13 18 11 0 0 2 8 6 1 0 0 2 6 5 2 0 0 0 5 8 8 7 4 1 0 3 9 16 12 4 1 0 3 10 1 0 0 0 4 14 2 0 0 5 11 7 1 0 0 0 1 5 1 0 0 0 0 0 0 0 0 0 0 0 9 14 13 9 9 14 23 24 18 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 2 0 0 0 0 0 0 0 0 0 0 0 1 4 7 10 12 12 11 8 4 1 0 0 0 0 1 4 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 1 4 7 6 2 0 1 4 7 9 11 10 6 2 0 0 0 0 0 2 6 16 20 12 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 1 2 4 7 9 11 12 12 14 17 20 24 30 39 50 61 70 77 80 80 79 78 78 79 80 83 87 91 92 92 93 94 98 102 104 103 99 94 87 82 78 77 77 78 79 81 83 85 88 91 94 95 96 98 98 97 92 87 84 85 88 91 97 100 95 91 94 107 116 122 125 132 142 143 132 123 114 108 110 125 126 91 65 70 109 148 155 138 115 102 108 132 151 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 6 1 0 0 0 0 0 0 0 1 0 0 0 4 12 12 4 1 8 26 24 11 0 0 8 14 7 0 0 0 7 9 4 0 0 2 9 12 11 6 0 0 0 2 7 12 12 2 0 0 5 11 8 0 0 0 6 13 11 1 0 0 4 8 1 0 0 0 1 2 1 0 0 0 1 2 2 0 0 0 0 2 10 15 13 10 10 15 24 25 18 8 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 7 8 7 5 2 0 0 0 0 1 3 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 2 4 3 1 2 4 6 8 9 7 6 4 2 0 0 0 0 0 3 10 17 22 13 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 1 2 4 6 8 10 10 11 13 16 19 21 25 30 36 45 55 63 69 73 75 76 76 76 77 79 83 88 91 92 92 92 94 97 98 98 97 95 92 88 84 80 78 78 78 81 84 86 88 90 90 89 90 92 93 92 86 81 78 77 78 80 87 89 85 81 84 94 100 100 103 112 124 130 122 115 110 109 114 123 120 89 52 42 82 133 152 141 126 127 148 152 151 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 8 0 0 0 0 0 0 0 0 0 0 0 1 6 17 18 10 0 4 24 36 23 6 0 2 18 16 7 0 0 0 10 4 0 2 6 13 20 13 4 0 0 0 1 3 6 6 0 0 0 4 10 11 1 0 0 5 13 14 2 0 0 4 6 3 0 0 0 0 1 1 0 0 0 4 6 3 1 0 0 0 3 11 16 12 9 10 16 23 25 18 9 2 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 1 2 2 2 1 0 0 0 2 4 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 2 6 11 11 9 5 2 2 1 0 0 0 0 2 5 11 16 17 12 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 1 1 1 1 0 0 1 1 2 2 3 5 6 8 8 9 10 12 15 19 22 25 30 35 42 48 55 61 66 70 72 73 74 76 79 85 89 91 90 87 86 86 86 86 88 89 90 89 86 83 80 78 78 80 83 84 85 85 84 82 82 84 85 85 81 77 74 72 70 69 72 75 78 80 79 74 77 86 95 101 104 105 100 97 97 100 106 117 118 105 84 72 100 128 141 131 117 111 99 132 144 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 8 6 1 0 0 0 0 0 0 0 0 0 0 2 8 30 30 14 2 3 14 41 35 14 0 2 8 27 14 3 0 0 2 4 1 1 8 21 30 15 4 0 1 2 2 3 1 0 0 0 0 2 8 8 2 0 0 5 14 14 5 0 0 4 7 5 0 0 0 1 2 1 0 0 0 6 8 6 2 0 0 1 6 13 16 12 8 9 15 22 23 17 8 3 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 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 2 8 13 13 9 3 0 0 0 0 0 0 0 3 6 10 13 14 11 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 1 2 3 4 6 7 7 7 8 12 16 20 23 27 31 36 41 46 51 57 61 65 67 69 72 76 81 86 88 87 83 79 77 76 76 76 78 80 82 82 81 79 77 77 79 81 82 81 79 77 75 74 74 75 75 74 71 69 67 65 62 62 65 70 73 64 51 53 66 79 84 88 87 84 84 87 93 100 110 116 123 129 134 139 141 125 105 89 77 66 104 129 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 4 1 0 0 0 1 2 2 1 0 0 0 3 15 42 52 26 7 0 9 35 48 22 5 0 6 26 26 8 0 0 1 4 3 1 9 22 29 14 2 0 0 5 14 12 2 0 0 0 0 0 6 5 2 0 1 4 18 17 7 0 0 2 10 7 1 0 0 1 4 3 1 0 0 5 11 8 2 0 0 0 6 15 18 13 7 9 16 21 21 14 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 0 0 0 0 0 0 1 4 8 11 11 7 3 0 1 0 0 0 0 0 3 8 11 13 13 10 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 1 2 4 5 6 7 8 10 14 19 22 26 31 35 39 44 48 52 55 59 62 65 68 73 77 81 83 82 80 76 73 72 71 71 70 71 73 74 74 74 74 76 77 78 78 77 75 72 70 67 66 66 66 66 65 64 62 61 59 58 58 59 58 45 38 50 64 69 65 72 74 75 77 82 88 98 106 110 115 124 136 138 127 101 77 66 62 77 91 104 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 1 2 4 8 12 11 6 0 0 0 12 38 62 48 16 2 4 19 44 34 10 1 3 12 29 8 2 0 1 5 10 3 4 15 22 14 2 0 1 11 22 21 8 1 0 0 0 0 4 1 0 0 1 6 27 23 9 0 0 1 10 9 3 0 0 1 6 8 4 0 0 2 12 7 2 0 0 0 4 15 19 14 7 8 17 23 22 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 7 5 3 1 1 4 6 2 0 0 0 2 9 13 14 14 12 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 1 3 4 5 7 10 13 17 22 26 30 35 39 44 48 52 54 56 58 60 64 68 72 75 77 78 77 75 73 71 71 70 70 70 70 69 69 70 71 74 76 76 75 74 72 70 66 63 61 60 60 61 60 59 58 58 57 55 51 48 43 31 37 60 77 75 61 63 63 64 68 73 80 89 95 99 106 119 128 121 109 92 76 68 80 95 88 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 2 3 4 5 8 14 19 20 12 1 0 2 21 50 68 45 14 2 6 21 36 17 4 0 6 17 16 3 0 1 7 13 5 1 5 13 13 3 0 1 13 24 24 14 4 2 3 5 7 5 1 0 0 1 9 27 22 7 1 0 1 5 8 3 0 0 1 6 17 6 0 0 1 7 7 3 0 0 0 2 14 19 14 8 9 19 29 26 16 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 1 2 3 2 1 0 1 4 8 6 1 0 0 2 8 15 17 18 16 12 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 1 2 4 7 10 14 18 22 27 32 37 42 47 51 54 56 56 57 59 62 65 68 70 72 73 72 71 71 70 71 71 71 70 70 70 70 72 73 74 74 73 72 72 69 65 61 58 58 58 58 57 55 53 52 51 48 44 39 33 29 45 71 86 78 60 59 57 54 54 58 65 72 79 87 98 116 127 128 120 105 92 94 113 108 92 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 1 2 1 0 0 2 5 7 8 11 19 26 26 17 1 0 6 28 59 74 48 16 2 5 16 27 10 2 3 9 14 4 1 3 10 14 10 1 0 5 7 4 0 1 13 25 26 17 7 5 9 16 18 14 3 0 0 0 6 16 20 7 1 0 0 1 5 2 0 0 2 9 22 6 1 0 0 1 9 2 0 0 0 2 11 18 13 8 9 19 34 34 21 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 0 0 0 1 3 6 8 4 1 0 2 7 14 19 21 21 16 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 8 11 16 21 25 30 35 41 46 49 52 53 54 54 55 56 58 61 63 65 66 66 66 67 67 68 67 67 68 69 71 73 74 74 73 73 72 71 69 65 60 58 57 57 57 55 53 50 47 43 40 38 36 34 38 57 78 86 78 62 56 50 45 43 43 48 54 64 77 90 108 123 131 130 123 116 117 118 108 94 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 1 2 2 0 0 0 2 6 8 9 14 23 30 30 19 2 0 10 36 68 82 50 15 2 4 15 30 18 8 7 10 10 4 7 14 19 15 4 0 1 5 4 1 4 14 27 26 17 6 3 8 18 24 21 11 1 0 0 1 6 12 6 1 0 0 1 2 2 0 0 3 11 20 11 2 0 0 1 3 5 1 0 0 2 9 18 13 9 11 21 36 40 27 11 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 1 3 6 8 8 5 4 5 8 12 17 20 21 17 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 8 12 16 21 26 30 35 39 42 45 46 47 46 46 46 47 48 50 52 54 56 57 57 58 58 58 60 63 66 68 70 72 72 72 72 70 67 63 59 57 57 57 56 55 52 48 44 40 38 37 38 41 51 67 79 81 74 63 55 48 42 38 36 39 45 56 70 83 96 112 123 128 127 126 120 115 107 98 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 2 2 2 0 0 0 2 5 8 9 16 26 32 29 15 1 1 16 46 76 83 42 10 0 7 23 41 29 14 9 11 16 16 21 24 18 7 0 0 5 6 4 5 14 30 30 18 6 0 2 14 24 22 13 4 0 0 0 2 5 4 0 0 0 1 2 1 0 0 4 13 19 14 2 0 0 0 2 6 2 0 0 2 8 16 15 11 13 22 34 39 29 14 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 2 6 9 10 10 9 9 9 11 12 15 16 13 7 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 8 11 15 19 22 26 29 32 34 34 34 34 33 32 32 33 35 37 40 42 43 44 44 46 48 51 54 58 61 63 66 68 68 66 63 60 57 56 57 58 57 55 53 48 44 42 42 44 46 50 59 69 76 76 72 65 58 52 46 41 38 40 46 55 66 77 89 100 108 111 112 113 107 105 105 105 103 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 3 2 0 1 2 3 5 7 10 20 28 31 23 8 0 4 24 55 78 72 26 6 1 13 36 49 27 10 8 18 31 34 29 18 6 0 0 2 11 9 8 14 27 34 19 6 0 1 5 21 22 13 4 0 0 1 3 5 4 0 0 0 2 5 4 0 0 6 15 19 14 4 0 0 0 1 4 5 0 0 0 5 13 16 13 14 22 32 36 28 14 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 2 6 9 11 13 13 12 11 10 9 8 8 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 1 3 5 6 8 10 12 14 16 17 18 18 17 16 16 15 16 17 19 22 25 27 29 30 32 34 37 40 44 47 51 55 59 60 60 57 55 54 55 58 59 59 56 53 49 47 47 50 53 56 58 62 66 71 74 72 68 63 59 54 49 46 48 52 59 67 76 86 92 91 86 84 88 90 94 100 105 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 2 3 3 2 2 2 3 3 3 4 6 13 23 29 26 16 4 0 9 33 60 72 50 9 2 5 21 41 37 9 2 12 30 44 36 14 3 0 0 2 9 16 13 15 23 32 24 5 0 0 3 11 22 12 4 0 0 1 5 9 7 2 0 0 1 8 10 8 4 9 20 24 16 4 0 0 0 1 4 6 2 0 0 4 11 17 15 15 21 29 32 26 14 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 1 4 7 10 12 13 13 11 9 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 1 1 1 1 2 3 3 4 4 4 4 4 4 4 4 5 7 9 12 15 18 21 22 24 25 27 30 34 38 43 47 50 51 50 49 49 53 58 60 60 58 53 50 49 52 56 60 62 64 65 68 72 76 76 74 71 67 63 59 57 58 61 67 72 78 83 83 74 62 60 72 80 87 95 102 105 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 2 2 3 5 6 4 3 4 8 18 27 28 20 8 1 3 19 44 63 62 33 5 3 19 36 37 13 2 1 22 42 42 16 3 0 0 1 4 14 14 14 20 26 23 4 1 0 0 5 18 14 3 0 0 1 6 14 12 5 0 0 0 6 14 15 13 17 30 33 18 5 0 0 0 1 5 6 4 0 0 2 10 17 18 17 19 26 28 23 14 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 7 9 10 9 6 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 7 11 14 17 18 19 20 21 22 24 28 32 37 41 43 44 45 48 52 58 61 60 58 53 51 52 55 60 64 66 67 67 68 73 77 80 80 77 73 70 66 65 66 69 74 78 80 81 77 66 53 58 71 81 89 96 102 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 2 3 2 1 2 5 7 6 4 3 6 12 23 29 24 14 4 2 9 32 57 66 52 23 6 18 42 48 28 2 0 14 36 42 24 3 0 0 2 6 9 9 10 15 21 19 7 1 0 0 3 9 12 2 0 0 0 2 8 9 4 1 0 0 0 12 17 17 20 30 38 21 6 0 0 0 1 6 10 6 0 0 2 9 17 20 19 19 23 24 19 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 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 1 4 8 13 17 21 25 27 27 26 25 26 29 32 36 40 44 47 50 55 59 60 59 56 53 52 53 56 60 65 69 70 70 68 70 74 79 80 78 75 70 67 66 67 70 75 78 79 77 72 64 57 67 80 90 97 102 104 101 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 3 6 6 4 2 3 8 17 27 26 18 8 3 7 22 47 64 62 42 16 11 36 61 55 20 0 3 29 43 32 6 0 0 7 15 16 9 4 9 16 16 8 1 0 0 1 4 6 3 0 0 0 0 0 2 2 1 0 0 2 9 16 16 16 22 30 23 6 0 0 0 1 7 13 8 2 0 1 10 17 20 21 20 21 20 15 8 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 8 13 20 30 38 42 42 39 36 35 37 40 45 50 53 56 58 58 57 54 52 51 52 53 55 58 64 70 72 70 66 64 66 68 69 68 65 62 59 58 60 63 68 70 70 69 66 63 64 74 85 95 102 104 102 96 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 4 2 1 4 10 20 26 22 13 6 6 15 35 57 64 53 31 13 19 49 68 52 14 1 12 40 40 20 0 0 3 18 25 19 6 3 11 15 10 2 0 0 0 1 2 2 0 0 0 0 0 0 0 0 0 0 2 8 16 14 12 14 19 21 8 2 0 0 2 10 14 6 2 0 3 12 19 20 19 19 20 18 12 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 10 21 32 42 48 51 50 47 46 48 52 55 57 56 54 51 47 43 42 42 42 44 45 51 58 63 65 62 56 51 48 46 45 45 43 42 41 42 45 49 51 52 53 55 57 59 61 67 74 81 87 89 85 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 2 3 2 0 1 4 11 19 23 17 10 7 10 23 43 58 56 41 22 13 26 53 63 44 12 3 20 40 29 9 0 0 12 28 28 15 3 4 14 12 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 10 11 8 8 11 15 11 2 0 1 7 15 18 6 2 0 3 12 23 22 19 17 16 15 9 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 7 14 22 32 39 42 44 46 47 48 49 48 44 39 35 30 27 26 25 25 25 26 31 37 42 44 42 36 30 25 21 19 18 19 19 20 23 26 30 30 30 33 37 43 47 48 49 51 54 57 58 55 51 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 4 10 16 18 13 8 8 13 26 44 52 44 28 14 11 29 51 53 37 16 11 25 31 17 2 0 3 27 38 29 12 3 7 14 8 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 4 2 6 10 10 3 0 2 11 24 28 16 2 0 0 7 20 28 22 17 14 11 7 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 10 14 18 22 25 27 27 27 25 22 18 15 13 11 11 10 9 9 9 11 13 15 15 15 12 8 5 3 2 3 4 6 8 10 12 14 14 14 15 19 25 28 27 25 25 28 30 31 31 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 9 12 12 8 6 7 12 24 38 41 30 15 5 8 26 45 45 36 28 26 27 20 8 0 2 11 42 46 31 12 5 10 11 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 8 6 0 1 10 28 39 33 9 1 0 2 11 25 28 20 14 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 6 6 6 6 5 4 4 3 2 2 2 2 2 1 1 2 2 3 3 3 1 0 0 0 0 0 1 1 2 4 6 7 6 7 8 10 10 9 7 6 7 9 11 12 14 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 8 7 4 3 4 9 19 28 24 12 3 0 2 18 32 37 38 41 43 29 11 2 0 5 25 50 45 27 10 8 12 8 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 2 0 5 24 41 44 29 6 1 1 6 16 26 25 16 8 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 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 4 4 4 4 4 4 4 2 1 0 0 0 1 3 4 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 1 2 2 2 0 0 1 4 10 12 4 1 0 0 1 9 19 24 31 42 48 28 8 1 2 10 30 38 27 13 5 6 10 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 16 33 40 36 21 6 2 4 12 20 23 18 8 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 1 2 3 3 3 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 3 8 12 18 28 33 22 9 4 7 14 22 17 8 2 1 1 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 22 30 30 24 16 9 8 12 17 19 16 7 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 1 2 2 2 2 3 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 2 3 6 10 13 9 7 8 10 10 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 2 8 19 22 21 18 15 13 15 18 17 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 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 1 2 2 2 3 5 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 0 0 0 0 0 2 8 14 16 16 16 16 17 19 17 12 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 11 14 15 16 18 20 20 14 7 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 7 11 13 15 17 20 22 18 9 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 13 15 17 20 22 20 12 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 18 21 23 21 14 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 20 23 24 21 15 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 11 20 25 26 22 14 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 2 9 17 22 22 18 12 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 14 18 16 12 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 14 12 7 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 9 9 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Wind_Speed nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 19 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 17 nan nan nan nan nan 16 16 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 17 17 17 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 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 nan nan 18 19 nan nan nan nan nan 16 17 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 3 3 3 3 4 4 3 3 3 3 3 3 3 4 4 4 5 5 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 6 6 6 6 6 6 6 7 7 7 7 7 7 7 8 8 8 7 7 7 8 9 9 9 8 8 8 8 9 10 10 10 11 11 11 10 9 7 6 6 9 11 12 13 13 13 12 12 12 12 12 12 13 13 14 14 14 14 15 15 15 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 18 19 nan nan nan nan nan nan nan nan nan nan nan 18 nan nan nan nan nan nan 17 nan nan nan nan nan nan 16 nan nan nan nan 16 16 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 16 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 18 18 17 17 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 20 20 21 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 19 19 20 nan nan nan nan nan 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 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 5 5 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 9 9 10 10 10 10 10 9 7 5 5 7 10 12 14 14 13 13 12 12 12 12 12 12 13 13 14 14 14 14 14 14 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 nan nan nan nan nan nan nan 18 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 17 nan nan nan nan nan nan nan nan nan nan nan nan 16 16 nan nan nan nan 16 16 nan nan nan nan nan nan nan nan nan nan 16 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 18 18 18 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 21 21 21 21 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 19 20 20 nan nan nan nan nan 19 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 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 6 6 6 6 6 5 5 5 5 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 9 9 9 10 10 10 9 7 6 7 10 14 15 15 15 14 13 12 11 11 11 12 12 13 13 13 13 13 14 14 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 18 nan nan nan nan nan nan nan nan nan nan nan nan nan 16 16 nan nan nan nan 15 16 16 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 nan nan nan nan nan nan nan nan nan nan nan nan nan 19 19 18 18 18 18 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 20 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 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 5 6 6 7 7 7 7 7 7 7 7 7 8 7 7 7 7 7 7 7 7 7 6 6 6 6 5 5 5 5 5 5 5 5 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 8 8 8 9 10 10 10 10 10 11 12 14 16 17 17 16 15 13 12 10 10 11 11 12 12 13 13 13 13 13 14 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 16 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 18 19 nan nan nan nan nan 19 nan nan nan nan nan nan nan nan nan nan nan nan nan 19 19 19 18 18 18 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 22 22 nan 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 21 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 4 3 3 3 3 3 3 3 nan nan 3 4 4 5 5 5 5 6 6 7 7 7 7 7 7 7 7 8 8 8 8 8 7 7 7 7 7 7 6 6 6 6 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 8 8 9 10 10 8 7 15 21 21 18 18 17 16 15 14 12 10 9 9 11 12 12 13 13 13 13 13 13 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 18 19 nan nan nan nan nan 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 19 nan 18 18 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 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 21 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 18 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 3 4 4 4 5 5 5 5 6 6 6 7 7 7 7 7 7 7 8 8 8 8 8 7 7 7 7 7 6 6 6 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 8 9 9 7 4 4 12 18 17 16 15 15 14 13 12 10 7 8 9 12 13 13 14 14 13 12 13 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 nan nan nan nan nan nan 16 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 18 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 19 nan nan 18 19 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 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 21 21 nan nan nan nan 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 3 3 4 4 4 4 4 5 5 5 5 6 6 6 6 7 7 7 7 7 8 7 8 8 8 8 8 7 7 6 6 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 6 6 6 7 7 7 7 6 4 5 10 15 15 14 13 13 13 12 12 11 9 5 7 12 13 14 14 14 14 13 13 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 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 16 17 nan nan nan nan nan nan nan nan nan nan 18 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 19 19 nan nan 18 19 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 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 21 nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 6 6 6 7 7 7 7 7 7 8 8 8 8 8 7 7 6 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 5 5 5 5 5 6 6 6 6 6 5 5 5 6 8 11 12 12 12 12 12 11 11 13 17 9 7 11 13 13 14 14 14 14 14 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 nan nan nan nan nan nan nan nan nan nan nan nan nan nan 18 18 nan nan nan 19 19 19 nan nan nan 19 nan nan nan nan nan nan nan nan nan nan nan 17 17 nan nan nan nan nan nan 16 17 nan nan nan nan 17 nan nan nan nan nan 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 19 19 nan nan 19 19 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 4 4 4 3 3 3 3 4 4 4 4 4 5 5 5 5 5 6 6 6 6 7 7 7 7 7 7 7 7 7 7 6 6 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 4 5 5 5 5 5 5 4 4 4 5 6 7 9 10 11 11 11 10 10 10 12 13 12 10 10 11 12 13 13 13 14 15 16 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan 18 18 nan nan nan 18 19 19 nan nan nan 19 19 nan nan nan nan 18 nan nan nan nan 17 17 18 nan nan nan nan nan nan nan nan nan nan nan nan 17 17 nan nan nan nan 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 20 20 19 nan 19 19 19 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 nan nan nan nan nan nan nan nan 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 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 5 4 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 6 6 6 6 6 7 7 7 7 7 7 6 6 6 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 4 5 5 5 5 4 4 3 4 4 5 6 7 8 9 9 9 9 9 8 9 10 11 10 9 10 11 11 11 10 11 15 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 18 18 nan nan 18 18 19 19 nan nan nan 19 19 nan nan nan nan nan nan nan nan 17 18 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 20 20 20 nan nan 19 19 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 nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan 22 22 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 6 5 4 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 3 4 4 5 6 7 8 8 8 8 7 7 7 8 8 9 9 9 10 10 8 7 8 12 16 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 19 19 18 nan nan nan 18 19 19 nan nan nan 18 19 nan nan nan nan nan nan nan nan 18 18 18 nan nan nan nan 18 18 nan nan nan nan nan nan nan nan nan nan nan nan 18 18 nan nan nan nan 19 nan nan nan nan nan nan nan nan nan nan nan 20 nan nan nan nan nan nan 20 20 20 nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan 23 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 8 7 6 5 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 4 4 4 5 6 6 7 7 7 7 7 6 6 6 6 6 7 8 8 8 6 5 6 8 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 17 18 nan nan nan nan 18 18 19 19 19 nan nan 18 18 19 19 nan nan 18 19 nan nan nan nan nan 18 nan nan 18 18 18 nan nan nan 18 18 19 nan nan nan nan nan nan nan nan nan nan nan nan 18 19 nan nan nan nan 19 nan nan nan nan nan nan nan nan nan nan nan 20 nan nan nan nan nan nan 20 20 20 nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 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 10 9 8 7 5 4 4 4 3 4 4 4 4 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 6 6 7 6 6 6 6 6 6 6 6 6 6 6 6 5 6 6 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 16 17 17 17 nan nan nan 17 18 19 19 19 nan nan 18 19 19 nan nan nan 18 19 nan nan nan nan 18 nan nan nan 18 18 nan nan nan 18 19 19 19 nan nan nan nan nan nan nan nan nan nan nan 18 19 nan nan nan nan nan nan nan nan nan nan nan 20 nan nan nan nan nan nan nan nan nan nan nan 21 21 21 nan nan 20 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 23 23 23 23 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 12 11 10 9 7 6 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 4 3 4 4 4 5 5 5 5 5 6 6 6 6 5 5 5 5 5 6 6 6 6 6 6 6 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 15 16 16 17 17 nan nan nan 16 18 19 19 19 nan nan 18 19 19 nan nan nan 18 nan nan nan nan 18 18 nan nan nan nan nan nan nan 18 18 19 19 nan nan nan 19 19 19 nan nan nan nan nan 18 19 nan nan nan nan nan nan nan nan nan nan nan 20 nan nan nan nan nan nan nan nan nan nan nan 21 21 21 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 23 23 23 23 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 14 13 12 11 10 9 8 7 6 6 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 6 6 6 6 6 7 7 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 15 16 16 17 17 nan nan 16 16 17 18 19 18 nan nan 18 19 19 nan nan nan 18 nan nan 18 18 18 nan nan nan nan nan nan nan 18 18 19 19 nan nan nan 19 19 20 20 nan nan nan nan nan 19 nan nan nan nan nan nan nan nan nan nan 20 20 21 nan nan nan nan nan nan nan nan nan nan nan 22 21 nan 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 23 23 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 15 14 14 13 12 11 10 10 9 9 8 7 7 7 6 6 6 6 6 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 6 6 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 16 16 16 16 17 nan nan 16 16 17 18 18 18 nan nan 18 19 19 18 nan 18 18 18 18 18 18 nan nan nan nan nan nan nan 18 18 19 19 nan nan nan 19 19 20 20 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 20 20 21 nan nan nan nan nan nan nan nan nan nan nan 22 22 22 21 21 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 23 23 nan nan nan 23 23 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 16 16 15 15 14 14 13 12 12 11 10 10 9 9 9 9 8 8 7 6 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 5 6 6 5 5 5 5 4 5 5 5 4 4 4 4 4 4 4 4 4 5 5 6 6 7 7 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 17 16 16 16 17 nan nan nan 16 16 17 17 17 nan nan 18 18 19 19 nan nan 18 18 18 18 18 nan nan nan nan 19 nan nan 18 18 19 19 nan nan nan nan 19 20 20 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 22 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 24 24 24 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 17 17 16 16 15 14 14 13 13 12 12 12 11 10 9 8 7 6 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 5 5 6 6 6 6 5 5 4 4 4 5 5 5 4 4 4 4 4 4 4 4 4 5 5 6 6 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 17 17 17 17 17 nan nan nan 16 17 17 17 nan nan nan 18 19 19 nan nan 18 18 19 19 19 nan nan nan nan nan 19 18 18 18 19 19 nan nan nan nan 19 20 20 nan nan nan nan nan nan nan nan nan nan nan nan 20 nan nan nan 20 21 21 nan nan nan nan nan nan nan nan nan nan nan 22 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 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 11 10 9 8 7 6 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 4 5 5 5 6 6 6 5 5 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 5 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 17 17 17 17 nan nan nan 16 16 17 17 16 nan nan 16 18 19 19 nan nan 18 18 19 19 nan nan nan nan nan 19 19 19 19 19 19 nan nan nan nan nan 20 20 nan nan nan nan nan 20 20 nan nan nan nan nan 20 20 20 20 20 21 21 nan nan nan nan nan nan nan nan nan nan nan 22 22 22 22 22 22 22 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 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 13 12 11 9 8 6 5 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 18 18 nan nan nan 16 16 16 16 16 nan 14 15 17 18 nan nan 18 18 19 19 nan nan nan nan nan nan nan nan 19 19 19 nan nan nan nan nan nan 20 nan nan nan nan nan nan nan nan nan nan nan nan 20 20 20 20 20 20 21 nan nan nan nan nan nan nan nan nan nan nan nan 22 22 22 22 22 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 15 14 13 12 10 8 6 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 4 4 4 4 4 4 4 4 4 5 5 5 5 4 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 17 17 18 18 nan nan nan 16 16 16 16 16 15 14 14 15 16 18 nan nan 18 19 19 nan nan nan nan 19 19 nan nan nan 19 20 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 21 nan nan nan nan nan nan 22 nan nan nan nan nan 22 22 22 22 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 17 17 16 15 13 12 10 7 5 4 4 4 4 4 4 5 5 5 5 6 6 6 6 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 17 17 18 18 nan nan 17 16 16 16 16 16 15 14 14 15 16 17 nan 17 18 19 19 nan nan nan 18 19 19 nan nan 19 19 20 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 nan nan nan nan nan nan 22 nan nan nan nan 22 22 22 22 23 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 19 18 17 16 15 14 13 11 10 8 8 7 8 8 8 8 9 9 9 9 9 9 7 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 17 17 17 nan nan 17 17 17 17 17 17 16 15 15 15 15 16 17 nan 18 18 19 nan nan nan 18 18 19 19 nan nan 19 20 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 21 nan nan 21 21 21 nan nan nan nan 22 22 nan nan nan nan 22 22 23 23 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 20 19 19 18 18 17 17 17 16 16 15 14 13 12 12 12 12 12 13 13 12 10 8 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 17 17 17 nan nan 17 17 17 17 17 17 16 16 15 15 15 15 16 17 18 18 18 nan nan nan 18 18 19 18 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 22 nan nan nan 22 22 22 22 nan nan nan nan 22 23 23 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 20 20 19 19 19 19 19 19 19 18 17 16 15 15 14 14 nan nan nan 13 12 9 6 4 4 nan nan nan nan nan nan nan nan 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 17 17 nan nan nan 17 17 17 17 17 17 nan nan 16 15 15 15 15 17 18 18 nan nan nan 17 18 18 18 18 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 22 22 22 22 nan nan nan nan 22 23 23 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 4 nan nan nan nan nan 4 4 4 4 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 17 17 17 17 nan nan nan 16 15 15 14 14 16 18 18 nan nan nan 17 18 18 18 17 nan 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 22 22 22 22 nan nan nan nan 23 23 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 17 17 nan nan nan nan nan nan 15 15 14 14 15 17 nan nan nan nan 17 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 22 22 22 23 23 nan nan nan 23 23 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 15 14 15 15 nan nan nan 17 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 22 23 23 23 23 nan nan 23 23 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 15 nan nan nan nan 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 23 23 23 23 23 23 23 23 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 23 24 24 24 24 24 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 24 24 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 24 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 24 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 24 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 23 23 24 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 23 23 23 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 23 23 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 23 23 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 23 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan Wind_Direction nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 14 13 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 5 nan nan nan nan nan 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 350 349 350 350 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 348 348 349 349 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 339 339 nan nan nan nan nan 332 332 332 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 237 214 191 170 159 157 160 168 180 187 190 182 171 160 153 149 146 142 139 134 132 130 128 128 127 126 126 126 127 127 128 129 130 129 129 129 129 129 130 131 133 134 138 139 141 141 139 137 134 130 128 126 125 124 123 123 125 128 130 128 125 122 121 122 119 117 116 114 114 115 120 124 118 108 102 101 102 107 117 132 136 120 110 105 102 101 103 107 109 109 107 105 103 101 99 97 96 95 94 94 94 94 95 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 13 13 nan nan nan nan nan nan nan nan nan nan nan 10 nan nan nan nan nan nan 5 nan nan nan nan nan nan 2 nan nan nan nan 360 0 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 354 355 nan nan nan nan nan nan 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 350 350 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 349 350 351 nan nan nan nan nan nan 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 339 341 342 nan nan nan nan nan 336 336 336 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 208 188 172 168 168 172 182 190 192 190 182 173 165 159 153 147 143 137 133 131 128 127 126 125 125 125 125 126 126 127 128 128 129 129 129 129 129 130 132 135 138 141 143 144 145 144 140 136 133 130 130 129 129 129 130 131 132 131 129 127 126 125 123 120 118 117 118 121 124 123 118 110 105 103 104 108 117 136 150 134 116 104 98 96 100 106 110 110 109 107 105 103 101 98 96 96 95 95 95 95 95 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 5 nan nan nan nan nan nan nan 13 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 6 nan nan nan nan nan nan nan nan nan nan nan nan 359 0 nan nan nan nan 357 357 nan nan nan nan nan nan nan nan nan nan 356 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 356 nan nan nan nan nan nan nan nan nan nan nan nan nan 353 352 351 350 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 350 351 352 352 nan nan nan nan nan 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 340 343 344 nan nan nan nan nan 339 340 340 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 206 196 188 185 187 190 192 195 192 187 180 171 162 153 147 142 136 133 130 127 125 124 124 124 123 123 125 125 127 126 127 127 127 127 127 128 131 133 136 140 143 145 146 146 145 142 138 136 134 133 134 134 134 134 134 134 133 132 130 128 125 123 121 120 121 124 126 125 120 115 109 105 103 104 107 112 118 121 109 98 90 90 93 99 106 110 111 110 108 106 102 99 97 97 97 97 96 96 96 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 8 nan nan nan nan nan nan nan nan nan nan nan nan nan 359 0 nan nan nan nan 357 357 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 357 nan nan nan nan nan nan nan nan nan nan nan nan nan 353 353 352 351 351 351 352 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 352 353 353 nan nan nan nan nan nan 352 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 343 nan nan nan nan nan nan 342 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 249 235 222 213 207 205 204 204 198 195 189 180 167 159 152 146 142 138 133 130 128 125 124 124 124 123 123 123 124 124 124 124 124 125 125 126 128 130 133 137 140 142 143 143 143 143 141 140 138 138 139 139 139 139 138 137 137 135 134 131 129 127 125 124 125 125 127 126 124 119 113 107 102 101 101 98 92 90 90 89 85 86 89 94 101 109 116 117 112 107 102 99 97 97 98 99 99 98 97 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 357 358 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 357 358 nan nan nan nan nan 357 nan nan nan nan nan nan nan nan nan nan nan nan nan 353 353 353 351 351 351 352 353 nan nan nan nan nan nan nan nan nan nan nan nan nan 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 353 nan nan nan nan nan nan nan nan 352 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 344 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 333 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 255 245 238 233 226 217 209 200 nan nan 171 162 154 150 146 143 141 136 133 130 127 126 126 125 124 124 123 122 122 123 123 122 123 124 124 126 128 131 135 140 141 142 142 143 142 141 141 141 142 143 144 143 143 142 140 138 136 134 133 131 130 128 127 128 127 127 125 123 117 110 104 102 109 119 76 57 62 84 86 87 89 93 98 106 120 129 121 109 101 98 97 96 98 100 102 100 97 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 357 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 357 358 nan nan nan nan nan 356 nan nan nan nan nan nan nan nan nan nan nan nan nan nan 354 353 nan 351 351 352 353 nan nan nan nan nan nan nan nan nan nan nan nan 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 353 354 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 336 337 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 167 160 155 152 150 149 146 142 138 135 131 130 128 128 126 126 124 123 122 122 122 122 122 121 122 122 125 128 133 137 141 143 145 144 143 143 143 144 145 147 146 147 145 143 140 137 135 135 133 133 133 131 131 130 130 129 127 123 116 108 106 116 159 125 80 80 90 91 92 93 95 98 102 110 134 134 115 100 95 94 94 96 100 103 102 98 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 358 nan nan nan nan nan nan 355 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 356 358 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 353 353 nan nan 351 352 353 354 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 353 353 354 355 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 344 nan nan nan nan nan nan nan nan nan 338 340 340 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 184 173 168 163 159 158 156 153 149 144 140 137 134 133 131 130 127 126 124 123 122 121 121 120 120 120 120 122 127 132 138 144 146 148 147 147 147 146 146 147 150 149 149 146 142 138 136 135 134 136 137 139 138 137 137 135 134 131 124 116 113 122 157 147 104 92 94 95 95 97 98 99 96 91 75 103 127 101 94 94 93 94 96 100 101 98 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 356 356 nan nan nan nan nan nan nan nan nan nan 357 nan nan nan nan 357 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 353 353 nan nan 351 352 353 353 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 353 354 355 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan 342 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 236 223 211 199 189 180 174 170 167 162 158 153 149 146 143 140 138 135 132 130 128 126 124 123 122 120 120 120 120 120 123 127 133 140 145 148 151 151 149 150 150 150 149 150 150 147 143 139 135 133 133 137 140 144 145 145 144 142 140 140 137 131 127 131 141 135 117 105 101 100 100 100 101 100 93 81 55 64 129 109 100 97 95 95 95 96 95 94 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 7 nan nan nan nan nan nan nan nan nan nan nan nan nan nan 9 9 nan nan nan 9 9 9 nan nan nan 9 nan nan nan nan nan nan nan nan nan nan nan 1 1 nan nan nan nan nan nan 356 357 nan nan nan nan 355 nan nan nan nan nan 356 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 354 353 nan nan 352 352 353 353 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 346 346 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 254 244 235 223 210 195 182 174 169 163 158 155 153 151 148 146 142 139 135 133 131 128 126 124 122 122 122 122 122 123 125 130 134 140 146 149 151 152 153 151 150 148 149 149 148 144 140 135 133 132 133 138 143 148 150 151 150 148 148 148 148 146 145 142 135 126 116 109 107 106 106 106 104 97 87 86 96 115 121 109 102 100 99 97 95 89 85 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 5 nan nan nan nan nan nan nan nan nan nan nan nan nan nan 9 8 nan nan nan 8 9 9 nan nan nan 8 9 nan nan nan nan 6 nan nan nan nan 1 2 2 nan nan nan nan nan nan nan nan nan nan nan nan 356 357 nan nan nan nan 356 358 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 355 355 354 nan 352 352 352 353 353 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 348 nan nan nan nan nan nan nan nan nan nan nan 347 347 348 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 255 243 227 207 190 178 167 160 158 156 156 156 155 151 147 142 140 137 135 132 130 127 127 127 127 127 127 127 129 131 135 140 144 148 151 153 151 150 148 148 149 147 145 141 138 133 132 132 136 140 145 151 156 158 157 155 156 164 171 165 153 140 131 125 119 116 114 113 112 112 108 102 101 108 119 124 115 108 106 106 105 99 83 74 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 9 8 7 nan nan 7 7 8 8 nan nan nan 8 8 nan nan nan nan nan nan nan nan 2 2 3 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 356 357 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 nan nan 353 353 353 354 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 348 nan nan nan nan nan nan nan nan nan nan nan 348 349 350 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 271 261 243 223 201 184 170 162 159 159 161 161 159 156 153 151 149 146 142 138 135 133 132 133 133 133 133 133 133 133 136 139 143 148 150 151 150 148 148 149 150 149 147 143 141 138 136 137 139 145 151 158 162 163 165 170 182 193 190 176 156 142 133 127 125 122 121 121 119 117 116 117 120 123 121 116 114 114 115 116 109 92 80 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 10 10 9 8 nan nan nan 7 7 8 nan nan nan 6 8 nan nan nan nan nan nan nan nan 2 3 4 nan nan nan nan 1 1 nan nan nan nan nan nan nan nan nan nan nan nan 356 358 nan nan nan nan 357 nan nan nan nan nan nan nan nan nan nan nan 357 nan nan nan nan nan nan 356 356 355 nan nan 354 354 354 354 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 348 nan nan nan nan nan nan nan nan nan nan nan 350 350 351 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 289 282 273 261 244 223 201 184 172 165 165 165 167 167 169 168 167 165 160 154 149 144 142 141 141 141 142 141 140 138 137 138 140 144 147 148 148 148 148 150 153 153 153 153 151 149 147 146 146 147 152 156 163 169 174 184 199 205 201 184 165 150 144 138 134 131 129 127 126 126 125 129 131 135 132 128 127 126 125 126 125 112 99 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 7 8 nan nan nan nan 8 9 10 10 8 nan nan 4 7 7 7 nan nan 5 7 nan nan nan nan nan 5 nan nan 3 3 4 nan nan nan 2 2 2 nan nan nan nan nan nan nan nan nan nan nan nan 356 358 nan nan nan nan 357 nan nan nan nan nan nan nan nan nan nan nan 358 nan nan nan nan nan nan 357 357 357 nan nan 355 355 355 355 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 351 351 352 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 297 291 285 276 264 250 233 214 199 188 184 184 184 188 193 193 193 188 182 172 163 159 154 153 153 153 153 151 148 146 143 144 145 146 148 148 150 150 152 153 156 160 162 163 163 160 159 156 153 153 156 164 172 184 198 209 210 200 184 167 157 153 148 144 139 135 133 132 131 133 136 138 140 140 139 138 137 133 130 132 133 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 3 5 6 6 nan nan nan 5 8 10 10 8 nan nan 4 7 8 nan nan nan 6 7 nan nan nan nan 4 nan nan nan 3 4 nan nan nan 2 2 2 2 nan nan nan nan nan nan nan nan nan nan nan 357 359 nan nan nan nan nan nan nan nan nan nan nan 359 nan nan nan nan nan nan nan nan nan nan nan 358 358 357 nan nan 356 356 357 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 350 351 352 353 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 304 301 295 289 282 273 263 251 240 228 222 219 219 220 222 224 222 216 208 199 190 182 176 172 170 170 167 165 160 158 157 155 153 152 152 151 151 153 154 157 162 165 166 168 169 167 164 161 158 159 165 178 190 201 205 200 189 174 164 159 159 157 152 148 144 141 139 139 141 144 145 143 142 139 138 138 134 133 134 133 130 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 4 5 5 nan nan nan 3 6 9 9 7 nan nan 5 8 7 nan nan nan 6 nan nan nan nan 3 4 nan nan nan nan nan nan nan 2 2 2 2 nan nan nan 1 1 2 nan nan nan nan nan 358 359 nan nan nan nan nan nan nan nan nan nan nan 359 nan nan nan nan nan nan nan nan nan nan nan 359 359 358 nan nan 357 357 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 349 350 351 352 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 312 309 305 301 295 290 284 278 272 266 260 256 254 252 250 246 244 241 237 231 223 216 207 201 196 192 188 186 180 176 173 168 165 160 157 156 156 156 158 160 162 163 164 166 167 166 164 164 167 174 182 190 190 182 176 169 164 160 160 163 163 161 159 156 155 153 153 155 156 155 150 145 141 138 137 136 133 131 130 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 1 1 2 3 3 nan nan 359 1 4 7 7 6 nan nan 5 8 7 nan nan nan 5 nan nan 3 3 4 nan nan nan nan nan nan nan 1 1 2 2 nan nan nan 1 2 2 2 nan nan nan nan nan 0 nan nan nan nan nan nan nan nan nan nan 358 359 0 nan nan nan nan nan nan nan nan nan nan nan 360 359 nan 358 358 358 358 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 349 350 351 352 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 316 313 310 306 303 299 296 292 289 285 282 277 274 270 267 265 264 262 258 252 246 235 227 220 214 209 204 199 193 187 180 173 166 163 162 160 160 160 160 158 158 160 159 161 163 169 176 182 184 178 166 155 149 149 152 155 160 165 169 171 171 172 175 176 176 174 171 168 162 154 148 142 140 140 136 131 126 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 2 1 1 2 2 nan nan 360 0 2 4 5 4 nan nan 6 8 6 4 nan 4 5 4 3 3 3 nan nan nan nan nan nan nan 0 1 1 2 nan nan nan 1 2 2 2 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 359 359 0 nan nan nan nan nan nan nan nan nan nan nan 0 0 359 359 358 359 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 351 nan nan nan 350 350 351 351 352 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 320 318 316 313 311 309 306 303 300 297 294 291 288 286 284 282 279 275 270 261 252 243 235 228 222 216 209 202 193 185 178 173 171 170 168 165 161 156 153 153 153 156 159 166 170 174 168 157 148 139 137 137 143 150 158 167 173 180 186 191 194 197 198 195 187 182 174 168 160 152 147 143 138 133 128 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 4 3 2 2 2 nan nan nan 0 0 0 1 2 nan nan 4 5 7 5 nan nan 3 4 4 4 4 nan nan nan nan 4 nan nan 0 0 1 2 nan nan nan nan 2 2 2 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 359 360 0 nan nan nan nan nan nan nan nan nan nan nan 0 1 0 360 359 359 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 352 352 352 352 352 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 322 320 318 316 313 311 308 306 304 302 300 297 294 289 284 277 269 260 250 242 234 226 217 208 200 191 183 180 180 178 176 171 165 158 153 150 150 153 157 162 162 160 153 145 138 135 134 135 139 145 155 167 178 188 197 205 209 212 213 210 203 198 191 185 178 167 156 147 143 137 132 129 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 5 4 3 3 3 nan nan nan 1 1 0 0 nan nan nan 3 5 6 nan nan 3 3 4 4 4 nan nan nan nan nan 4 2 1 0 1 2 nan nan nan nan 1 3 3 nan nan nan nan nan nan nan nan nan nan nan nan 360 nan nan nan 359 360 1 nan nan nan nan nan nan nan nan nan nan nan 0 1 1 0 0 0 1 1 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 353 353 353 354 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 289 282 274 265 256 244 234 221 209 199 189 183 182 182 183 183 180 171 162 154 150 152 155 159 162 159 156 149 144 140 139 140 139 140 145 153 165 178 191 202 210 215 217 217 215 213 210 204 199 189 178 165 155 149 144 140 138 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 5 4 4 4 nan nan nan 0 0 0 360 358 nan nan 358 2 5 6 nan nan 3 4 4 4 nan nan nan nan nan 3 2 2 1 2 2 nan nan nan nan nan 2 3 nan nan nan nan nan 0 1 nan nan nan nan nan 359 358 358 357 358 359 1 nan nan nan nan nan nan nan nan nan nan nan 360 0 1 1 1 1 1 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 355 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 303 298 291 283 273 262 249 234 216 200 187 180 176 178 182 185 185 180 171 164 160 160 167 171 173 171 169 163 157 151 150 151 150 152 153 159 167 178 189 201 209 214 216 217 215 214 211 205 199 193 183 175 166 160 156 153 152 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 5 5 5 5 nan nan nan 359 358 358 358 356 nan 350 354 359 2 nan nan 2 3 4 4 nan nan nan nan nan nan nan nan 2 2 3 nan nan nan nan nan nan 3 nan nan nan nan nan nan nan nan nan nan nan nan 359 359 358 357 357 359 0 nan nan nan nan nan nan nan nan nan nan nan nan 0 1 1 1 1 2 2 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 312 308 302 295 286 276 264 246 224 204 191 183 182 185 190 194 194 192 190 188 192 197 201 204 204 204 196 182 171 164 165 167 171 173 175 176 178 185 194 202 207 210 212 211 207 202 197 191 189 187 185 181 175 171 169 168 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 3 4 5 6 nan nan nan 359 358 357 357 356 354 349 349 352 356 360 nan nan 1 3 3 nan nan nan nan 3 3 nan nan nan 2 3 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 360 359 359 358 359 0 nan nan nan nan nan nan 0 nan nan nan nan nan 0 0 1 1 2 2 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 319 316 313 308 303 295 285 272 259 244 232 224 221 225 229 231 234 239 242 246 248 249 249 248 242 227 205 184 173 173 181 188 192 190 189 185 186 192 197 202 205 205 201 192 187 184 183 187 192 193 193 189 188 187 183 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 5 5 nan nan 0 358 357 357 357 355 353 349 349 351 354 358 nan 359 1 2 2 nan nan nan 1 2 2 nan nan 1 2 3 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 1 1 0 360 360 0 nan nan nan nan nan nan 1 nan nan nan nan 0 0 0 1 2 2 3 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 323 320 318 314 310 305 299 292 287 283 280 278 276 275 274 275 276 278 279 280 279 276 266 249 223 193 176 171 181 192 198 199 198 194 195 199 202 205 205 199 189 178 172 172 178 189 195 200 200 198 200 199 194 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 3 3 nan nan 2 0 359 358 358 357 355 353 351 351 352 353 355 nan 359 1 1 nan nan nan 358 0 1 0 nan nan 0 2 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 1 nan nan 1 1 1 nan nan nan nan 2 2 nan nan nan nan 0 1 2 2 2 3 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 328 326 324 321 319 317 315 314 312 311 308 304 301 297 295 294 294 295 296 296 294 285 271 248 216 184 168 173 181 190 198 199 201 207 214 217 216 208 194 178 166 163 168 180 192 200 202 200 200 201 201 198 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan 1 360 359 359 358 358 356 353 352 352 352 351 353 358 359 0 0 nan nan nan 357 359 359 359 nan nan 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 2 nan nan nan 2 2 3 3 nan nan nan nan 1 3 3 4 4 4 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 329 328 326 324 323 323 323 324 323 319 316 311 307 304 303 303 nan nan nan 298 291 281 262 223 182 nan nan nan nan nan nan nan nan 229 223 209 190 175 165 161 169 185 196 201 199 197 195 197 198 198 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 1 nan nan nan 360 359 359 359 359 358 nan nan 352 351 350 348 350 355 359 360 nan nan nan 354 356 357 357 356 nan nan 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 1 1 2 3 nan nan nan nan 1 3 5 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 183 nan nan nan nan nan 193 195 198 198 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 359 358 nan nan nan 352 350 347 345 346 352 357 358 nan nan nan 353 355 355 355 354 nan 355 nan nan nan nan nan 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 3 nan nan nan nan 2 5 7 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 358 358 nan nan nan nan nan nan 349 347 345 344 348 352 nan nan nan nan 353 354 354 353 nan nan nan nan nan nan nan 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 3 3 nan nan nan 3 5 7 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 346 345 345 345 347 nan nan nan 351 353 354 nan nan nan nan nan nan nan nan nan 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 4 4 5 nan nan 3 5 7 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 345 344 nan nan nan nan 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 4 5 6 6 6 5 5 6 7 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 6 6 7 7 7 7 7 8 9 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 7 8 8 8 8 8 8 9 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 8 8 8 8 9 9 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 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 9 9 9 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 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 8 8 8 9 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 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 8 8 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 5 5 5 6 8 9 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 5 5 6 7 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 5 5 6 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 6 7 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 1 -4 -8 -10 -10 -9 -11 -14 -19 -23 -26 -26 -25 -23 -22 -22 -22 -24 -27 -28 -29 -30 -34 -36 -38 -39 -39 -40 -41 -40 -37 -36 -37 -40 -43 -46 -47 -48 -49 -50 -50 -51 -51 -51 -51 -49 -46 -41 -38 -37 -37 -37 -37 -34 -30 -26 -23 -21 -21 -23 -24 -25 -25 -25 -26 -25 -25 -25 -26 -27 -29 -31 -33 -36 -37 -36 -32 -30 -29 -30 -31 -32 -30 -28 -26 -25 -26 -27 -27 -24 -22 -23 -25 -27 -24 -17 -10 -7 -5 -3 -1 0 0 0 -0 1 2 3 2 0 -1 -1 0 1 -0 -3 -5 -6 -5 -4 -5 -6 -9 -11 -11 -10 -9 -9 -9 -10 -9 -8 -8 -9 -11 -13 -14 -15 -16 -16 -15 -14 -14 -16 -16 -15 -12 -9 -11 -14 -16 -15 -12 -7 -5 -6 -9 -13 -15 -13 -8 -6 -7 -9 -11 -9 -7 -5 -5 -4 -4 -3 -1 -0 -0 -0 -1 -1 -3 -4 -5 -5 -4 -4 -5 -6 -7 -6 -6 -5 -5 -4 -4 -4 -4 -3 -3 -3 -2 -2 -2 -3 -3 -4 -4 -4 -4 -3 -3 -3 -4 -5 -7 -8 -7 -7 -6 -5 -5 -5 -3 -2 -1 -0 -1 -3 -4 -4 -4 -5 -6 -6 -7 -9 -12 -15 -16 -16 -15 -14 -13 -13 -14 -14 -14 -14 -15 -16 -18 -17 -15 -13 -11 -10 -11 -12 -13 -12 -11 -10 -9 -9 -9 -8 -7 -7 -7 -8 -8 -8 -8 -8 -7 -6 -7 -8 -9 -8 -8 -8 -7 -6 -4 -3 -3 -4 -3 -2 -1 1 1 2 2 3 4 4 5 5 6 7 7 8 8 9 10 11 11 12 13 13 14 14 15 16 16 16 15 15 15 15 16 16 16 16 16 16 17 18 19 20 21 22 22 22 22 22 23 24 25 26 27 28 28 27 28 29 30 31 31 32 34 36 38 39 39 38 35 32 29 27 26 27 31 35 39 40 37 32 28 26 25 21 15 9 6 6 10 16 27 41 42 30 12 0 -4 -6 -3 4 11 15 13 13 10 8 8 11 16 19 22 25 27 28 29 29 29 28 27 26 25 24 23 22 -3 -8 -12 -14 -13 -13 -14 -18 -23 -27 -29 -30 -30 -28 -27 -26 -24 -24 -26 -28 -29 -31 -34 -36 -37 -39 -40 -42 -43 -40 -37 -36 -38 -41 -44 -46 -47 -48 -49 -50 -51 -52 -53 -53 -52 -48 -44 -40 -38 -38 -38 -39 -37 -33 -28 -24 -21 -21 -22 -24 -26 -26 -26 -25 -24 -24 -25 -26 -28 -29 -30 -31 -32 -32 -30 -29 -28 -29 -30 -32 -33 -31 -28 -26 -26 -26 -27 -27 -27 -25 -22 -22 -25 -28 -26 -19 -10 -5 -4 -2 -2 -1 -1 0 1 3 2 2 1 -0 -0 1 1 -0 -2 -5 -6 -5 -4 -5 -7 -10 -12 -12 -10 -9 -10 -11 -12 -12 -10 -9 -9 -10 -11 -12 -13 -15 -17 -17 -17 -15 -16 -16 -15 -13 -10 -11 -14 -16 -15 -11 -7 -4 -5 -8 -11 -12 -11 -7 -5 -6 -8 -10 -9 -6 -4 -3 -4 -4 -4 -3 -2 -1 -1 -1 -1 -2 -3 -4 -4 -3 -4 -4 -6 -7 -7 -7 -6 -6 -5 -5 -5 -5 -5 -4 -4 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -5 -6 -7 -7 -7 -6 -6 -5 -4 -3 -1 -0 -0 -1 -3 -4 -3 -2 -2 -2 -3 -4 -6 -10 -13 -15 -14 -12 -11 -11 -11 -12 -12 -12 -12 -13 -14 -15 -15 -13 -10 -9 -9 -11 -14 -15 -14 -13 -11 -10 -11 -12 -12 -13 -13 -13 -14 -15 -15 -15 -14 -13 -11 -12 -14 -14 -13 -11 -11 -11 -9 -7 -6 -6 -6 -6 -5 -3 -2 -1 0 1 1 2 2 2 2 2 3 4 5 6 6 7 8 9 10 11 12 13 14 15 16 16 16 15 15 15 15 15 16 16 15 15 15 15 16 17 18 18 20 21 21 21 21 21 20 21 23 24 26 26 26 26 27 27 28 29 29 29 30 32 34 36 37 37 36 34 31 29 28 29 32 35 38 38 36 34 32 30 26 21 15 12 12 15 20 26 31 34 29 18 6 -2 -4 -6 -4 1 8 16 10 3 -4 -6 -4 2 10 16 20 23 26 28 29 29 28 27 26 26 26 25 25 24 -7 -12 -15 -16 -16 -17 -19 -23 -27 -30 -32 -34 -33 -32 -29 -27 -24 -23 -25 -27 -29 -32 -36 -38 -39 -41 -42 -43 -43 -38 -36 -37 -39 -42 -45 -47 -48 -49 -50 -50 -51 -53 -54 -54 -51 -46 -41 -39 -39 -40 -41 -40 -36 -31 -25 -21 -20 -21 -23 -25 -27 -27 -25 -24 -23 -24 -26 -28 -28 -28 -28 -27 -24 -21 -19 -23 -28 -31 -33 -33 -32 -29 -26 -27 -28 -29 -29 -29 -29 -25 -20 -18 -21 -26 -24 -18 -9 -4 -4 -5 -4 -2 -0 1 2 1 0 -0 -1 -0 1 1 -1 -3 -4 -4 -3 -2 -4 -7 -11 -12 -11 -9 -9 -10 -12 -14 -14 -12 -10 -10 -11 -11 -11 -12 -14 -17 -19 -18 -17 -16 -16 -15 -13 -11 -11 -14 -16 -15 -10 -5 -3 -3 -6 -8 -10 -9 -7 -4 -5 -7 -9 -9 -5 -2 -2 -4 -5 -5 -5 -4 -3 -2 -2 -2 -3 -4 -4 -3 -3 -3 -4 -5 -6 -7 -7 -7 -6 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -4 -3 -2 -1 -1 -1 -2 -3 -4 -4 -2 -1 -0 -0 -1 -4 -8 -11 -12 -12 -10 -9 -9 -10 -11 -11 -12 -12 -12 -12 -13 -12 -10 -7 -6 -8 -11 -15 -16 -16 -13 -11 -10 -12 -14 -16 -17 -18 -18 -19 -21 -21 -21 -20 -18 -17 -18 -19 -20 -18 -15 -14 -14 -12 -11 -9 -9 -8 -8 -7 -6 -4 -2 -2 -1 -1 0 1 1 1 0 0 1 2 3 4 5 5 6 7 8 9 10 12 13 14 15 16 16 15 15 15 15 15 16 15 15 14 14 15 16 16 17 17 18 19 20 20 19 19 18 19 20 22 23 23 23 23 24 24 25 26 26 26 26 28 30 32 34 35 35 34 32 30 29 30 32 35 36 37 36 35 34 31 28 23 19 18 20 23 25 28 28 27 21 13 4 1 2 5 6 7 9 17 6 -10 -20 -18 -11 -2 8 16 22 25 28 29 30 29 27 25 25 26 26 26 26 24 -11 -15 -17 -19 -19 -20 -22 -26 -29 -32 -35 -35 -34 -32 -30 -27 -23 -22 -24 -27 -30 -34 -38 -40 -41 -43 -43 -43 -41 -37 -36 -38 -41 -44 -46 -48 -49 -49 -50 -51 -51 -53 -54 -53 -50 -45 -40 -40 -41 -43 -42 -39 -33 -27 -23 -20 -20 -21 -23 -24 -25 -26 -25 -24 -24 -25 -27 -27 -27 -26 -24 -19 -15 -14 -18 -26 -33 -35 -34 -32 -30 -27 -27 -29 -31 -31 -30 -28 -26 -22 -17 -15 -19 -23 -20 -12 -7 -5 -6 -5 -3 -0 1 1 -0 -1 -2 -1 -1 -0 -1 -3 -4 -4 -3 -2 -1 -3 -7 -10 -11 -9 -7 -7 -9 -12 -14 -13 -12 -11 -11 -11 -11 -11 -12 -15 -18 -19 -19 -17 -16 -15 -14 -12 -11 -11 -13 -16 -14 -9 -4 -1 -1 -4 -5 -7 -7 -6 -4 -3 -5 -7 -7 -5 -2 -2 -4 -6 -7 -7 -6 -5 -3 -3 -3 -4 -4 -3 -3 -3 -3 -4 -4 -5 -5 -6 -6 -6 -6 -6 -6 -7 -7 -7 -6 -6 -5 -5 -4 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -3 -1 -1 -0 -1 -2 -3 -4 -4 -4 -2 -1 1 1 1 -2 -5 -8 -9 -9 -8 -8 -8 -9 -11 -11 -12 -12 -12 -12 -12 -11 -9 -6 -6 -8 -12 -15 -17 -16 -13 -10 -9 -12 -15 -19 -20 -21 -21 -22 -24 -25 -26 -25 -24 -23 -23 -25 -24 -21 -18 -16 -16 -15 -13 -12 -11 -10 -11 -10 -8 -6 -5 -4 -3 -3 -2 -1 -0 0 0 -0 -1 -1 -0 1 2 2 3 3 4 5 6 8 10 12 13 14 15 15 15 15 15 15 15 15 15 14 14 14 15 15 15 16 16 17 18 19 19 18 17 17 17 18 18 19 19 19 19 20 20 21 21 22 22 23 25 27 30 32 32 33 32 30 29 29 30 32 34 36 36 36 36 34 31 28 25 23 23 24 26 26 26 25 23 19 13 7 8 14 21 27 30 31 30 10 -13 -25 -21 -9 2 12 20 27 32 34 34 32 29 26 24 23 25 27 27 26 24 -14 -17 -20 -22 -23 -23 -25 -28 -32 -34 -36 -36 -33 -31 -29 -27 -23 -22 -25 -29 -33 -37 -40 -42 -43 -44 -43 -42 -39 -37 -37 -40 -43 -45 -48 -49 -50 -50 -51 -51 -52 -53 -53 -52 -48 -44 -41 -42 -44 -43 -40 -35 -28 -26 -24 -23 -22 -20 -20 -21 -23 -25 -26 -26 -26 -26 -26 -26 -26 -24 -21 -17 -16 -19 -25 -32 -37 -36 -33 -30 -29 -28 -28 -30 -30 -30 -28 -25 -21 -17 -15 -17 -20 -22 -15 -7 -5 -6 -5 -2 -0 -0 -1 -2 -2 -1 -0 -0 -1 -3 -4 -5 -5 -3 -2 -2 -3 -6 -8 -8 -6 -5 -5 -8 -11 -12 -11 -10 -10 -11 -11 -11 -11 -13 -16 -19 -19 -18 -16 -15 -14 -13 -11 -10 -10 -11 -14 -14 -9 -3 0 0 -2 -4 -5 -5 -5 -3 -3 -4 -6 -6 -4 -2 -1 -4 -6 -7 -7 -6 -5 -5 -3 -3 -3 -4 -3 -2 -3 -3 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -6 -7 -7 -7 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -3 -3 -4 -5 -6 -6 -5 -3 -0 1 1 0 -2 -3 -4 -4 -3 -2 -0 1 1 0 -1 -3 -5 -6 -6 -6 -6 -7 -9 -10 -11 -12 -12 -12 -12 -12 -12 -10 -8 -7 -9 -13 -16 -17 -17 -13 -10 -9 -11 -16 -19 -21 -21 -21 -22 -23 -26 -28 -28 -28 -28 -29 -30 -29 -25 -21 -18 -17 -17 -16 -14 -13 -12 -12 -12 -11 -9 -7 -6 -5 -5 -4 -4 -3 -2 -1 -0 -0 -0 -0 -0 -0 0 0 0 1 1 2 4 5 7 9 11 13 14 15 15 16 16 16 15 15 14 14 14 14 15 15 15 15 16 17 18 18 18 17 16 15 15 15 15 15 15 15 15 15 16 16 17 18 19 20 22 25 27 29 30 30 29 28 26 27 29 31 33 35 36 36 36 34 31 28 26 25 25 25 25 25 24 23 22 19 15 12 14 20 29 36 39 41 51 30 2 -13 -9 3 13 18 24 31 36 36 33 29 26 24 24 23 24 26 27 27 25 -17 -20 -22 -24 -26 -26 -28 -31 -34 -36 -37 -36 -34 -32 -30 -28 -25 -24 -27 -31 -35 -39 -42 -44 -45 -44 -43 -41 -38 -38 -38 -41 -44 -47 -49 -50 -51 -51 -51 -51 -52 -52 -52 -50 -47 -45 -43 -44 -43 -41 -36 -30 -27 -27 -27 -24 -20 -17 -16 -19 -23 -25 -27 -27 -26 -25 -25 -25 -25 -23 -21 -20 -21 -24 -29 -34 -36 -33 -31 -29 -28 -28 -29 -29 -28 -28 -25 -22 -19 -16 -17 -20 -22 -22 -14 -6 -5 -5 -3 -1 -2 -3 -3 -2 -0 1 1 -1 -3 -4 -5 -4 -3 -2 -3 -4 -5 -6 -5 -4 -3 -4 -7 -9 -10 -8 -7 -8 -10 -11 -11 -10 -12 -15 -18 -19 -17 -15 -13 -12 -12 -10 -8 -8 -9 -12 -13 -9 -3 0 0 -2 -3 -4 -4 -4 -3 -3 -4 -4 -4 -3 -1 -1 -3 -6 -6 -6 -5 -4 -4 -4 -3 -3 -4 -3 -2 -2 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -5 -6 -7 -7 -7 -6 -5 -5 -5 -5 -5 -6 -6 -6 -5 -5 -4 -2 -1 -1 -2 -4 -6 -8 -7 -4 -1 2 3 2 0 -2 -3 -4 -4 -2 -1 -0 -0 -1 -1 -2 -2 -3 -3 -4 -4 -6 -8 -9 -10 -10 -10 -10 -10 -11 -12 -11 -10 -9 -11 -14 -16 -17 -16 -14 -11 -11 -13 -16 -18 -20 -20 -19 -19 -21 -24 -27 -28 -29 -30 -32 -33 -32 -28 -23 -20 -19 -20 -19 -17 -15 -13 -13 -14 -12 -10 -9 -8 -8 -8 -7 -6 -5 -4 -3 -2 -1 -0 0 0 0 -0 -1 -2 -2 -2 -1 -0 1 3 5 7 9 11 13 14 15 16 16 16 16 15 15 14 14 14 15 15 15 15 16 16 17 17 17 17 16 15 15 14 14 14 13 13 13 13 13 13 14 15 16 17 19 22 24 25 25 26 26 25 25 25 27 29 32 34 35 36 36 35 32 28 26 25 25 25 25 24 22 22 21 21 19 18 18 20 26 33 39 36 29 28 24 13 13 17 20 21 23 29 32 25 18 13 13 18 23 23 23 25 27 28 26 -21 -23 -25 -27 -28 -28 -30 -33 -36 -38 -39 -38 -36 -35 -34 -32 -29 -28 -30 -35 -39 -43 -45 -47 -47 -45 -43 -41 -39 -39 -41 -43 -46 -48 -49 -51 -51 -51 -51 -51 -51 -51 -50 -48 -46 -45 -45 -44 -41 -37 -32 -28 -27 -28 -27 -23 -18 -16 -16 -20 -23 -25 -25 -24 -23 -24 -24 -24 -23 -23 -22 -22 -23 -25 -28 -30 -31 -30 -29 -28 -28 -28 -28 -28 -27 -26 -24 -21 -19 -18 -19 -20 -21 -21 -14 -7 -5 -5 -4 -3 -4 -4 -3 -1 0 1 -1 -3 -4 -3 -2 -2 -2 -3 -4 -5 -4 -3 -2 -1 -3 -5 -7 -8 -6 -5 -6 -8 -10 -10 -9 -9 -12 -15 -17 -15 -13 -12 -12 -11 -10 -8 -7 -8 -11 -12 -10 -4 -0 -1 -3 -5 -6 -5 -4 -3 -3 -3 -4 -3 -2 -0 -0 -2 -5 -6 -4 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -3 -3 -2 -2 -4 -7 -8 -7 -6 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -4 -2 -0 1 -0 -3 -6 -8 -9 -6 -3 0 2 2 1 -1 -2 -3 -4 -3 -2 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -4 -6 -7 -8 -8 -8 -7 -7 -8 -10 -11 -11 -12 -13 -14 -15 -16 -15 -14 -12 -13 -14 -16 -17 -17 -16 -16 -16 -18 -21 -24 -26 -28 -29 -31 -33 -33 -29 -24 -21 -20 -22 -22 -20 -17 -15 -14 -14 -13 -12 -11 -11 -11 -11 -10 -9 -8 -7 -5 -4 -3 -1 -0 1 1 1 0 -1 -2 -3 -3 -2 -1 -0 1 2 4 6 8 11 12 14 15 16 16 16 16 15 15 14 14 15 15 16 16 15 15 16 17 17 17 16 16 15 14 14 14 13 13 12 12 12 12 12 13 14 15 17 19 20 20 20 21 22 23 23 24 25 27 30 32 34 36 36 34 31 27 25 24 24 25 25 23 22 22 23 24 24 22 20 19 21 27 33 29 21 19 21 19 19 19 16 14 16 22 21 12 8 7 9 16 22 22 21 23 25 27 27 -25 -26 -28 -29 -30 -30 -33 -35 -38 -40 -41 -42 -41 -40 -38 -34 -31 -32 -35 -39 -43 -46 -48 -49 -48 -45 -43 -42 -41 -42 -43 -45 -47 -48 -49 -50 -51 -52 -51 -51 -51 -50 -49 -47 -46 -45 -44 -42 -38 -33 -29 -27 -28 -27 -24 -21 -18 -18 -19 -22 -22 -22 -20 -19 -20 -21 -21 -21 -21 -21 -21 -21 -21 -22 -24 -26 -28 -28 -29 -29 -29 -28 -28 -28 -27 -26 -23 -21 -20 -21 -22 -20 -18 -19 -14 -7 -5 -5 -5 -5 -6 -5 -4 -3 -2 -2 -3 -3 -2 -1 -0 -1 -2 -3 -3 -3 -1 -0 -0 -1 -3 -5 -5 -4 -4 -5 -6 -8 -8 -7 -7 -9 -12 -14 -13 -11 -11 -12 -12 -11 -9 -7 -8 -10 -12 -11 -6 -2 -3 -6 -8 -9 -7 -5 -3 -3 -3 -4 -3 -1 1 1 -2 -5 -5 -3 0 1 1 0 -1 -1 -2 -3 -3 -3 -4 -4 -2 -1 -1 -1 -1 -1 -1 -1 -3 -6 -9 -8 -6 -3 -2 -2 -3 -4 -4 -4 -4 -4 -3 -3 -3 -2 -1 -0 -1 -3 -6 -8 -9 -7 -4 -1 1 1 1 -1 -2 -3 -4 -4 -3 -2 -1 -1 -1 -1 -0 0 -0 -1 -2 -3 -4 -4 -5 -5 -4 -4 -3 -4 -6 -8 -11 -13 -14 -15 -14 -14 -13 -13 -13 -14 -16 -17 -17 -15 -14 -13 -14 -16 -19 -22 -24 -26 -27 -29 -30 -30 -28 -23 -20 -21 -23 -24 -23 -19 -16 -15 -15 -14 -13 -13 -13 -13 -13 -12 -11 -10 -8 -7 -6 -5 -3 -2 -0 1 1 1 0 -0 -1 -2 -2 -2 -1 -1 -0 1 2 4 6 8 10 12 14 15 16 16 16 16 16 15 14 14 14 15 15 15 15 15 15 16 16 16 15 15 15 15 14 14 13 13 12 12 12 11 11 12 13 14 15 15 15 15 16 17 19 21 22 24 26 28 29 31 33 34 33 29 25 23 22 23 23 23 23 22 23 24 26 27 25 22 21 22 26 27 26 23 21 19 17 15 12 9 7 8 15 9 5 9 19 28 28 26 22 19 19 20 23 24 -29 -30 -30 -31 -32 -33 -36 -38 -41 -43 -45 -47 -47 -45 -41 -38 -36 -36 -40 -44 -47 -48 -49 -49 -48 -45 -43 -41 -42 -43 -45 -47 -47 -48 -49 -50 -51 -51 -51 -51 -50 -49 -48 -47 -46 -45 -43 -39 -35 -31 -28 -27 -26 -24 -22 -20 -21 -21 -22 -20 -18 -15 -14 -14 -16 -18 -19 -18 -18 -18 -18 -17 -17 -18 -20 -23 -26 -29 -30 -30 -29 -28 -28 -28 -27 -25 -22 -21 -22 -23 -23 -20 -16 -16 -11 -7 -6 -6 -7 -7 -7 -6 -6 -5 -5 -4 -4 -2 -0 1 1 -0 -2 -2 -1 0 1 0 -1 -2 -3 -3 -3 -3 -4 -5 -7 -7 -6 -5 -6 -9 -11 -11 -10 -10 -12 -14 -13 -11 -8 -8 -10 -12 -12 -8 -4 -5 -10 -12 -12 -9 -5 -3 -3 -5 -5 -4 -1 2 1 -1 -4 -4 -1 3 4 4 3 1 -0 -0 -1 -2 -2 -3 -4 -3 -1 0 0 -0 0 1 0 -2 -5 -8 -9 -6 -3 -1 -1 -2 -3 -3 -2 -2 -2 -1 -1 -1 -1 -1 -1 -2 -4 -6 -7 -7 -5 -2 -0 1 1 -0 -2 -3 -4 -4 -3 -3 -2 -1 -0 -0 0 0 1 1 1 -0 -1 -1 -2 -2 -3 -2 -1 -0 -0 -2 -5 -8 -11 -13 -14 -12 -11 -11 -11 -12 -14 -16 -17 -16 -14 -12 -11 -12 -14 -17 -20 -22 -24 -25 -26 -26 -25 -23 -20 -18 -20 -23 -25 -25 -21 -18 -17 -16 -15 -15 -14 -15 -15 -15 -14 -13 -11 -9 -8 -6 -5 -4 -3 -1 -0 0 1 1 1 1 0 -0 -0 -1 -0 -0 0 0 1 1 3 4 7 9 11 13 14 16 16 17 16 16 15 14 13 14 14 14 14 14 14 14 13 14 14 14 14 15 15 14 14 13 13 12 12 11 10 10 10 11 11 11 11 11 12 13 15 17 19 22 24 26 27 28 29 30 29 27 23 21 21 21 21 21 21 22 24 26 27 27 26 24 24 25 26 26 26 26 24 21 17 12 7 4 2 3 5 -1 -1 15 40 55 45 31 19 14 15 15 16 15 -32 -32 -33 -34 -35 -37 -39 -41 -44 -47 -49 -50 -49 -47 -44 -43 -42 -42 -45 -47 -48 -49 -49 -50 -48 -45 -43 -42 -43 -45 -46 -46 -47 -47 -48 -50 -51 -51 -50 -50 -49 -48 -48 -48 -46 -43 -40 -37 -34 -32 -29 -27 -24 -22 -21 -22 -23 -23 -20 -16 -11 -9 -9 -11 -14 -15 -15 -14 -14 -14 -14 -13 -14 -15 -19 -23 -26 -28 -30 -30 -29 -28 -28 -28 -26 -24 -22 -22 -23 -24 -22 -19 -15 -13 -7 -7 -7 -7 -7 -8 -8 -7 -7 -7 -6 -5 -3 -1 1 2 1 0 0 1 1 1 0 -1 -1 -2 -2 -2 -2 -3 -5 -6 -6 -5 -5 -6 -8 -9 -10 -9 -9 -12 -15 -15 -12 -9 -8 -10 -13 -12 -9 -6 -6 -11 -15 -14 -10 -5 -2 -3 -6 -7 -5 -1 2 2 -0 -3 -3 0 4 6 6 4 2 0 0 1 0 -0 -1 -2 -2 -1 1 1 1 1 2 2 -0 -4 -7 -9 -7 -3 -1 -1 -2 -3 -2 -2 -1 -1 -0 0 1 1 0 -1 -2 -4 -5 -5 -4 -2 0 2 2 1 -1 -3 -5 -5 -5 -4 -2 -1 0 1 1 1 1 2 3 3 2 1 1 0 -0 -1 -0 0 1 1 0 -2 -6 -9 -11 -11 -9 -8 -8 -9 -11 -13 -16 -17 -16 -13 -11 -10 -11 -13 -15 -17 -20 -22 -23 -23 -22 -21 -19 -18 -17 -19 -22 -24 -25 -22 -19 -18 -17 -16 -15 -15 -16 -17 -17 -16 -14 -12 -9 -7 -6 -5 -4 -3 -2 -1 -0 0 0 1 1 2 2 1 1 1 1 1 1 0 0 0 1 2 4 6 8 10 13 14 16 17 17 16 16 14 13 13 13 13 13 13 13 12 12 11 11 12 13 14 14 14 14 13 13 13 12 11 10 8 8 8 8 9 9 9 10 10 12 13 16 18 21 23 24 24 25 25 25 24 22 20 19 19 18 18 19 21 23 25 27 26 25 24 23 23 24 25 26 26 25 23 18 11 6 3 2 3 4 2 10 28 47 56 48 27 8 1 7 12 11 4 -35 -35 -35 -37 -39 -41 -42 -44 -46 -49 -51 -51 -50 -47 -46 -47 -48 -48 -49 -50 -50 -50 -50 -50 -48 -46 -45 -45 -46 -46 -46 -46 -46 -46 -47 -49 -50 -49 -49 -49 -48 -48 -49 -47 -45 -41 -38 -35 -34 -33 -30 -26 -23 -22 -23 -24 -23 -21 -16 -10 -6 -6 -8 -10 -11 -11 -10 -10 -10 -10 -10 -11 -12 -15 -18 -21 -24 -25 -26 -27 -27 -28 -27 -26 -25 -24 -23 -22 -24 -24 -21 -17 -14 -13 -6 -6 -7 -7 -7 -8 -8 -8 -8 -8 -7 -5 -3 -1 1 1 1 1 2 1 1 0 -1 -2 -2 -1 -1 -2 -3 -4 -5 -6 -5 -4 -6 -8 -9 -9 -8 -8 -10 -14 -15 -12 -9 -8 -10 -13 -14 -10 -7 -6 -10 -15 -14 -10 -4 -1 -2 -6 -8 -7 -2 2 3 0 -2 -2 1 5 7 7 5 2 1 1 1 2 1 1 -0 -1 -0 1 1 1 1 2 2 0 -3 -6 -8 -6 -3 -1 -0 -2 -3 -3 -3 -2 -1 -1 0 1 1 1 0 -1 -2 -3 -3 -2 0 2 3 3 2 -0 -3 -5 -5 -5 -3 -2 0 1 2 2 2 2 3 4 4 4 3 3 2 2 1 2 2 2 2 1 -2 -5 -7 -8 -7 -6 -5 -6 -7 -9 -11 -13 -14 -13 -12 -11 -10 -11 -12 -13 -15 -17 -19 -21 -21 -20 -19 -18 -17 -17 -18 -20 -23 -23 -22 -20 -19 -18 -16 -16 -16 -16 -17 -17 -17 -15 -13 -10 -7 -5 -4 -3 -3 -2 -2 -1 -0 0 1 1 2 2 2 2 2 2 2 1 1 1 1 0 0 1 2 3 5 8 11 13 15 17 17 18 17 16 15 14 13 14 14 13 13 12 11 10 10 10 11 12 13 13 13 13 13 13 13 11 10 8 7 6 7 7 8 8 9 9 9 10 12 14 17 20 21 21 21 21 21 22 21 20 19 18 17 17 18 20 22 24 24 24 22 21 19 19 21 24 26 27 27 25 19 13 8 5 5 6 7 7 10 17 25 31 27 11 -3 -7 6 20 16 1 -39 -39 -39 -40 -41 -43 -45 -46 -48 -50 -51 -51 -50 -49 -49 -50 -51 -51 -51 -51 -51 -51 -51 -50 -48 -47 -47 -47 -47 -47 -46 -45 -45 -45 -46 -48 -48 -48 -48 -48 -48 -48 -48 -46 -43 -39 -36 -35 -35 -33 -30 -25 -23 -24 -24 -24 -21 -17 -11 -7 -5 -6 -8 -9 -9 -8 -6 -6 -6 -6 -8 -10 -12 -15 -17 -18 -19 -20 -21 -23 -25 -26 -26 -25 -24 -23 -22 -22 -24 -23 -19 -14 -12 -13 -7 -7 -7 -7 -6 -6 -6 -6 -7 -7 -7 -5 -3 -1 0 1 2 2 1 -0 -1 -1 -1 -1 -1 -2 -2 -3 -4 -4 -5 -4 -4 -5 -8 -9 -9 -7 -7 -9 -13 -14 -11 -8 -6 -9 -13 -15 -12 -7 -6 -8 -13 -14 -9 -2 1 1 -5 -9 -8 -3 1 3 0 -2 -2 1 5 7 7 5 3 1 0 1 1 2 1 1 0 0 2 2 1 1 1 1 0 -3 -6 -6 -5 -2 1 1 -1 -3 -4 -4 -2 -2 -1 -1 -1 -0 -0 -0 -1 -1 -1 -1 0 1 2 3 2 1 -1 -2 -4 -4 -4 -2 -1 1 2 2 2 2 3 4 5 6 6 6 5 4 3 3 4 4 4 3 1 -1 -4 -6 -6 -5 -4 -4 -4 -6 -7 -8 -9 -9 -9 -9 -10 -11 -12 -12 -12 -12 -14 -16 -18 -19 -19 -18 -17 -17 -16 -16 -18 -21 -22 -21 -20 -18 -17 -16 -15 -15 -16 -17 -17 -16 -15 -14 -11 -9 -6 -4 -3 -3 -3 -2 -2 -1 -0 0 1 1 2 1 1 1 1 2 2 2 2 1 1 1 0 0 1 2 3 6 9 12 14 16 18 19 19 19 18 16 16 15 15 15 14 13 12 11 10 10 10 10 11 11 12 12 13 13 13 12 11 9 7 6 6 6 7 7 8 8 8 8 9 11 13 15 17 17 17 18 19 20 20 20 19 18 17 17 17 18 19 19 19 18 17 16 14 14 17 21 25 28 29 25 19 14 11 9 9 11 11 11 14 18 23 23 17 7 -2 2 23 39 35 16 -44 -43 -43 -44 -44 -45 -47 -48 -49 -50 -50 -51 -50 -50 -51 -52 -53 -53 -52 -51 -50 -50 -50 -49 -49 -48 -48 -48 -48 -48 -46 -45 -44 -44 -45 -46 -47 -47 -48 -48 -48 -48 -46 -43 -40 -38 -37 -37 -36 -33 -28 -25 -24 -25 -25 -22 -18 -14 -10 -8 -8 -8 -8 -8 -7 -5 -3 -2 -2 -5 -8 -11 -12 -13 -14 -13 -13 -14 -16 -19 -22 -24 -23 -22 -21 -20 -21 -24 -26 -24 -18 -13 -11 -14 -7 -7 -7 -5 -5 -4 -5 -6 -6 -6 -5 -4 -3 -1 0 1 1 -0 -2 -2 -2 -1 -1 -2 -3 -4 -4 -4 -4 -4 -3 -3 -4 -6 -8 -8 -6 -5 -8 -12 -13 -10 -6 -5 -7 -12 -15 -13 -7 -5 -7 -11 -14 -9 -2 2 2 -3 -9 -9 -4 0 2 -0 -3 -3 0 4 7 7 5 3 1 -0 -0 0 1 1 0 0 1 2 2 2 1 0 0 -1 -3 -5 -5 -4 -1 2 2 0 -2 -4 -4 -3 -2 -2 -2 -2 -1 -1 -1 -1 -2 -1 -1 0 1 2 2 1 -1 -2 -3 -3 -3 -2 -0 1 2 2 2 3 3 4 5 7 8 8 7 6 6 5 6 6 7 6 5 3 -0 -3 -5 -5 -4 -3 -2 -3 -5 -6 -6 -6 -6 -6 -7 -9 -11 -12 -11 -10 -10 -12 -14 -16 -17 -17 -17 -17 -16 -15 -14 -15 -17 -19 -20 -19 -17 -16 -15 -14 -14 -15 -16 -16 -15 -15 -14 -12 -10 -7 -5 -4 -3 -3 -3 -3 -3 -2 -1 -0 0 1 1 1 1 1 2 2 2 2 2 2 1 1 1 1 1 1 2 4 7 9 13 15 18 20 21 21 21 20 19 18 18 17 16 15 14 13 12 11 11 10 10 10 11 11 12 13 13 13 12 11 9 8 7 6 6 7 7 8 8 7 8 8 10 12 13 14 14 15 16 17 18 18 18 17 16 16 16 16 15 13 12 11 10 10 9 8 13 19 25 27 27 23 19 16 15 15 15 15 15 16 19 23 28 31 26 17 12 23 45 55 48 30 -47 -47 -46 -46 -46 -46 -47 -48 -49 -50 -51 -50 -51 -52 -52 -53 -53 -52 -51 -50 -49 -49 -49 -48 -49 -48 -48 -48 -47 -47 -46 -45 -44 -43 -43 -44 -45 -47 -48 -48 -47 -46 -44 -42 -41 -40 -40 -39 -35 -31 -27 -25 -25 -25 -23 -20 -16 -14 -12 -10 -10 -9 -9 -8 -7 -4 -1 -1 -2 -5 -9 -11 -12 -11 -10 -10 -9 -10 -12 -16 -19 -21 -21 -18 -16 -18 -22 -27 -29 -25 -18 -13 -12 -16 -9 -7 -6 -4 -3 -4 -5 -5 -4 -4 -4 -3 -2 -1 -0 -0 -1 -3 -3 -2 -1 -1 -2 -3 -4 -5 -5 -5 -5 -4 -3 -3 -5 -6 -7 -4 -4 -7 -11 -13 -10 -5 -3 -6 -11 -14 -13 -7 -4 -4 -9 -12 -11 -4 1 1 -2 -7 -10 -5 -1 1 -1 -4 -4 -1 4 6 6 5 2 1 -0 -0 -0 -0 -1 -1 -1 -0 1 2 3 2 1 0 -1 -3 -5 -5 -3 -0 2 3 1 -1 -3 -4 -3 -2 -2 -2 -1 -1 -1 -1 -1 -2 -2 -1 -1 0 0 -0 -1 -2 -3 -3 -3 -2 -1 1 3 4 4 4 4 4 5 6 8 9 9 9 8 7 7 8 8 9 9 7 4 1 -2 -4 -4 -3 -1 -1 -2 -4 -4 -4 -3 -3 -4 -6 -8 -10 -11 -10 -9 -9 -10 -12 -14 -15 -15 -16 -16 -15 -14 -12 -11 -13 -15 -17 -18 -16 -14 -13 -13 -13 -14 -15 -14 -14 -13 -13 -12 -10 -8 -6 -5 -4 -4 -3 -3 -3 -3 -2 -2 -1 -1 -0 1 1 2 3 3 3 3 3 3 2 2 2 1 1 1 2 2 3 5 7 10 13 16 19 20 22 23 23 22 21 20 19 18 17 17 16 15 14 13 12 12 11 11 10 11 12 13 14 14 13 12 10 9 8 7 7 7 7 7 8 8 8 9 9 10 11 12 12 13 14 14 15 14 14 13 13 12 11 10 7 5 4 4 4 3 4 9 17 23 25 22 19 18 19 20 20 21 20 19 20 23 26 29 29 24 21 24 38 49 48 40 27 -51 -49 -48 -47 -46 -45 -46 -48 -49 -51 -51 -51 -51 -52 -52 -52 -52 -51 -51 -50 -49 -48 -48 -48 -48 -48 -47 -47 -46 -46 -45 -43 -42 -40 -41 -43 -45 -47 -48 -47 -46 -45 -44 -43 -43 -42 -41 -38 -33 -29 -26 -25 -26 -24 -21 -18 -15 -14 -13 -12 -11 -10 -9 -9 -7 -4 -2 -2 -4 -7 -10 -10 -10 -9 -9 -8 -7 -8 -10 -13 -16 -19 -19 -15 -13 -15 -22 -28 -31 -27 -20 -14 -15 -18 -10 -7 -5 -3 -3 -4 -5 -4 -3 -3 -4 -4 -4 -3 -2 -2 -3 -4 -3 -1 -1 -1 -3 -4 -5 -5 -5 -5 -5 -5 -4 -4 -5 -5 -4 -3 -6 -10 -12 -11 -6 -4 -6 -10 -13 -12 -7 -2 -2 -6 -10 -12 -8 -2 -1 -3 -8 -10 -6 -1 -0 -2 -5 -5 -2 3 5 5 4 2 -0 -1 -1 -1 -1 -2 -2 -3 -2 -1 1 3 2 1 1 -0 -2 -4 -4 -2 -0 2 3 2 -1 -3 -4 -3 -2 -1 -1 -1 -1 -0 0 -0 -0 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -1 0 2 4 5 5 6 6 6 7 8 9 10 10 9 9 9 9 10 10 11 10 8 5 2 -0 -1 -1 0 1 1 -0 -2 -2 -2 -1 -1 -2 -4 -7 -9 -9 -9 -8 -7 -9 -10 -11 -12 -12 -12 -13 -13 -11 -9 -7 -8 -11 -14 -15 -15 -13 -12 -11 -12 -13 -13 -13 -12 -11 -11 -11 -10 -8 -7 -6 -5 -4 -4 -3 -3 -3 -3 -2 -2 -2 -1 0 1 3 4 4 5 5 5 5 4 4 4 3 3 3 3 3 3 3 3 5 7 10 13 16 19 21 22 23 23 23 22 21 21 20 19 19 18 17 16 16 15 14 13 12 11 11 12 13 14 15 15 13 12 10 9 8 8 8 8 8 8 8 8 9 9 9 10 10 11 11 11 11 10 10 9 8 7 6 5 2 0 -1 -1 -0 -1 0 7 15 21 21 18 17 20 23 26 27 27 25 23 23 25 27 28 26 24 25 32 42 44 40 32 22 -52 -50 -48 -46 -45 -45 -46 -48 -50 -51 -51 -51 -51 -51 -51 -51 -51 -51 -51 -51 -49 -48 -47 -47 -47 -47 -46 -46 -45 -44 -43 -41 -39 -38 -40 -43 -45 -46 -46 -46 -45 -44 -43 -43 -43 -42 -39 -35 -31 -28 -26 -26 -25 -22 -18 -16 -15 -14 -13 -12 -11 -10 -10 -9 -8 -6 -5 -5 -7 -9 -10 -9 -8 -8 -8 -9 -8 -6 -7 -10 -14 -17 -17 -13 -11 -14 -21 -28 -31 -28 -22 -17 -17 -20 -11 -7 -4 -3 -4 -5 -4 -3 -3 -4 -5 -7 -7 -5 -4 -3 -3 -3 -2 -1 -1 -2 -4 -4 -4 -4 -5 -6 -6 -6 -5 -5 -5 -4 -3 -5 -8 -11 -10 -8 -5 -7 -10 -11 -10 -6 -1 -0 -3 -8 -11 -11 -6 -3 -5 -9 -11 -8 -2 -0 -2 -5 -5 -2 3 5 4 3 1 -1 -2 -1 -1 -1 -2 -3 -4 -4 -3 -1 1 2 1 1 -0 -1 -2 -3 -1 0 2 3 2 -1 -3 -3 -3 -2 -1 -1 -1 -1 -0 0 0 0 0 0 0 0 -0 -1 -1 -1 -0 0 1 1 2 3 4 5 6 7 7 8 8 9 10 11 11 11 10 10 10 11 11 11 11 9 7 4 2 1 1 3 4 3 2 1 1 1 2 2 -0 -3 -6 -7 -7 -6 -5 -5 -7 -8 -9 -9 -8 -8 -8 -9 -7 -5 -4 -4 -7 -11 -12 -12 -11 -10 -9 -10 -11 -11 -11 -10 -10 -10 -9 -9 -7 -6 -5 -5 -4 -4 -3 -2 -2 -2 -2 -2 -2 -1 -0 1 3 4 5 6 6 6 6 6 6 6 6 5 5 5 5 4 4 4 4 4 6 8 11 14 17 19 20 22 23 23 23 23 23 22 21 21 20 20 19 19 18 17 16 15 14 14 13 14 15 16 17 16 15 13 11 10 9 8 8 8 8 8 8 8 8 8 9 9 9 9 9 8 7 6 5 4 2 1 -0 -2 -3 -3 -3 -3 -2 1 7 14 18 17 15 17 21 26 30 32 31 29 26 24 25 26 27 25 24 27 34 40 41 38 31 22 -52 -49 -46 -44 -44 -45 -47 -48 -49 -50 -51 -51 -51 -50 -49 -49 -50 -51 -52 -51 -49 -48 -47 -47 -47 -46 -46 -45 -44 -42 -41 -39 -37 -37 -39 -42 -44 -44 -44 -44 -44 -43 -43 -43 -42 -40 -37 -32 -29 -27 -26 -25 -22 -19 -16 -15 -15 -14 -12 -11 -10 -11 -11 -11 -10 -8 -8 -8 -9 -10 -9 -7 -6 -8 -9 -9 -8 -6 -6 -8 -12 -16 -17 -13 -10 -13 -20 -28 -29 -28 -23 -19 -19 -20 -10 -6 -5 -4 -5 -5 -3 -3 -4 -6 -8 -10 -9 -7 -5 -4 -2 -2 -1 -2 -3 -3 -3 -3 -3 -3 -4 -5 -6 -6 -6 -5 -5 -4 -5 -7 -9 -10 -8 -6 -7 -10 -10 -8 -4 0 2 -0 -5 -9 -11 -8 -4 -5 -8 -11 -9 -4 0 -1 -3 -3 -1 2 4 3 2 -0 -2 -3 -2 -1 -1 -1 -2 -4 -4 -4 -3 -0 1 1 -0 -1 -1 -2 -2 -1 1 2 2 2 -0 -3 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -0 0 1 1 1 1 1 2 2 3 3 4 4 5 6 6 7 7 8 8 9 10 11 11 12 12 12 11 12 12 12 12 11 10 8 6 4 3 4 5 6 6 5 5 4 5 5 4 1 -2 -4 -6 -5 -4 -2 -2 -3 -5 -6 -6 -4 -4 -3 -4 -3 -2 -1 -2 -5 -8 -10 -10 -9 -8 -7 -8 -8 -9 -9 -9 -8 -8 -8 -7 -6 -5 -4 -4 -3 -2 -2 -2 -1 -1 -1 -1 -0 -0 0 1 2 3 4 5 6 6 6 7 7 7 7 7 7 7 7 7 6 6 5 5 5 6 8 10 12 15 17 19 20 22 23 24 24 24 23 23 23 22 22 22 21 21 20 20 19 18 17 17 16 17 18 19 19 18 17 14 12 10 8 8 7 7 7 7 7 7 7 7 8 8 8 8 7 5 4 2 -0 -2 -3 -4 -5 -5 -4 -3 -1 1 5 9 13 14 14 14 17 22 27 31 33 32 30 27 24 24 25 25 24 23 25 31 36 38 37 31 23 -50 -47 -44 -43 -44 -45 -47 -48 -50 -51 -51 -51 -51 -49 -48 -48 -49 -50 -51 -51 -50 -48 -47 -46 -46 -45 -45 -44 -42 -41 -39 -37 -36 -37 -39 -42 -42 -43 -43 -43 -43 -43 -42 -41 -39 -37 -33 -30 -28 -27 -25 -23 -19 -16 -14 -14 -13 -12 -11 -10 -10 -12 -13 -13 -12 -10 -10 -10 -10 -9 -7 -6 -6 -8 -9 -9 -7 -5 -6 -9 -13 -17 -17 -12 -10 -13 -20 -27 -28 -26 -23 -20 -19 -18 -9 -7 -6 -6 -6 -5 -4 -4 -6 -9 -11 -11 -9 -7 -5 -3 -2 -2 -3 -4 -5 -4 -3 -2 -2 -2 -3 -4 -5 -6 -6 -5 -5 -5 -6 -7 -8 -8 -7 -7 -9 -9 -7 -2 2 4 2 -2 -7 -9 -8 -4 -3 -6 -10 -10 -5 0 1 -1 -1 -0 2 4 3 1 -1 -2 -3 -2 -1 -1 -1 -2 -3 -4 -5 -4 -2 -1 -0 -1 -2 -3 -3 -3 -2 0 1 2 1 -1 -3 -4 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -2 -1 -0 0 1 2 2 3 3 4 4 4 5 6 7 7 7 8 8 8 9 10 11 12 12 12 13 13 13 13 13 12 11 10 9 7 6 6 6 6 7 7 8 8 8 8 7 5 2 -2 -4 -5 -3 -1 1 2 1 -1 -3 -2 -1 -0 0 0 0 1 0 -1 -3 -6 -8 -8 -7 -6 -5 -5 -5 -6 -7 -7 -7 -7 -7 -6 -5 -4 -3 -3 -2 -1 -1 -0 -0 0 0 0 1 1 1 2 2 2 3 4 5 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 10 11 14 16 18 19 21 22 23 24 24 25 25 25 24 24 23 23 23 23 22 22 21 20 20 19 19 20 20 20 20 19 16 14 11 9 7 6 6 5 5 5 5 5 5 6 7 7 7 6 4 2 -1 -3 -4 -5 -6 -7 -6 -5 -2 1 4 7 9 10 11 11 13 16 21 25 29 31 29 27 25 23 23 23 23 22 21 23 28 33 35 35 30 23 -50 -47 -46 -45 -46 -47 -47 -49 -50 -51 -51 -51 -50 -49 -48 -48 -48 -49 -50 -50 -49 -48 -47 -46 -46 -45 -43 -42 -41 -40 -38 -36 -35 -37 -39 -40 -41 -42 -42 -42 -43 -42 -41 -39 -36 -33 -30 -28 -27 -26 -23 -20 -16 -13 -12 -12 -12 -11 -10 -10 -11 -12 -14 -14 -13 -12 -11 -11 -10 -8 -6 -6 -7 -9 -10 -9 -7 -6 -8 -11 -15 -18 -16 -11 -9 -13 -19 -24 -24 -23 -22 -21 -19 -15 -9 -8 -7 -6 -5 -4 -5 -7 -10 -12 -12 -10 -8 -7 -5 -3 -2 -3 -5 -7 -7 -5 -3 -2 -1 -2 -3 -3 -4 -4 -5 -5 -5 -6 -6 -6 -6 -6 -6 -7 -8 -5 -1 3 4 3 -1 -5 -8 -7 -4 -2 -4 -8 -9 -6 -1 3 2 1 1 3 4 4 1 -1 -2 -3 -2 -1 -1 -1 -2 -3 -4 -6 -6 -4 -3 -2 -3 -5 -6 -6 -5 -4 -2 -0 0 -0 -2 -3 -4 -3 -2 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -1 0 1 2 3 3 4 4 5 5 6 7 7 8 8 8 8 9 10 10 11 12 12 13 13 14 14 14 13 12 11 10 9 8 8 8 8 8 9 9 10 11 11 10 7 3 -1 -2 -3 -1 1 4 5 5 4 2 1 1 2 2 2 3 3 2 0 -2 -5 -6 -7 -6 -5 -4 -3 -2 -3 -4 -5 -5 -5 -5 -5 -4 -4 -3 -2 -1 -0 1 1 1 2 2 2 2 2 2 2 2 2 2 3 4 5 5 5 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 8 8 9 11 12 14 16 18 20 21 23 24 25 25 26 26 26 26 25 25 24 24 24 23 23 22 22 21 21 22 22 22 21 20 18 15 12 10 7 5 4 3 2 2 2 2 2 3 4 5 5 5 3 0 -2 -5 -6 -6 -7 -7 -6 -4 -2 1 4 6 7 8 8 8 10 13 17 22 25 25 24 22 20 20 21 22 21 20 18 20 26 31 34 33 30 24 -52 -49 -48 -47 -47 -48 -49 -50 -51 -51 -50 -50 -50 -49 -49 -48 -48 -48 -49 -49 -48 -47 -46 -46 -45 -44 -42 -41 -39 -38 -36 -34 -35 -36 -39 -40 -41 -41 -42 -42 -42 -41 -39 -36 -33 -30 -28 -27 -25 -23 -20 -16 -13 -11 -10 -11 -10 -10 -10 -10 -11 -12 -13 -13 -13 -12 -11 -10 -9 -7 -7 -7 -9 -10 -10 -9 -9 -9 -11 -15 -18 -19 -14 -8 -8 -11 -17 -20 -19 -17 -20 -22 -20 -14 -10 -9 -7 -5 -5 -5 -8 -11 -13 -13 -10 -7 -7 -6 -5 -4 -4 -5 -8 -9 -7 -5 -3 -2 -2 -2 -2 -2 -2 -2 -3 -4 -5 -6 -5 -4 -4 -5 -5 -5 -2 1 4 5 4 0 -4 -7 -6 -3 -1 -2 -7 -9 -6 -1 3 4 3 3 4 5 4 2 -0 -2 -2 -2 -1 -1 -1 -2 -3 -4 -6 -7 -6 -5 -4 -5 -6 -8 -7 -7 -6 -4 -3 -2 -2 -3 -4 -5 -4 -2 -2 -2 -2 -3 -2 -3 -3 -3 -3 -3 -3 -2 -1 -0 1 1 2 3 4 4 5 6 7 7 7 7 7 8 8 9 10 10 11 11 12 13 14 14 15 14 13 13 12 11 10 10 10 10 10 10 10 11 12 13 12 9 5 2 0 0 2 4 5 6 6 6 5 4 4 3 3 3 3 3 3 2 -0 -3 -4 -5 -5 -4 -3 -1 -0 0 -1 -3 -4 -4 -4 -3 -3 -3 -2 -1 -1 0 1 2 2 3 3 3 3 4 4 4 3 3 3 3 4 4 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 8 9 11 13 15 16 18 20 22 23 24 26 27 27 27 27 27 26 25 25 24 24 23 23 23 23 23 23 23 23 23 22 21 19 17 14 10 7 4 2 1 -0 -1 -1 -1 -1 0 1 2 2 1 -1 -4 -6 -6 -6 -6 -5 -5 -4 -2 0 2 4 6 7 7 6 6 8 12 15 17 17 17 16 15 15 18 19 19 17 16 19 25 31 33 33 29 24 -54 -51 -49 -48 -49 -50 -51 -51 -50 -50 -50 -50 -49 -49 -49 -49 -49 -49 -49 -49 -48 -47 -46 -45 -44 -43 -41 -39 -37 -35 -33 -33 -34 -36 -39 -40 -41 -42 -42 -41 -40 -38 -36 -33 -31 -29 -27 -25 -23 -20 -16 -13 -10 -9 -9 -10 -10 -10 -11 -11 -11 -11 -11 -11 -12 -12 -11 -9 -8 -8 -8 -9 -9 -10 -10 -10 -10 -12 -15 -18 -19 -17 -11 -6 -6 -9 -13 -15 -12 -10 -16 -22 -22 -17 -9 -6 -5 -5 -5 -7 -11 -13 -13 -10 -6 -5 -5 -5 -5 -4 -5 -7 -9 -9 -6 -4 -2 -2 -3 -3 -2 -1 -0 -0 -2 -4 -5 -5 -4 -3 -3 -3 -2 -0 3 5 5 3 0 -4 -7 -6 -2 -0 -2 -7 -9 -7 -1 4 6 5 5 5 5 5 3 0 -1 -2 -2 -1 -1 -1 -2 -3 -4 -5 -7 -7 -6 -5 -6 -8 -9 -9 -8 -7 -6 -5 -4 -4 -5 -6 -6 -5 -4 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -2 -1 -1 0 1 2 3 4 5 6 6 7 7 7 6 7 7 8 8 9 10 10 11 12 13 14 14 15 15 14 14 14 13 13 13 13 12 12 11 12 13 13 13 11 8 5 4 4 5 7 7 7 7 6 5 5 4 4 3 3 3 2 3 2 1 -0 -2 -3 -3 -3 -2 -0 1 2 1 -0 -2 -2 -2 -2 -1 -1 -1 -0 0 1 1 2 2 3 4 4 4 5 5 5 5 5 4 4 5 5 5 5 5 6 6 7 7 6 6 6 6 6 5 5 5 5 4 4 5 5 6 7 8 9 11 12 14 16 18 20 22 23 25 26 28 28 28 28 27 27 26 25 25 25 24 24 25 25 25 25 25 25 25 25 24 23 21 18 15 11 6 3 0 -2 -3 -3 -3 -3 -2 -1 -0 -1 -3 -4 -5 -5 -4 -4 -4 -4 -4 -3 -1 1 3 6 7 7 5 4 4 5 7 8 8 8 8 9 10 12 14 15 14 14 19 25 30 33 32 28 23 -56 -53 -50 -49 -49 -50 -51 -51 -49 -48 -48 -48 -48 -48 -49 -49 -50 -50 -49 -48 -47 -46 -45 -44 -44 -43 -41 -38 -35 -32 -31 -32 -34 -37 -39 -41 -41 -41 -41 -39 -37 -36 -34 -32 -30 -28 -26 -24 -21 -18 -15 -13 -11 -10 -10 -10 -11 -11 -12 -11 -11 -10 -10 -10 -10 -10 -10 -9 -8 -9 -9 -10 -10 -10 -10 -11 -12 -15 -18 -20 -20 -15 -9 -5 -5 -9 -12 -13 -8 -6 -12 -19 -20 -16 -5 -3 -3 -4 -6 -8 -10 -11 -9 -6 -4 -3 -4 -4 -4 -4 -5 -7 -8 -7 -4 -3 -2 -4 -4 -3 -2 -0 1 0 -2 -4 -5 -5 -3 -2 -2 -2 -0 2 5 5 3 -1 -5 -8 -6 -1 2 -1 -7 -11 -8 -1 5 8 8 7 6 7 6 4 2 -0 -1 -1 -1 -1 -1 -2 -3 -4 -5 -6 -7 -6 -6 -7 -8 -10 -9 -8 -7 -6 -6 -6 -6 -6 -7 -7 -7 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -2 -1 -1 -0 1 2 3 4 5 5 6 6 5 5 5 5 6 6 7 8 9 10 11 12 13 13 14 15 15 15 15 14 14 14 14 14 13 12 12 13 13 13 12 10 9 8 8 9 9 9 9 7 6 5 4 4 4 3 3 2 2 1 2 2 2 2 0 -1 -1 -1 0 2 3 4 2 1 -1 -1 -0 -0 0 0 1 1 2 2 2 2 3 4 4 5 5 6 6 6 6 6 6 6 6 6 6 6 6 7 7 8 8 8 7 7 7 6 6 6 5 5 4 4 4 4 5 5 6 7 8 10 11 13 15 17 19 21 23 25 27 28 29 29 29 29 28 28 27 27 27 27 27 27 27 28 28 28 28 28 28 28 27 26 24 21 17 13 8 3 0 -1 -2 -3 -2 -1 -1 -1 -1 -1 -1 0 1 0 -1 -2 -2 -2 -1 -0 1 3 5 5 3 1 -0 -0 -0 -0 -0 0 2 3 5 7 8 9 10 12 17 23 27 29 28 25 21 -58 -53 -50 -49 -50 -51 -51 -50 -48 -46 -46 -46 -46 -46 -47 -48 -49 -50 -50 -48 -46 -44 -43 -43 -42 -41 -39 -36 -33 -31 -31 -32 -35 -37 -39 -40 -41 -40 -39 -37 -36 -34 -33 -31 -29 -27 -25 -23 -21 -19 -17 -15 -14 -13 -12 -12 -12 -12 -12 -11 -10 -9 -8 -8 -8 -9 -9 -8 -9 -9 -10 -10 -10 -10 -10 -11 -14 -17 -20 -21 -19 -14 -8 -6 -7 -10 -12 -12 -5 -5 -10 -16 -16 -12 0 0 -1 -3 -5 -5 -6 -6 -5 -3 -2 -2 -2 -2 -3 -4 -5 -6 -6 -4 -3 -3 -4 -4 -4 -3 -1 0 0 -1 -2 -4 -4 -3 -2 -2 -3 -2 -1 2 3 2 -2 -6 -8 -6 1 5 2 -5 -10 -9 -1 6 9 9 8 8 8 7 5 3 1 -0 -0 0 -0 -1 -2 -3 -4 -5 -6 -6 -6 -6 -7 -9 -10 -10 -8 -6 -6 -7 -7 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -6 -6 -6 -6 -6 -5 -5 -4 -3 -2 -2 -1 -1 -0 1 2 2 3 4 4 4 4 4 4 4 4 4 5 6 7 8 9 10 11 12 13 14 15 15 15 14 14 14 14 13 13 12 12 12 13 13 12 11 11 11 11 12 11 10 9 8 6 4 3 3 3 4 4 3 2 1 1 2 3 4 3 2 1 0 1 3 4 5 4 3 2 1 1 1 1 2 2 3 3 3 3 3 3 4 4 5 5 6 7 7 7 7 8 8 7 7 7 7 7 7 8 8 9 9 9 9 8 8 8 7 7 6 6 5 5 5 5 5 5 5 5 6 7 9 11 12 14 17 19 21 23 26 27 29 30 30 30 30 29 29 29 29 29 30 30 30 30 30 30 30 30 31 31 31 32 31 30 27 24 21 17 14 10 7 6 5 5 5 5 5 6 8 9 10 9 8 5 2 -0 -2 -3 -2 -1 0 1 -0 -2 -4 -5 -5 -6 -6 -6 -4 -1 1 2 2 3 5 8 13 18 22 23 23 21 18 -58 -53 -50 -50 -51 -52 -51 -50 -47 -46 -45 -45 -45 -45 -45 -46 -47 -49 -50 -49 -46 -44 -41 -40 -39 -38 -36 -33 -31 -30 -30 -32 -35 -37 -39 -40 -39 -38 -38 -36 -35 -33 -31 -30 -28 -26 -24 -23 -21 -20 -18 -17 -16 -15 -14 -13 -13 -12 -12 -11 -10 -8 -6 -5 -6 -6 -7 -7 -8 -9 -10 -10 -9 -9 -10 -12 -15 -19 -21 -21 -19 -14 -10 -9 -10 -13 -14 -11 -4 -4 -9 -12 -12 -7 4 3 1 -1 -1 0 -0 -0 -0 -1 -1 -0 -1 -1 -2 -3 -4 -4 -4 -3 -3 -4 -4 -4 -3 -2 -1 -0 -1 -2 -2 -2 -2 -1 -1 -2 -4 -4 -2 0 0 -3 -6 -8 -6 0 6 6 0 -6 -7 -2 5 9 10 10 9 9 8 6 4 2 1 1 1 -0 -1 -2 -3 -4 -5 -6 -6 -6 -5 -7 -9 -11 -10 -8 -5 -5 -7 -8 -9 -10 -9 -9 -9 -9 -9 -8 -8 -8 -7 -7 -6 -6 -6 -6 -5 -5 -4 -3 -2 -2 -1 -1 -0 0 1 2 2 3 3 3 3 2 3 3 3 4 4 5 6 7 8 9 10 11 12 13 14 14 14 13 13 13 13 12 12 12 12 13 13 13 12 12 12 13 13 12 11 9 8 6 5 4 4 4 5 5 5 4 2 1 2 3 4 4 4 3 2 2 3 5 6 6 5 4 3 2 2 2 2 3 3 4 4 4 4 4 4 5 5 6 6 7 7 8 8 8 8 9 9 8 8 8 8 8 9 9 10 10 10 10 10 10 9 9 9 8 8 7 7 6 6 5 5 5 5 5 6 7 8 10 12 14 16 19 21 23 25 27 29 30 30 30 30 30 30 30 30 31 31 31 31 31 31 31 31 32 32 33 34 35 35 34 33 31 28 26 25 23 21 20 19 17 16 16 16 16 17 18 18 17 15 10 4 -1 -4 -6 -6 -6 -5 -6 -7 -8 -9 -9 -10 -11 -10 -9 -6 -4 -3 -3 -3 -1 3 8 12 14 16 16 15 13 -58 -53 -52 -52 -53 -53 -52 -51 -49 -48 -48 -47 -46 -46 -45 -45 -46 -47 -48 -48 -46 -43 -40 -38 -37 -35 -32 -30 -29 -29 -30 -31 -34 -36 -38 -38 -38 -37 -37 -36 -34 -32 -30 -28 -27 -25 -24 -23 -21 -20 -19 -18 -17 -16 -15 -14 -13 -12 -11 -10 -8 -6 -4 -3 -3 -4 -4 -6 -7 -8 -9 -9 -9 -9 -10 -12 -16 -20 -22 -21 -18 -14 -12 -12 -14 -16 -15 -10 -3 -3 -5 -7 -7 -4 7 6 4 3 4 7 6 4 3 1 1 1 1 0 -1 -2 -3 -3 -3 -3 -4 -4 -4 -2 -1 -0 -1 -1 -2 -2 -1 -1 0 0 -1 -4 -5 -5 -3 -2 -3 -6 -8 -6 -1 5 8 5 -0 -4 -2 4 8 10 10 10 10 9 7 5 3 2 1 1 0 -1 -2 -3 -4 -6 -7 -7 -6 -5 -6 -9 -12 -11 -8 -5 -4 -6 -8 -10 -11 -10 -9 -9 -10 -10 -10 -9 -9 -8 -7 -7 -7 -7 -6 -6 -5 -4 -4 -3 -3 -2 -2 -1 -1 -0 1 1 1 1 2 2 2 2 2 3 3 4 5 6 6 7 7 8 9 10 11 12 13 13 13 12 12 13 13 13 13 13 14 14 14 14 13 13 13 12 11 10 8 7 7 6 6 6 6 7 8 7 6 4 3 2 3 4 5 5 4 3 3 4 5 6 7 7 5 5 4 4 3 3 3 4 4 4 4 5 5 5 5 5 6 6 7 7 8 8 8 9 9 9 9 10 10 10 10 10 11 11 12 12 12 12 12 12 12 11 11 10 10 10 9 9 8 7 6 5 5 5 6 6 7 9 10 12 14 16 18 20 23 25 26 28 29 29 30 30 30 30 31 31 32 32 32 32 32 32 32 32 32 33 34 35 37 37 37 37 36 34 33 32 31 30 29 28 26 25 23 23 23 23 23 22 21 17 12 7 0 -6 -9 -10 -10 -10 -10 -10 -11 -11 -12 -13 -13 -12 -9 -7 -7 -7 -7 -6 -3 1 5 8 9 9 8 7 -57 -54 -54 -54 -53 -53 -52 -51 -51 -51 -51 -49 -48 -47 -47 -46 -46 -46 -46 -46 -45 -42 -39 -37 -35 -32 -29 -26 -25 -26 -28 -30 -33 -35 -37 -37 -37 -36 -36 -34 -33 -30 -28 -27 -26 -24 -23 -22 -21 -21 -20 -20 -19 -17 -15 -13 -12 -11 -10 -8 -6 -4 -2 -1 -1 -1 -2 -3 -5 -7 -8 -9 -9 -9 -10 -12 -16 -20 -21 -20 -17 -14 -13 -14 -16 -16 -12 -6 -0 1 0 -0 -0 -1 8 8 7 7 10 12 11 8 5 3 3 3 2 1 -0 -1 -2 -2 -3 -4 -4 -4 -2 -1 0 -0 -1 -2 -2 -1 -0 1 1 -0 -2 -4 -5 -5 -4 -4 -6 -7 -5 -1 4 8 8 4 0 -1 3 7 10 10 11 10 9 8 5 3 3 2 2 0 -1 -2 -3 -4 -5 -7 -7 -7 -6 -6 -8 -11 -11 -9 -6 -4 -4 -7 -10 -11 -10 -8 -8 -9 -10 -11 -10 -10 -9 -8 -8 -8 -8 -7 -7 -6 -5 -4 -4 -3 -3 -3 -2 -2 -1 -0 0 1 1 1 1 2 2 2 3 3 4 5 6 6 7 7 8 8 9 9 10 10 11 12 12 13 13 14 14 15 15 16 16 16 15 14 13 12 11 10 9 8 8 8 8 8 8 8 9 10 10 9 7 5 4 4 5 6 6 5 5 5 5 6 7 7 7 7 6 6 5 5 4 4 4 4 4 4 4 5 5 5 5 6 6 7 8 8 9 9 9 9 9 10 10 11 11 11 12 12 13 13 14 14 14 15 15 15 14 14 13 12 12 12 12 11 10 9 8 7 7 6 7 7 8 8 9 11 12 14 15 17 19 21 23 25 26 27 28 29 29 30 30 31 32 32 33 33 33 33 33 33 33 33 34 35 36 38 38 38 38 38 37 36 35 35 34 33 32 30 28 26 25 24 24 23 23 21 18 14 9 3 -4 -8 -9 -9 -9 -9 -10 -11 -12 -13 -14 -13 -10 -8 -6 -7 -8 -8 -7 -4 -0 3 5 5 4 2 -57 -55 -55 -54 -53 -52 -51 -50 -51 -52 -52 -51 -50 -49 -48 -48 -47 -47 -46 -46 -44 -41 -39 -36 -33 -29 -25 -23 -22 -24 -27 -30 -32 -34 -36 -36 -36 -36 -34 -33 -31 -29 -28 -26 -25 -24 -23 -22 -21 -21 -21 -21 -20 -18 -15 -13 -11 -9 -8 -6 -4 -2 -1 0 0 1 0 -1 -3 -5 -7 -8 -9 -9 -10 -13 -16 -19 -20 -17 -15 -13 -13 -13 -14 -12 -6 -0 4 6 7 8 9 3 8 10 10 11 13 15 13 11 8 6 6 5 4 2 1 -0 -1 -2 -3 -3 -3 -2 -1 1 0 -1 -2 -2 -1 -0 1 1 -0 -2 -3 -4 -4 -4 -4 -5 -5 -3 1 5 8 8 6 3 1 3 6 10 11 11 11 9 8 5 4 3 3 2 0 -2 -3 -3 -4 -4 -6 -7 -7 -6 -5 -7 -10 -11 -9 -6 -4 -4 -6 -9 -10 -9 -7 -7 -8 -10 -11 -11 -10 -10 -9 -9 -9 -9 -9 -8 -7 -6 -5 -5 -4 -4 -3 -3 -2 -1 -1 -0 0 0 1 1 1 2 2 3 3 4 5 6 6 7 7 7 8 8 8 9 9 9 10 11 13 14 15 15 16 16 17 17 17 16 15 14 13 12 10 9 9 8 8 8 8 8 9 10 11 11 10 8 6 5 5 5 6 6 6 6 6 6 6 7 7 7 7 7 7 6 6 5 5 5 5 5 5 5 4 5 5 5 5 6 6 7 8 8 9 9 10 10 10 10 11 11 12 13 13 14 15 15 16 16 16 16 17 17 16 16 15 14 14 14 14 14 13 12 11 10 9 8 8 8 9 9 10 11 11 12 13 15 16 17 19 21 22 24 25 25 26 27 28 30 31 32 33 33 33 33 33 33 33 33 33 34 35 36 37 38 38 38 38 37 37 36 36 35 34 33 31 29 26 25 23 22 22 21 19 17 15 12 8 4 -0 -2 -3 -4 -5 -7 -9 -12 -13 -13 -10 -7 -5 -4 -5 -6 -7 -6 -3 2 4 4 2 -1 -56 -54 -54 -54 -53 -51 -50 -49 -50 -50 -51 -51 -51 -50 -49 -48 -47 -47 -46 -45 -43 -41 -38 -35 -31 -27 -23 -21 -22 -24 -28 -30 -32 -33 -34 -35 -35 -35 -33 -31 -29 -28 -27 -26 -25 -24 -23 -22 -22 -22 -22 -21 -19 -17 -14 -11 -9 -7 -5 -3 -1 -0 0 1 1 1 1 0 -1 -4 -6 -8 -8 -9 -10 -13 -16 -18 -17 -14 -11 -10 -11 -11 -9 -5 -1 3 7 10 11 14 16 11 9 13 14 13 14 14 14 11 9 8 8 7 5 3 1 1 0 -1 -1 -2 -1 -1 0 0 -1 -1 -2 -1 -0 1 1 -0 -2 -3 -3 -3 -2 -3 -3 -4 -2 2 6 9 9 8 5 3 3 6 9 12 12 11 10 8 5 3 3 3 3 1 -2 -4 -4 -4 -4 -5 -7 -7 -6 -5 -5 -7 -9 -8 -6 -4 -4 -6 -9 -10 -9 -7 -6 -7 -9 -11 -11 -10 -10 -10 -10 -10 -10 -10 -10 -9 -8 -7 -6 -5 -5 -4 -4 -3 -2 -1 -0 0 0 0 1 1 1 2 2 3 4 5 5 6 6 7 7 7 8 8 8 8 8 9 10 11 13 14 15 16 16 17 17 16 16 15 14 13 12 11 11 10 10 9 8 8 8 8 8 9 9 9 8 6 5 5 6 6 7 7 7 7 7 7 7 8 8 7 7 7 7 7 6 6 5 6 6 6 5 5 5 5 5 5 5 5 6 7 7 8 9 9 10 10 10 11 11 12 12 13 14 15 16 17 17 18 18 18 18 18 18 18 17 16 16 15 15 15 15 15 14 12 11 11 10 10 10 10 11 11 12 13 13 14 15 15 16 17 18 19 20 21 22 24 25 27 29 30 31 32 33 33 33 33 33 33 33 34 35 35 36 36 37 37 37 37 37 37 37 36 36 35 33 31 28 26 23 22 22 21 20 19 19 20 18 16 12 8 6 4 2 -1 -5 -9 -12 -12 -10 -7 -5 -3 -3 -5 -6 -6 -4 1 4 4 2 -1 -55 -54 -54 -53 -53 -51 -50 -49 -49 -48 -49 -50 -50 -50 -50 -49 -48 -47 -46 -45 -43 -40 -37 -34 -30 -26 -22 -21 -22 -25 -28 -30 -31 -33 -34 -34 -34 -33 -31 -30 -28 -28 -27 -26 -24 -23 -23 -23 -23 -23 -22 -20 -18 -15 -12 -10 -8 -5 -2 0 2 2 1 1 1 1 1 0 -2 -4 -6 -6 -6 -7 -9 -12 -15 -16 -14 -11 -9 -8 -9 -11 -7 -1 3 5 6 8 10 14 19 17 12 17 17 15 14 14 13 10 9 8 9 9 6 4 3 3 2 2 1 0 0 1 1 -0 -1 -1 -1 0 1 2 1 -1 -2 -3 -2 -1 -1 -1 -2 -1 3 7 9 10 9 7 4 3 5 9 12 14 13 11 8 5 3 3 3 3 2 -2 -4 -5 -4 -4 -4 -6 -6 -5 -4 -4 -5 -7 -7 -5 -4 -4 -5 -8 -10 -9 -7 -5 -5 -8 -11 -11 -11 -10 -10 -11 -11 -12 -12 -11 -10 -9 -8 -7 -7 -6 -5 -5 -4 -3 -2 -1 -0 0 0 1 1 1 1 2 2 3 4 5 5 6 7 7 7 8 8 7 7 7 8 8 9 10 11 12 13 14 14 15 14 14 13 12 12 12 12 12 12 11 10 9 8 7 7 7 7 7 7 6 5 4 4 5 6 6 7 7 7 8 8 8 8 8 8 8 8 8 8 7 7 6 6 7 7 6 6 6 5 5 5 5 5 5 6 6 7 7 8 9 9 10 10 11 11 12 13 14 15 16 17 18 18 19 19 19 19 19 19 19 19 18 18 17 17 17 17 17 16 15 14 13 12 12 12 12 12 12 13 14 14 15 15 15 16 16 17 18 18 18 19 20 22 24 26 28 29 31 32 32 32 32 32 33 33 34 35 35 36 36 37 37 37 37 37 37 37 37 37 36 35 33 31 28 25 24 23 22 22 22 23 24 24 23 20 17 14 12 9 6 1 -5 -9 -10 -10 -8 -6 -4 -4 -6 -7 -8 -6 -1 3 3 2 -1 -53 -53 -53 -53 -53 -52 -51 -50 -49 -48 -47 -48 -49 -49 -50 -49 -48 -47 -46 -44 -42 -39 -36 -33 -29 -24 -21 -21 -23 -26 -28 -29 -31 -32 -33 -33 -33 -31 -29 -28 -27 -26 -25 -24 -23 -23 -23 -23 -23 -23 -21 -19 -16 -13 -11 -9 -7 -4 -0 3 4 4 3 2 1 1 1 -0 -2 -3 -4 -3 -3 -5 -8 -11 -13 -13 -11 -8 -7 -7 -6 -8 -5 1 5 6 5 5 6 11 16 17 13 18 19 17 15 14 12 10 9 9 10 9 8 6 6 5 5 3 2 2 2 1 1 -0 -1 -1 0 1 2 2 1 0 -0 -1 -0 0 0 -0 0 2 5 8 9 9 8 6 4 5 8 12 14 13 11 8 6 4 3 4 4 3 -0 -4 -6 -5 -4 -4 -5 -5 -5 -4 -3 -4 -5 -5 -4 -3 -3 -5 -7 -10 -10 -7 -5 -5 -8 -11 -12 -11 -10 -10 -11 -12 -12 -13 -13 -12 -11 -10 -9 -8 -8 -7 -6 -5 -4 -3 -2 -1 -1 -0 0 1 1 1 2 2 2 3 3 4 5 6 7 7 8 8 8 7 7 7 7 7 8 9 9 10 10 11 12 12 11 11 11 11 12 12 13 14 13 12 10 8 7 6 6 6 6 6 5 4 3 4 4 4 5 5 6 7 8 9 9 9 9 8 8 8 9 9 8 8 7 7 8 8 8 7 7 7 6 6 5 5 5 5 6 6 6 7 7 8 8 9 10 11 12 12 13 14 15 16 17 18 18 19 19 19 19 19 20 20 20 20 20 19 19 19 18 18 18 17 16 15 14 14 13 13 13 13 14 15 15 16 16 16 17 17 17 18 18 18 19 19 20 22 23 25 27 28 30 30 31 31 32 32 33 33 35 36 37 37 38 38 38 38 38 37 37 37 37 37 36 35 32 30 28 26 25 24 24 25 26 27 26 25 23 20 18 16 13 10 6 -0 -5 -8 -9 -9 -8 -7 -8 -9 -10 -11 -9 -4 0 2 1 -1 -51 -52 -52 -52 -53 -53 -52 -51 -49 -48 -47 -47 -48 -48 -49 -49 -49 -48 -46 -44 -42 -39 -36 -32 -28 -24 -22 -22 -24 -27 -28 -29 -30 -31 -32 -32 -31 -29 -27 -26 -25 -24 -24 -24 -24 -24 -24 -24 -23 -22 -20 -17 -14 -12 -10 -8 -6 -2 1 4 6 5 4 3 2 1 1 0 -1 -1 -1 -0 -1 -3 -6 -8 -10 -9 -8 -7 -6 -5 -5 -5 -2 1 5 5 5 3 3 7 12 15 11 16 19 19 16 14 12 11 10 10 11 10 9 8 7 7 6 4 3 2 2 1 0 -1 -1 -0 1 2 3 3 3 2 2 2 1 1 1 1 2 4 5 7 7 7 5 3 4 6 10 12 12 10 8 5 4 3 4 5 4 2 -2 -4 -5 -5 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -1 -2 -4 -6 -9 -10 -7 -5 -5 -7 -11 -13 -12 -10 -10 -10 -12 -13 -13 -13 -13 -12 -11 -10 -10 -9 -8 -8 -7 -6 -5 -4 -3 -2 -1 -1 -0 0 1 1 2 2 3 3 3 4 5 6 7 8 8 8 7 7 7 6 7 7 7 7 8 8 9 9 10 10 10 10 11 12 14 15 15 15 13 11 9 8 7 7 7 7 6 5 4 4 4 4 3 3 3 4 5 7 8 9 10 9 9 9 9 9 9 9 9 9 8 9 9 9 9 8 8 7 7 7 6 6 6 6 6 6 6 6 6 7 7 8 10 11 12 12 13 14 15 16 17 17 18 18 19 19 19 19 19 20 20 21 21 21 20 20 20 19 19 19 18 18 17 16 15 14 14 14 14 15 16 16 16 17 17 17 17 18 18 18 19 19 19 20 21 22 23 25 27 28 29 29 30 30 31 32 33 34 36 37 38 39 39 38 38 37 37 36 36 36 36 35 34 32 30 28 27 26 26 26 27 26 26 24 22 20 19 17 15 12 9 5 0 -4 -7 -9 -10 -10 -11 -13 -13 -13 -10 -5 -1 -0 -1 -4 -50 -50 -51 -52 -53 -54 -53 -52 -50 -48 -48 -48 -48 -49 -49 -49 -49 -49 -47 -45 -42 -38 -35 -31 -27 -24 -23 -24 -25 -27 -29 -29 -30 -31 -32 -31 -30 -28 -26 -24 -23 -23 -24 -24 -24 -24 -24 -23 -22 -21 -19 -16 -13 -11 -9 -7 -4 -0 3 5 6 6 5 4 3 2 2 1 1 2 2 2 0 -2 -5 -6 -7 -7 -6 -5 -4 -3 -3 -2 -1 1 3 4 4 3 2 4 8 12 9 12 17 20 18 16 15 14 13 13 12 11 10 9 8 7 6 4 2 1 1 1 -0 -1 -0 1 2 3 4 4 4 4 4 3 2 2 2 2 3 4 4 4 4 3 2 2 4 7 10 10 8 6 4 3 3 4 5 5 4 1 -2 -4 -4 -3 -3 -3 -3 -2 -2 -1 -2 -2 -2 -1 -1 -3 -6 -8 -9 -7 -5 -5 -7 -11 -13 -13 -11 -10 -10 -11 -13 -13 -13 -13 -12 -11 -11 -10 -10 -9 -9 -8 -8 -7 -6 -5 -4 -3 -2 -1 -1 0 1 1 2 2 3 3 4 5 5 6 7 7 7 7 7 6 6 6 6 6 7 7 7 8 8 9 9 10 11 12 13 15 16 17 16 14 13 11 10 9 9 8 8 7 6 5 5 4 4 4 3 2 2 3 5 6 8 8 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 9 9 8 8 7 7 7 7 7 7 6 6 6 6 6 7 8 9 10 11 12 13 14 15 16 16 17 18 18 18 18 18 18 19 19 20 21 21 22 21 21 21 20 20 20 20 19 18 17 17 16 15 15 15 15 15 16 16 16 16 16 16 17 17 18 18 18 18 18 19 19 20 21 22 24 25 26 27 27 28 29 30 31 33 34 36 37 37 38 37 37 36 36 36 36 36 35 34 33 31 29 27 27 27 27 26 26 25 23 22 20 19 17 16 14 12 9 6 2 -2 -6 -9 -11 -14 -15 -15 -13 -9 -5 -3 -3 -5 -8 -49 -49 -50 -52 -53 -54 -53 -51 -50 -49 -48 -49 -49 -49 -49 -49 -50 -49 -48 -46 -42 -38 -34 -30 -27 -25 -24 -25 -26 -28 -29 -29 -31 -32 -32 -31 -29 -27 -25 -24 -23 -23 -24 -24 -24 -23 -23 -23 -22 -20 -18 -16 -13 -11 -9 -6 -2 1 4 5 6 6 5 5 4 3 3 3 3 3 3 2 -0 -2 -4 -4 -4 -4 -3 -2 -2 -1 -2 -1 -1 -0 1 1 3 3 3 4 6 9 8 8 13 19 19 18 17 17 16 15 14 12 10 9 7 6 4 2 1 0 0 -0 -1 -0 1 2 4 4 5 5 5 5 5 4 3 3 3 3 4 3 3 2 1 -0 -0 2 5 7 8 6 5 3 3 3 3 4 5 5 3 1 -1 -3 -3 -2 -1 -1 -0 -0 -0 -1 -1 -1 -1 -0 -2 -5 -8 -8 -7 -4 -4 -7 -10 -13 -14 -11 -9 -9 -11 -12 -13 -13 -13 -12 -11 -10 -10 -10 -9 -9 -9 -8 -8 -7 -6 -6 -5 -4 -3 -2 -1 -0 0 1 2 2 3 4 4 5 6 6 7 6 6 6 6 6 6 6 6 7 7 7 7 8 8 9 9 10 12 13 14 16 16 16 15 13 12 11 10 10 10 9 8 7 6 5 5 5 4 4 3 3 3 4 5 6 7 7 8 8 9 9 10 10 11 11 11 11 11 11 11 11 10 10 9 9 8 8 8 8 8 8 7 7 7 6 6 6 7 7 8 10 11 12 13 14 15 15 16 17 17 17 17 18 18 18 18 18 19 20 21 21 22 22 21 21 21 21 20 20 20 19 18 17 16 16 15 15 15 15 15 15 14 14 14 15 15 16 16 16 17 17 17 17 18 18 18 19 21 22 23 24 25 25 26 27 29 30 32 33 34 35 35 35 35 35 35 35 35 35 34 33 31 29 28 27 27 26 26 25 24 23 22 21 20 18 17 16 14 13 10 7 4 -0 -5 -9 -13 -15 -14 -12 -8 -6 -5 -5 -7 -10 -51 -50 -51 -51 -52 -52 -51 -50 -49 -48 -48 -48 -49 -49 -49 -49 -49 -50 -49 -47 -44 -39 -34 -30 -27 -25 -25 -25 -27 -28 -29 -30 -31 -32 -32 -31 -29 -27 -25 -24 -24 -24 -25 -24 -23 -22 -22 -22 -21 -19 -17 -16 -14 -12 -8 -4 -1 2 3 4 4 5 5 5 5 5 4 3 3 3 3 1 -1 -2 -3 -2 -2 -1 0 1 0 -1 -1 -2 -2 -2 -2 -0 1 3 4 4 4 5 7 4 9 17 20 19 18 17 16 15 13 11 9 7 5 4 2 0 -1 -1 -1 -1 -1 0 2 4 5 5 5 6 6 6 5 5 4 4 4 4 4 2 1 -1 -2 -2 -0 4 6 7 5 4 3 3 3 3 4 4 5 4 2 0 -1 -1 -1 0 1 2 2 1 0 -0 -1 -1 -1 -2 -4 -7 -7 -5 -3 -3 -6 -10 -13 -13 -11 -8 -8 -10 -12 -13 -13 -12 -12 -11 -10 -9 -9 -9 -9 -9 -9 -9 -8 -8 -7 -6 -6 -5 -4 -3 -2 -1 -1 0 1 2 3 3 4 5 6 6 6 6 5 4 5 5 6 6 7 7 7 7 7 8 8 9 9 10 11 13 13 14 13 13 12 12 11 11 10 9 9 8 7 6 5 5 5 5 4 4 4 4 4 5 5 5 6 6 7 8 9 9 10 10 11 11 11 12 12 12 11 11 10 10 10 9 9 9 9 9 9 9 8 8 7 7 7 7 7 8 8 9 11 12 13 14 14 15 16 16 17 17 17 17 17 17 17 17 18 18 19 20 21 21 21 21 21 21 21 21 20 20 19 19 18 17 16 16 15 15 14 14 13 13 13 13 13 13 13 14 14 15 15 15 15 15 16 16 17 18 20 21 22 22 23 24 24 26 27 28 30 31 32 33 33 34 34 34 34 34 33 32 31 29 28 27 27 26 26 25 24 23 23 22 21 20 19 18 17 15 13 11 8 5 1 -3 -8 -11 -11 -9 -7 -6 -5 -6 -9 -11 -53 -52 -52 -52 -51 -50 -49 -49 -48 -47 -47 -47 -48 -48 -48 -48 -49 -49 -49 -47 -44 -39 -34 -30 -27 -25 -24 -25 -26 -28 -29 -30 -31 -32 -32 -30 -28 -27 -26 -25 -25 -25 -24 -23 -23 -22 -22 -22 -20 -19 -17 -16 -15 -12 -7 -3 0 2 2 2 3 5 6 6 6 5 4 3 2 2 1 -0 -1 -1 -1 0 1 2 2 2 -0 -2 -3 -4 -5 -5 -4 -1 1 2 2 0 -1 0 4 1 5 13 19 18 17 16 14 13 10 8 5 3 2 1 -1 -2 -2 -2 -1 -1 0 2 3 4 5 6 6 7 7 7 6 6 6 6 5 5 3 1 -1 -2 -2 -0 3 6 7 5 4 4 4 4 4 4 4 4 4 3 1 -0 -0 -0 1 2 3 3 3 1 0 -0 -1 -1 -2 -4 -5 -5 -4 -2 -2 -5 -10 -12 -12 -10 -7 -7 -9 -11 -12 -12 -12 -11 -11 -10 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -7 -7 -7 -6 -5 -5 -4 -3 -2 -1 0 1 2 3 4 4 5 5 5 4 4 4 4 4 5 6 7 7 7 8 8 8 8 8 9 9 10 11 11 10 10 10 10 10 10 9 9 8 7 6 5 5 4 4 4 4 4 4 4 4 5 5 5 5 5 6 7 8 9 9 10 10 11 11 11 11 12 12 11 11 11 10 10 10 10 9 9 9 9 9 9 9 8 8 8 8 8 8 9 10 11 12 13 13 14 14 15 15 16 17 17 17 17 17 17 17 17 18 18 19 20 21 21 21 20 20 20 20 20 20 20 19 19 18 17 16 16 15 14 14 13 12 12 11 11 11 11 11 12 12 13 13 13 13 14 14 15 16 17 19 20 20 21 21 22 22 23 24 26 27 29 30 31 32 32 33 33 33 32 32 31 30 29 28 27 26 26 25 24 24 24 24 23 23 22 21 20 18 16 13 11 10 7 3 -1 -4 -6 -6 -6 -5 -5 -6 -7 -9 -54 -54 -53 -53 -52 -51 -50 -49 -48 -47 -46 -46 -46 -46 -46 -47 -48 -48 -48 -46 -44 -40 -36 -31 -28 -26 -24 -24 -26 -28 -29 -29 -30 -30 -30 -29 -28 -27 -27 -26 -26 -25 -24 -23 -23 -23 -23 -21 -19 -18 -18 -17 -15 -11 -6 -3 -0 1 1 2 3 5 6 6 5 3 2 1 1 1 1 0 1 1 2 3 3 3 2 1 -2 -4 -6 -7 -8 -7 -5 -2 -1 -1 -3 -5 -6 -5 -0 0 2 9 16 16 14 13 11 9 6 3 1 0 -1 -1 -2 -3 -3 -1 -0 1 2 3 4 5 5 6 7 7 7 7 7 7 7 7 6 5 3 1 -1 -1 1 5 8 8 7 5 5 5 6 6 5 4 5 5 4 3 1 0 0 1 2 4 4 4 2 1 -1 -1 -1 -2 -3 -4 -4 -3 -2 -2 -5 -9 -12 -11 -9 -7 -6 -8 -10 -11 -11 -11 -11 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -7 -7 -7 -6 -5 -5 -3 -2 -1 -0 1 1 2 3 3 3 3 3 3 3 3 4 4 5 6 6 7 7 8 8 8 8 8 8 8 8 8 8 7 7 8 8 8 8 8 7 6 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 6 7 7 8 9 9 10 10 10 10 10 11 11 11 11 11 10 10 10 10 10 10 10 10 10 10 10 9 9 9 9 9 9 10 10 11 12 12 13 14 14 14 15 15 16 17 17 17 17 17 17 17 17 17 18 19 20 20 20 20 20 20 20 20 20 20 20 19 18 18 17 16 15 14 14 13 12 11 10 10 9 9 9 10 10 11 11 11 12 12 13 13 14 15 16 18 19 20 20 20 21 21 22 23 25 26 27 29 30 31 31 32 32 32 31 31 31 30 29 28 27 26 25 25 25 25 25 25 25 25 24 23 21 18 16 14 13 11 9 6 3 1 -1 -2 -3 -3 -3 -4 -6 -54 -54 -53 -53 -52 -52 -51 -50 -49 -47 -46 -45 -45 -45 -45 -46 -47 -47 -46 -45 -43 -41 -38 -34 -30 -27 -24 -24 -25 -27 -28 -29 -29 -29 -28 -28 -28 -28 -27 -26 -25 -24 -23 -24 -24 -23 -22 -20 -19 -19 -19 -17 -15 -11 -7 -3 -1 -0 1 2 4 6 6 5 3 2 1 1 1 1 2 2 2 2 3 3 2 2 0 -1 -4 -6 -8 -9 -8 -7 -6 -4 -5 -7 -9 -11 -11 -10 -5 -0 1 4 12 14 12 10 8 5 3 1 -1 -1 -2 -2 -3 -2 -1 0 1 2 3 3 4 4 5 6 7 7 7 7 7 8 8 7 7 6 4 3 2 4 7 10 11 9 7 6 7 8 8 6 5 6 6 6 5 3 1 1 2 3 4 5 5 3 1 -1 -1 -1 -1 -2 -3 -3 -2 -1 -2 -4 -9 -11 -11 -8 -6 -5 -7 -9 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -7 -7 -7 -7 -6 -5 -4 -3 -2 -1 -0 1 1 2 2 2 2 2 2 2 2 3 4 4 5 5 6 6 7 8 8 8 8 8 8 7 7 6 6 5 5 6 6 6 6 6 5 4 4 4 3 3 3 3 3 4 4 4 4 3 3 3 4 4 5 6 6 7 7 8 8 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 11 11 11 10 10 10 10 10 10 10 11 11 11 12 12 13 13 14 14 15 15 16 16 17 17 17 17 17 16 17 17 17 18 19 20 20 20 20 20 20 19 19 19 19 19 18 18 17 16 15 15 14 13 12 12 11 9 9 8 8 9 9 10 10 11 11 11 12 12 13 13 14 15 17 18 19 20 20 21 21 22 23 24 25 26 28 29 30 31 31 31 32 32 32 32 31 30 28 27 27 26 26 26 26 27 27 27 26 25 23 21 19 18 16 15 13 11 9 6 4 3 2 2 2 1 -1 -54 -54 -54 -54 -53 -52 -52 -51 -50 -49 -47 -45 -44 -44 -44 -45 -45 -45 -45 -44 -42 -41 -39 -36 -32 -28 -25 -24 -24 -25 -26 -27 -27 -28 -28 -28 -28 -27 -26 -24 -22 -22 -22 -23 -23 -22 -21 -20 -21 -21 -20 -18 -15 -12 -8 -5 -2 -0 2 3 5 6 5 4 2 1 2 2 2 2 3 3 2 1 1 1 -0 -1 -2 -4 -6 -7 -8 -8 -8 -8 -8 -9 -11 -13 -14 -15 -14 -13 -8 -2 -1 -0 7 11 10 8 6 3 1 -0 -1 -1 -2 -2 -2 -0 1 2 3 3 3 4 4 4 5 6 6 7 7 7 8 8 8 8 8 8 7 6 8 10 12 13 11 9 8 9 10 10 8 6 7 8 8 7 5 3 3 3 3 4 5 5 4 2 -0 -2 -2 -1 -2 -2 -2 -2 -1 -2 -4 -8 -11 -11 -8 -6 -5 -6 -7 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -9 -9 -8 -8 -8 -7 -7 -7 -7 -6 -6 -5 -4 -3 -2 -1 -1 -0 0 1 1 0 0 0 0 1 1 2 2 3 4 4 5 6 6 7 8 9 9 9 8 7 6 5 5 4 4 4 4 4 5 5 4 4 4 4 3 3 3 3 3 2 2 3 3 3 3 3 3 3 4 4 5 6 6 6 7 7 7 7 7 8 8 8 8 9 9 9 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 13 13 13 14 14 15 15 16 16 16 16 16 16 16 16 16 16 17 17 18 18 19 20 20 20 20 20 19 19 18 18 18 17 17 16 15 15 14 13 13 12 11 10 9 8 8 8 9 10 10 11 11 11 11 11 11 12 12 13 15 16 18 19 20 20 21 21 22 22 23 24 25 27 28 29 30 31 32 33 34 34 33 32 30 29 28 28 28 28 28 27 27 27 27 27 26 24 23 21 19 18 17 15 13 11 9 7 6 6 6 5 4 -55 -55 -54 -54 -53 -52 -51 -51 -51 -51 -49 -47 -45 -44 -43 -44 -44 -44 -43 -42 -41 -40 -39 -37 -34 -29 -25 -23 -22 -22 -24 -25 -27 -28 -28 -27 -26 -24 -23 -21 -20 -20 -21 -21 -21 -21 -21 -22 -22 -21 -19 -18 -15 -12 -9 -5 -2 0 2 4 5 5 4 3 2 3 3 3 3 3 3 3 1 -1 -2 -2 -3 -4 -5 -6 -7 -8 -8 -9 -10 -11 -13 -14 -16 -17 -18 -18 -16 -14 -10 -4 -4 -5 -0 7 8 6 4 2 1 0 0 -0 -0 0 1 2 3 3 4 4 4 4 4 5 5 6 7 7 7 8 8 8 8 9 10 10 10 11 13 15 15 13 11 11 11 12 11 10 8 8 9 10 9 7 5 5 5 5 5 5 5 5 3 0 -1 -2 -1 -1 -1 -1 -1 -0 -1 -4 -7 -10 -10 -7 -5 -5 -6 -7 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -11 -10 -10 -9 -9 -8 -8 -7 -7 -7 -6 -6 -5 -5 -4 -3 -2 -2 -1 -1 -0 -0 -0 -1 -1 -1 -1 -1 -0 0 1 2 2 3 4 5 6 7 8 8 9 9 9 8 7 6 5 4 3 3 3 4 4 4 4 4 4 4 4 3 3 2 2 2 2 2 2 2 2 2 2 3 3 3 4 4 4 5 5 5 5 5 6 6 6 7 7 7 8 8 9 10 10 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 14 14 15 15 16 16 16 16 16 16 16 16 15 16 16 16 16 17 18 19 20 20 20 20 19 19 18 17 17 16 16 16 15 15 14 14 13 12 11 10 9 8 8 9 9 10 11 11 11 11 11 11 11 11 11 12 13 14 16 17 18 19 20 20 20 20 21 21 23 24 26 27 29 30 32 34 35 36 35 34 32 31 31 30 30 30 29 29 28 27 27 27 27 26 26 24 22 21 19 18 16 14 12 10 9 8 8 7 6 -55 -55 -55 -54 -53 -51 -50 -50 -51 -51 -51 -50 -48 -45 -43 -42 -42 -42 -41 -40 -39 -37 -36 -35 -34 -31 -27 -23 -22 -22 -23 -25 -26 -27 -26 -24 -23 -22 -20 -19 -19 -19 -19 -20 -21 -22 -22 -23 -22 -20 -18 -17 -15 -12 -8 -5 -1 1 3 4 5 4 4 3 4 5 5 4 3 3 3 2 0 -2 -4 -5 -5 -5 -6 -7 -8 -10 -11 -12 -15 -17 -18 -18 -19 -19 -19 -19 -18 -16 -12 -7 -6 -8 -8 1 5 4 3 2 1 1 1 1 2 2 3 4 4 5 5 4 4 5 5 6 6 7 7 7 8 8 8 8 9 10 12 12 14 15 16 16 15 14 13 13 14 13 11 9 9 10 11 11 9 7 7 7 7 6 6 6 6 4 2 0 -1 -1 -1 -1 -1 -0 0 -0 -2 -5 -8 -8 -6 -5 -5 -6 -7 -7 -7 -7 -8 -8 -9 -9 -9 -9 -10 -10 -11 -11 -12 -12 -11 -11 -10 -9 -8 -8 -7 -7 -6 -6 -5 -4 -4 -3 -3 -2 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -1 -0 0 1 1 2 3 5 6 6 7 8 9 9 8 7 6 5 4 4 4 4 4 4 4 5 5 5 4 4 3 3 2 1 1 1 1 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 4 4 4 5 5 6 6 7 7 8 9 10 10 11 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 14 14 15 15 16 16 16 16 15 15 15 15 15 15 15 15 15 16 17 18 18 19 20 20 20 19 18 17 17 16 16 16 15 15 15 14 14 13 12 11 10 9 9 9 10 11 11 12 12 12 12 11 11 11 11 12 12 13 14 15 16 18 18 19 19 19 19 19 20 22 23 24 26 28 30 32 34 35 35 35 34 33 32 32 31 31 30 30 28 27 27 27 27 27 27 26 24 23 21 20 18 16 14 12 10 9 8 7 6 -55 -55 -55 -55 -53 -51 -50 -49 -49 -50 -51 -50 -49 -46 -43 -41 -40 -39 -39 -38 -37 -35 -34 -34 -35 -33 -30 -27 -25 -23 -24 -24 -25 -25 -24 -22 -21 -20 -19 -19 -19 -19 -19 -20 -22 -22 -23 -22 -20 -19 -17 -16 -13 -10 -6 -2 1 3 4 4 5 4 4 5 6 6 5 4 4 3 3 1 -1 -3 -5 -6 -7 -7 -8 -9 -11 -13 -16 -18 -20 -21 -21 -20 -19 -19 -19 -20 -20 -19 -16 -11 -9 -11 -14 -9 0 3 2 2 1 2 2 2 3 4 5 5 5 5 5 5 5 6 6 7 7 7 7 7 8 8 8 8 10 11 13 14 16 17 17 16 15 14 14 15 14 12 10 9 10 12 12 11 9 8 8 8 8 7 6 6 6 4 2 1 0 0 0 0 1 1 1 -1 -3 -5 -6 -5 -4 -4 -5 -6 -7 -6 -7 -7 -8 -9 -9 -9 -9 -10 -11 -12 -12 -13 -13 -13 -12 -11 -11 -10 -9 -8 -7 -7 -6 -5 -4 -4 -3 -2 -2 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -3 -3 -3 -2 -2 -1 -1 0 1 2 3 4 5 6 7 8 8 8 7 7 6 5 5 5 4 4 4 5 5 5 5 5 4 4 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 4 4 5 5 6 7 8 9 10 11 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 15 15 15 16 16 15 15 15 15 14 14 14 14 14 14 14 15 15 16 17 18 19 19 19 19 19 18 17 17 16 16 15 15 15 14 14 14 13 12 11 11 10 10 11 11 12 12 13 13 13 12 12 12 12 12 12 12 13 13 14 15 16 17 18 18 18 18 18 19 20 21 22 25 27 29 30 32 33 34 34 34 33 32 32 31 31 31 29 28 27 27 27 27 27 26 25 24 22 21 20 18 15 13 10 9 7 6 5 -53 -54 -54 -55 -55 -53 -51 -49 -48 -49 -49 -49 -48 -45 -42 -40 -39 -39 -38 -37 -36 -35 -34 -35 -35 -35 -34 -32 -29 -27 -25 -25 -24 -23 -22 -21 -20 -19 -19 -19 -20 -20 -20 -22 -22 -22 -21 -20 -19 -18 -16 -14 -11 -7 -3 0 3 4 5 5 5 5 6 6 6 6 5 5 4 4 2 1 -2 -4 -6 -8 -9 -9 -11 -13 -16 -19 -22 -23 -23 -22 -21 -20 -19 -19 -19 -20 -21 -21 -20 -17 -13 -13 -19 -19 -5 0 2 1 1 1 1 2 3 4 5 5 5 5 5 5 6 6 7 7 7 6 6 6 7 7 8 8 10 12 13 15 16 16 16 16 16 15 15 14 12 10 9 10 11 12 11 9 8 9 9 9 8 7 7 7 6 4 2 2 1 1 1 1 1 1 0 -1 -2 -3 -3 -3 -3 -5 -5 -6 -6 -7 -7 -8 -9 -10 -10 -10 -10 -11 -12 -13 -13 -14 -14 -14 -13 -12 -11 -10 -9 -9 -8 -7 -6 -5 -4 -3 -3 -2 -2 -1 -1 -1 -1 -1 -2 -2 -3 -3 -4 -4 -4 -4 -3 -3 -3 -2 -1 -0 1 1 2 3 4 5 6 7 7 7 7 7 6 6 6 5 5 5 5 5 5 5 5 4 4 3 3 2 2 3 3 3 3 2 2 2 2 2 1 1 1 1 1 1 1 1 1 2 2 2 2 3 3 4 5 6 7 8 9 10 11 12 13 13 13 14 14 14 14 14 14 14 13 13 13 13 13 14 14 15 15 15 15 15 15 15 14 14 13 13 13 13 13 14 14 15 15 16 17 18 18 19 19 19 18 18 17 17 16 16 16 15 15 14 14 14 13 12 12 11 11 11 11 12 12 13 13 13 13 13 13 12 12 12 12 12 13 13 14 14 15 16 17 17 17 17 17 18 18 20 21 23 25 26 29 31 32 33 32 32 31 31 31 31 31 31 30 29 28 27 27 26 26 24 23 23 22 21 19 17 14 11 9 7 5 4 -50 -51 -52 -53 -54 -53 -52 -49 -47 -47 -48 -48 -47 -45 -42 -40 -40 -40 -39 -38 -36 -36 -36 -36 -36 -35 -35 -34 -32 -30 -28 -27 -25 -23 -22 -21 -20 -20 -20 -21 -21 -21 -22 -22 -22 -21 -20 -19 -18 -16 -14 -12 -8 -3 -0 2 3 4 5 5 5 6 6 6 6 5 5 5 5 3 1 -2 -4 -6 -8 -9 -11 -13 -15 -19 -23 -25 -26 -25 -23 -22 -22 -22 -21 -20 -21 -22 -23 -22 -21 -20 -18 -17 -21 -26 -13 -3 0 -0 -1 -1 -0 1 2 3 3 3 3 3 3 4 5 6 7 6 6 5 5 5 6 6 7 7 9 10 12 13 14 14 15 15 16 15 14 12 10 9 10 11 12 12 10 8 8 9 9 8 8 7 7 7 5 4 3 2 2 2 2 2 1 1 0 -1 -2 -2 -3 -3 -4 -5 -6 -6 -7 -8 -9 -10 -10 -10 -10 -11 -11 -12 -13 -14 -14 -15 -15 -14 -13 -13 -12 -11 -10 -9 -8 -7 -6 -5 -5 -4 -3 -2 -2 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -3 -4 -4 -4 -4 -3 -3 -2 -1 -1 -0 1 1 2 4 5 6 6 6 7 7 7 6 6 6 6 5 5 5 5 5 5 4 4 3 3 3 3 3 3 3 3 3 2 2 2 1 1 1 0 -0 -0 -0 -0 -0 0 0 0 1 1 1 2 2 3 4 5 7 8 9 11 12 12 13 13 14 14 14 14 14 14 14 14 13 13 13 13 14 14 15 15 15 15 15 15 14 14 13 13 12 12 12 13 13 14 14 15 15 16 16 17 18 18 19 19 18 18 18 17 17 16 16 16 15 15 15 14 14 13 13 12 11 11 12 13 13 14 14 14 14 14 13 13 12 12 12 12 12 13 13 14 14 15 16 17 17 17 17 18 19 19 20 21 23 25 27 29 30 30 30 30 30 30 30 31 31 31 30 29 29 28 27 25 24 23 22 22 21 20 18 16 13 10 7 4 3 -49 -49 -50 -50 -52 -52 -50 -48 -46 -46 -47 -46 -45 -44 -42 -42 -42 -42 -41 -39 -38 -38 -37 -37 -36 -36 -35 -35 -34 -33 -31 -30 -27 -25 -25 -24 -22 -21 -22 -23 -23 -22 -22 -22 -21 -21 -20 -19 -17 -15 -12 -9 -4 -1 -0 1 2 3 4 4 4 4 4 4 4 5 5 5 3 1 -3 -6 -7 -8 -10 -12 -14 -17 -21 -25 -28 -28 -27 -26 -25 -24 -24 -24 -23 -23 -23 -24 -24 -23 -21 -22 -23 -22 -23 -29 -21 -9 -2 -1 -2 -3 -2 -1 -1 0 0 -0 -0 -0 1 2 4 5 5 4 4 4 4 5 5 5 5 5 6 8 10 11 12 13 14 15 14 13 12 11 10 10 12 13 13 11 9 8 9 9 9 8 8 8 7 6 5 3 3 3 2 2 2 1 1 0 -0 -1 -2 -3 -3 -4 -4 -5 -6 -7 -8 -9 -10 -10 -11 -11 -11 -11 -12 -13 -13 -14 -15 -15 -15 -14 -13 -13 -12 -11 -11 -10 -9 -8 -7 -6 -5 -4 -3 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 -1 -0 1 1 2 3 4 5 5 6 6 6 6 6 6 6 5 5 5 5 4 4 4 3 3 3 3 4 4 4 3 3 3 2 2 2 1 1 0 -0 -0 -1 -1 -1 -1 -1 -1 -0 -0 -0 0 0 1 1 2 3 5 6 8 9 11 12 12 13 13 14 14 14 14 14 14 14 14 13 14 14 14 15 15 15 15 15 15 14 14 13 13 12 12 12 12 12 13 13 13 14 14 15 15 16 16 17 18 18 18 18 18 18 18 17 17 17 16 16 15 15 15 14 13 12 12 12 12 13 14 14 14 14 14 14 14 13 13 12 12 12 12 13 13 13 13 14 15 16 16 17 18 18 19 19 19 19 20 22 24 26 28 28 28 28 28 28 28 28 29 30 30 30 30 29 27 26 25 24 23 22 21 20 19 17 15 11 8 5 3 -50 -50 -49 -48 -49 -50 -49 -47 -46 -46 -46 -46 -44 -43 -42 -43 -44 -44 -43 -41 -40 -39 -38 -37 -37 -36 -35 -35 -35 -34 -33 -31 -29 -29 -28 -26 -24 -23 -24 -24 -24 -23 -22 -22 -21 -20 -19 -17 -16 -14 -10 -7 -4 -3 -2 -1 1 2 3 2 2 1 1 2 3 4 4 3 -1 -5 -8 -10 -10 -11 -12 -14 -18 -22 -26 -28 -29 -29 -27 -27 -27 -27 -27 -27 -26 -25 -25 -26 -27 -26 -23 -24 -26 -26 -25 -28 -26 -17 -7 -3 -3 -4 -4 -3 -3 -3 -3 -4 -4 -3 -2 -1 1 1 2 2 2 3 4 4 3 2 2 2 4 6 8 10 11 12 13 12 12 11 10 11 11 13 14 14 13 10 9 9 9 9 9 8 8 7 6 4 3 3 2 2 2 1 1 0 -0 -1 -1 -2 -2 -3 -3 -4 -4 -5 -6 -8 -9 -10 -11 -11 -11 -11 -11 -12 -12 -13 -13 -14 -15 -15 -15 -14 -13 -13 -12 -12 -11 -11 -10 -9 -8 -7 -6 -5 -4 -3 -3 -2 -1 -1 -0 -0 -0 -0 -0 -1 -1 -1 -2 -2 -2 -3 -3 -2 -2 -2 -1 -1 -0 0 1 2 2 3 4 4 5 6 6 6 6 6 6 5 5 5 4 4 3 3 3 3 3 3 3 3 3 3 3 3 2 2 1 1 1 0 0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 0 1 2 3 4 6 8 9 10 11 12 12 13 14 14 14 14 14 14 14 14 14 15 15 15 16 16 16 16 15 14 14 13 12 12 11 11 11 12 12 13 13 13 14 14 15 15 16 16 17 17 18 18 18 18 18 18 18 18 18 17 16 16 15 15 14 13 12 13 13 14 14 14 14 14 14 14 14 13 13 13 13 13 13 13 13 13 13 14 14 15 16 17 18 18 19 19 18 18 19 20 22 24 25 27 27 27 26 25 24 25 26 27 29 30 30 29 28 28 27 25 24 23 22 21 20 19 16 13 10 7 5 -52 -51 -49 -47 -48 -49 -48 -47 -45 -45 -45 -45 -44 -43 -43 -44 -45 -44 -43 -42 -41 -40 -39 -38 -37 -35 -34 -34 -35 -35 -34 -32 -31 -31 -30 -29 -27 -25 -25 -25 -25 -24 -23 -22 -20 -18 -16 -15 -13 -10 -8 -6 -5 -5 -4 -1 0 1 1 -0 -2 -2 -1 -0 1 2 1 -2 -6 -10 -13 -14 -13 -13 -15 -18 -22 -26 -28 -29 -29 -28 -27 -28 -28 -29 -30 -30 -28 -27 -27 -28 -30 -30 -27 -26 -27 -27 -26 -26 -29 -24 -14 -5 -3 -5 -5 -4 -4 -5 -6 -7 -7 -6 -5 -4 -3 -2 -1 -0 1 3 3 3 1 -0 -1 0 3 6 9 10 11 11 11 10 10 10 11 12 14 15 16 15 12 10 9 10 10 10 9 8 7 5 4 3 2 2 2 1 1 -0 -1 -1 -1 -2 -2 -3 -3 -3 -4 -4 -5 -6 -7 -9 -10 -11 -12 -11 -11 -11 -11 -12 -12 -12 -13 -14 -15 -15 -14 -14 -13 -12 -12 -12 -11 -11 -10 -10 -8 -7 -6 -5 -4 -4 -3 -2 -2 -1 -0 0 0 0 1 0 0 -0 -1 -1 -1 -2 -2 -2 -1 -1 -1 -0 0 1 1 2 2 2 3 4 5 5 6 6 6 6 5 5 5 5 4 3 3 2 2 2 2 3 3 3 3 3 3 2 2 2 1 1 1 1 0 0 -0 -0 -0 -0 -0 -1 -1 -1 -1 -1 -2 -1 -1 -1 0 1 3 4 6 7 9 10 10 11 12 13 14 14 14 14 14 14 15 15 15 16 16 16 17 17 16 16 15 14 13 12 12 11 11 11 11 12 12 13 13 13 14 14 15 16 16 17 17 17 17 18 18 18 19 19 19 18 18 17 17 16 15 14 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 16 17 18 18 18 18 18 19 20 21 22 24 25 26 26 25 23 22 22 23 25 26 27 28 29 29 29 28 26 24 23 22 22 22 20 18 15 13 10 7 -54 -53 -50 -47 -46 -47 -47 -46 -44 -43 -43 -43 -43 -43 -44 -45 -45 -44 -43 -41 -41 -40 -39 -38 -37 -35 -34 -35 -35 -35 -34 -33 -32 -33 -33 -32 -31 -28 -27 -27 -26 -25 -23 -21 -18 -15 -14 -13 -10 -8 -7 -6 -6 -5 -3 -1 -0 -1 -2 -3 -4 -4 -2 -1 -1 -1 -3 -7 -11 -15 -16 -16 -16 -17 -19 -23 -27 -29 -29 -29 -28 -28 -28 -29 -30 -31 -31 -31 -29 -28 -29 -31 -32 -32 -29 -26 -25 -25 -24 -24 -28 -28 -20 -9 -4 -4 -4 -5 -6 -7 -8 -9 -9 -8 -7 -6 -5 -4 -3 -2 0 2 2 1 -1 -2 -2 1 5 8 10 10 10 10 10 10 10 11 12 14 16 17 16 13 11 11 11 11 11 10 9 7 5 3 2 2 1 1 1 0 -1 -2 -2 -2 -3 -3 -3 -3 -3 -4 -4 -5 -7 -8 -9 -10 -12 -12 -12 -12 -12 -11 -12 -12 -12 -12 -13 -14 -15 -14 -14 -13 -13 -12 -12 -12 -12 -11 -11 -10 -9 -8 -6 -5 -4 -4 -3 -2 -2 -1 -1 -0 0 0 1 1 1 0 0 -0 -1 -1 -1 -1 -1 -1 -0 0 1 1 2 2 2 2 3 4 4 5 6 6 6 6 6 6 5 5 4 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 0 0 0 -0 -0 -1 -1 -1 -2 -2 -2 -1 -1 0 1 2 4 5 7 8 9 10 11 12 13 14 14 14 15 15 15 15 16 16 17 17 18 18 17 17 16 15 14 13 12 12 11 11 11 12 12 13 13 13 14 14 15 16 16 16 16 16 17 17 17 18 18 19 19 19 19 18 18 17 16 15 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 15 15 15 15 15 15 15 15 16 16 17 17 18 18 18 19 19 20 21 23 24 25 25 24 23 22 22 23 24 24 25 26 26 27 28 27 25 23 22 21 21 22 21 19 17 15 12 9 -55 -54 -51 -48 -46 -46 -46 -45 -43 -41 -42 -42 -43 -43 -44 -45 -44 -43 -42 -41 -39 -39 -38 -38 -37 -36 -35 -35 -35 -35 -35 -34 -34 -35 -35 -35 -34 -32 -31 -29 -27 -24 -21 -18 -15 -14 -13 -12 -10 -8 -8 -7 -6 -5 -2 -1 -2 -3 -5 -6 -6 -5 -3 -3 -5 -7 -9 -12 -15 -17 -17 -17 -18 -20 -23 -27 -30 -31 -30 -28 -27 -28 -28 -29 -30 -31 -32 -32 -30 -30 -31 -33 -33 -31 -29 -26 -24 -22 -21 -21 -26 -29 -26 -16 -6 -3 -4 -5 -6 -8 -9 -10 -9 -9 -8 -8 -7 -6 -4 -2 -0 0 -0 -2 -3 -3 -1 3 7 10 10 10 9 9 9 10 11 11 13 15 16 16 14 12 12 12 12 12 11 9 7 5 3 2 2 1 1 1 -0 -1 -2 -2 -3 -4 -4 -4 -4 -4 -4 -5 -6 -8 -9 -10 -11 -12 -13 -13 -13 -12 -12 -12 -12 -12 -13 -13 -13 -14 -14 -14 -13 -13 -12 -12 -12 -12 -12 -12 -11 -11 -10 -8 -7 -5 -4 -4 -4 -3 -3 -3 -2 -2 -1 -0 -0 0 -0 -0 -0 -0 -0 -1 -1 -1 -0 -0 0 1 1 2 2 3 3 3 3 4 4 5 6 6 7 7 7 6 6 5 4 3 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 0 -0 -1 -1 -1 -1 -2 -1 -1 -0 0 1 2 3 4 6 7 8 10 11 12 13 14 14 15 15 15 16 16 16 17 17 18 18 18 17 17 16 15 14 13 13 12 12 12 12 12 13 13 13 13 14 15 15 16 16 16 16 16 16 16 17 17 18 19 19 19 19 18 18 17 16 15 15 15 15 14 14 14 14 15 15 15 14 14 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 17 17 18 18 18 19 20 21 22 24 25 25 24 24 23 23 23 23 23 23 23 23 23 23 22 21 19 18 18 19 20 20 20 19 17 14 11 -54 -54 -52 -49 -47 -45 -44 -43 -41 -40 -41 -42 -43 -43 -44 -44 -43 -42 -41 -40 -38 -38 -38 -37 -37 -37 -36 -35 -35 -35 -35 -36 -37 -37 -37 -37 -36 -34 -32 -30 -26 -22 -18 -15 -14 -15 -14 -13 -12 -11 -10 -8 -6 -4 -2 -2 -4 -5 -7 -7 -7 -5 -5 -6 -8 -12 -13 -16 -18 -18 -18 -18 -20 -23 -26 -29 -31 -31 -29 -28 -27 -27 -28 -29 -30 -31 -32 -32 -32 -33 -35 -35 -33 -29 -26 -25 -24 -22 -19 -18 -22 -27 -29 -23 -11 -3 -3 -5 -7 -8 -9 -10 -9 -9 -8 -8 -7 -5 -4 -2 -1 -1 -3 -4 -4 -3 1 6 9 10 9 8 8 9 10 10 11 12 14 15 15 14 13 12 13 14 13 12 10 8 5 3 2 2 2 1 1 0 -0 -1 -2 -3 -4 -5 -5 -5 -5 -5 -6 -7 -9 -10 -10 -11 -13 -14 -14 -14 -13 -13 -13 -13 -13 -13 -13 -13 -14 -14 -14 -13 -13 -13 -13 -12 -12 -12 -12 -12 -12 -11 -10 -8 -7 -6 -5 -5 -5 -5 -5 -5 -4 -4 -3 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -0 -0 0 1 1 2 3 3 3 3 4 4 4 5 6 7 7 8 8 7 7 6 5 4 3 3 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 2 1 1 1 1 1 0 -0 -0 -0 -1 -1 -1 -0 0 0 1 1 2 3 4 5 7 8 10 11 12 13 14 15 15 16 16 16 17 17 18 18 18 18 18 17 17 16 15 14 13 13 13 13 13 13 13 13 13 13 14 14 15 15 15 15 15 15 15 16 16 16 17 18 18 19 19 18 18 17 17 17 16 16 15 14 14 14 14 14 15 15 15 15 15 15 16 16 16 17 17 17 17 17 17 18 17 17 17 17 16 17 17 18 18 18 19 20 21 23 24 24 25 24 24 24 23 23 22 21 21 20 19 19 17 16 15 14 14 15 16 17 18 18 17 15 13 -53 -52 -51 -48 -47 -45 -43 -41 -40 -40 -41 -42 -43 -43 -43 -43 -42 -41 -40 -39 -38 -37 -37 -37 -38 -37 -36 -35 -34 -34 -35 -37 -39 -40 -39 -38 -36 -35 -32 -28 -23 -19 -16 -15 -16 -17 -17 -16 -15 -13 -11 -8 -5 -3 -3 -4 -6 -7 -8 -8 -7 -7 -7 -8 -11 -15 -17 -18 -19 -19 -18 -19 -23 -26 -28 -30 -31 -30 -29 -28 -28 -28 -28 -29 -30 -31 -32 -33 -34 -36 -38 -37 -33 -25 -24 -24 -24 -22 -20 -17 -19 -24 -27 -27 -19 -6 -3 -4 -6 -8 -8 -8 -8 -8 -8 -7 -6 -5 -3 -2 -2 -4 -5 -6 -4 -1 4 8 9 8 7 7 8 9 10 11 11 12 14 14 13 12 13 14 14 14 12 10 8 5 4 3 2 2 2 1 1 0 -1 -2 -3 -3 -4 -5 -5 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -14 -14 -13 -13 -13 -13 -13 -13 -13 -14 -14 -14 -14 -14 -13 -13 -13 -13 -13 -13 -13 -13 -13 -13 -12 -10 -9 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -5 -5 -5 -4 -4 -4 -3 -3 -2 -2 -2 -1 -1 -0 -0 0 1 2 3 3 4 4 4 4 5 5 6 7 8 8 8 8 7 7 6 5 4 4 3 3 3 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 3 4 6 7 9 11 12 13 14 15 16 16 16 17 17 17 17 17 18 18 18 18 17 16 15 15 14 13 13 13 13 13 13 13 13 13 13 13 14 14 14 15 15 15 15 15 15 16 16 17 18 18 18 18 18 18 18 18 17 17 16 15 14 14 14 14 15 15 15 16 16 16 16 17 17 17 17 17 18 18 18 18 18 18 18 17 17 17 17 17 18 18 18 19 20 22 23 23 24 24 24 24 23 22 21 20 19 18 17 16 15 13 12 11 11 11 13 14 16 17 17 16 15 -51 -51 -49 -48 -46 -44 -41 -39 -39 -40 -42 -43 -42 -42 -43 -43 -42 -41 -40 -39 -38 -37 -37 -37 -38 -38 -37 -35 -34 -34 -35 -38 -40 -40 -40 -38 -35 -33 -29 -24 -20 -18 -17 -18 -20 -20 -19 -17 -15 -12 -9 -6 -5 -5 -6 -7 -7 -8 -8 -8 -8 -9 -10 -12 -14 -17 -18 -19 -18 -18 -19 -22 -25 -27 -29 -29 -29 -29 -29 -29 -29 -29 -29 -30 -30 -32 -33 -36 -38 -40 -41 -40 -34 -24 -23 -22 -22 -22 -20 -19 -20 -22 -26 -30 -26 -14 -6 -4 -5 -7 -7 -7 -7 -6 -6 -5 -4 -3 -3 -3 -5 -6 -7 -5 -2 3 6 7 6 5 5 6 8 9 10 10 11 12 12 12 12 12 14 15 14 12 10 8 5 4 3 2 2 2 2 1 0 -0 -1 -2 -3 -4 -4 -5 -5 -6 -7 -8 -10 -11 -11 -11 -12 -13 -13 -14 -14 -14 -14 -14 -14 -14 -13 -13 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -13 -12 -11 -9 -8 -8 -9 -10 -10 -9 -8 -7 -7 -7 -7 -7 -7 -7 -6 -5 -5 -4 -3 -3 -2 -2 -1 -1 -0 0 1 2 3 3 4 4 4 5 5 5 6 7 8 8 9 9 8 7 6 6 5 4 4 4 3 3 3 2 2 2 2 2 3 3 4 4 4 4 4 4 3 3 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 2 2 2 2 3 4 5 7 9 11 12 13 14 15 15 16 16 17 17 17 17 17 17 17 17 17 17 16 16 15 14 14 14 14 14 13 13 13 13 13 13 13 13 13 14 14 14 14 14 15 15 16 16 17 17 18 18 18 18 19 19 19 18 17 16 15 15 14 14 14 15 15 15 16 16 17 17 17 18 18 17 17 17 18 18 18 18 18 18 18 17 17 17 17 17 18 18 19 20 21 22 22 23 23 23 23 22 21 20 19 18 17 17 16 14 13 11 10 9 9 10 11 13 15 16 16 16 -51 -50 -48 -47 -45 -42 -39 -38 -39 -41 -43 -43 -42 -42 -42 -42 -42 -40 -39 -39 -38 -37 -37 -37 -37 -38 -37 -35 -33 -33 -35 -37 -39 -39 -38 -36 -33 -28 -24 -20 -19 -20 -21 -22 -21 -20 -18 -15 -11 -7 -6 -6 -8 -9 -9 -8 -8 -8 -9 -9 -10 -11 -13 -14 -16 -18 -19 -19 -18 -19 -21 -24 -27 -28 -29 -29 -29 -29 -29 -29 -29 -30 -30 -31 -32 -33 -36 -39 -41 -41 -41 -39 -33 -25 -24 -23 -22 -22 -24 -27 -28 -24 -25 -31 -36 -29 -15 -6 -4 -6 -6 -6 -5 -5 -4 -4 -3 -3 -4 -5 -7 -7 -5 -2 2 5 6 4 3 3 4 7 8 9 9 9 10 10 10 10 12 13 15 14 12 9 7 5 4 3 2 2 2 2 1 0 -0 -1 -2 -3 -3 -4 -5 -5 -6 -7 -8 -10 -10 -11 -11 -11 -11 -12 -13 -13 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -15 -15 -15 -15 -15 -15 -14 -14 -14 -14 -15 -14 -14 -12 -10 -9 -9 -10 -12 -12 -11 -10 -9 -8 -8 -9 -9 -9 -8 -8 -8 -7 -6 -5 -4 -4 -3 -2 -2 -1 -0 0 1 2 3 3 4 4 4 5 5 6 6 7 8 8 9 9 8 8 7 6 5 5 5 4 4 4 3 3 3 3 3 3 3 4 4 5 5 5 5 5 4 4 3 3 3 3 3 3 4 4 4 5 5 5 5 5 4 4 3 3 3 3 4 5 7 10 11 12 12 13 14 15 15 16 17 17 17 17 16 16 16 16 17 17 17 16 16 15 15 14 14 14 14 14 13 13 13 12 12 12 12 13 13 13 14 14 15 15 16 16 16 17 17 18 18 18 19 19 19 18 17 17 16 15 15 15 14 15 15 16 16 16 17 18 18 18 18 18 17 17 17 17 17 18 18 18 17 17 16 16 16 17 17 18 19 20 21 21 22 23 23 23 23 22 21 19 18 17 17 16 16 15 13 12 10 9 8 9 10 11 13 15 16 16 -50 -49 -48 -46 -44 -40 -38 -37 -38 -41 -43 -43 -43 -42 -42 -42 -42 -40 -39 -38 -38 -37 -36 -36 -37 -37 -37 -35 -32 -32 -34 -36 -37 -37 -35 -33 -29 -24 -19 -19 -23 -25 -25 -22 -19 -17 -14 -10 -6 -4 -6 -9 -10 -11 -9 -8 -9 -10 -11 -11 -12 -13 -15 -16 -18 -20 -20 -20 -20 -21 -23 -25 -27 -28 -29 -30 -30 -30 -29 -30 -31 -32 -32 -33 -34 -35 -37 -39 -39 -36 -35 -33 -30 -26 -26 -25 -24 -25 -30 -36 -35 -28 -23 -27 -35 -37 -26 -13 -5 -5 -6 -6 -5 -4 -3 -3 -3 -4 -6 -7 -7 -5 -2 1 4 4 3 2 1 3 5 7 8 8 8 8 8 8 9 10 12 14 13 11 8 6 5 3 3 2 2 2 2 2 1 -0 -1 -2 -2 -3 -4 -4 -5 -5 -6 -7 -9 -10 -10 -10 -10 -10 -11 -12 -13 -13 -13 -13 -13 -14 -14 -14 -14 -14 -14 -15 -15 -15 -15 -15 -15 -15 -14 -14 -15 -15 -15 -15 -13 -11 -10 -10 -11 -12 -13 -12 -11 -10 -9 -9 -10 -10 -9 -9 -9 -9 -8 -8 -7 -6 -5 -4 -3 -2 -2 -1 -0 1 1 2 3 3 4 4 4 5 5 6 6 7 8 8 9 9 8 8 7 6 6 5 5 5 4 4 4 4 3 3 3 3 3 4 4 5 5 6 6 6 6 5 5 4 4 4 5 5 6 6 6 7 7 7 7 7 6 5 4 4 4 4 5 6 8 10 10 11 11 12 13 14 14 15 16 17 17 16 16 16 16 16 16 17 17 16 16 16 15 15 15 14 14 14 14 13 13 12 12 12 12 12 12 12 13 14 14 15 16 16 16 16 17 17 18 18 18 18 18 18 17 17 16 16 15 15 15 15 15 16 16 16 17 18 18 18 18 18 18 17 17 17 17 17 17 17 16 16 16 15 16 16 17 18 19 20 20 21 22 23 23 23 23 22 21 19 18 17 17 16 16 15 14 12 11 10 9 9 9 10 12 13 15 16 -50 -49 -48 -46 -43 -39 -36 -36 -37 -41 -43 -44 -43 -42 -41 -42 -42 -40 -39 -37 -36 -37 -36 -35 -35 -35 -35 -33 -31 -31 -32 -35 -36 -35 -34 -31 -27 -22 -20 -22 -26 -28 -26 -23 -18 -14 -10 -6 -4 -6 -9 -11 -12 -10 -8 -8 -10 -11 -12 -13 -14 -15 -16 -18 -19 -21 -21 -21 -21 -22 -24 -26 -28 -29 -30 -31 -31 -31 -31 -32 -33 -34 -35 -36 -36 -37 -38 -37 -34 -34 -34 -34 -32 -30 -33 -33 -31 -32 -37 -42 -42 -35 -28 -26 -32 -39 -33 -21 -10 -6 -7 -7 -5 -4 -3 -3 -4 -6 -6 -6 -4 -1 1 3 3 2 1 0 1 3 5 6 6 6 6 6 6 7 8 10 12 12 10 7 6 4 3 2 2 2 2 2 2 1 0 -1 -2 -3 -3 -4 -5 -5 -5 -6 -7 -8 -8 -8 -8 -8 -8 -9 -11 -12 -13 -13 -13 -13 -13 -13 -13 -13 -14 -14 -15 -15 -15 -16 -16 -15 -15 -14 -14 -15 -15 -16 -15 -14 -12 -10 -10 -11 -13 -13 -13 -11 -10 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -8 -7 -6 -6 -5 -4 -3 -2 -1 -0 1 1 2 3 3 4 4 4 5 5 6 6 7 8 8 9 9 9 8 7 7 6 6 5 5 5 4 4 4 4 4 4 4 4 4 5 5 6 6 7 7 7 7 6 6 6 6 6 7 7 8 8 9 9 9 9 8 7 6 6 5 5 6 7 8 10 10 9 9 10 11 12 13 14 15 15 16 16 16 15 15 15 16 16 16 16 17 17 16 16 16 15 15 15 14 14 13 13 12 12 12 11 11 11 12 13 14 14 15 15 15 16 16 16 17 17 17 18 18 18 18 17 17 17 16 16 15 15 15 15 16 16 16 17 17 17 18 18 18 19 18 18 17 17 16 16 16 15 15 14 15 15 16 17 17 18 19 20 21 22 23 23 23 23 22 20 19 18 17 17 16 15 14 13 13 12 11 10 9 9 9 10 12 13 14 -49 -49 -48 -46 -43 -38 -35 -34 -37 -40 -43 -44 -43 -41 -40 -41 -41 -40 -38 -37 -36 -36 -35 -34 -33 -33 -33 -32 -30 -30 -31 -33 -35 -35 -33 -30 -26 -23 -22 -25 -28 -28 -26 -22 -16 -11 -7 -5 -6 -10 -12 -13 -12 -9 -7 -8 -11 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -23 -24 -25 -27 -28 -29 -31 -33 -33 -33 -33 -33 -35 -36 -37 -37 -38 -38 -38 -36 -34 -36 -38 -39 -38 -37 -40 -40 -39 -39 -42 -44 -45 -42 -36 -31 -30 -37 -36 -29 -19 -10 -7 -7 -6 -5 -5 -5 -6 -6 -5 -4 -1 1 2 2 2 0 -0 0 2 3 4 4 4 4 4 4 5 6 8 9 10 8 6 5 3 3 2 1 1 2 2 2 1 1 -0 -1 -2 -3 -4 -5 -5 -6 -6 -6 -7 -7 -7 -7 -7 -7 -8 -10 -12 -13 -13 -12 -12 -12 -12 -12 -13 -13 -14 -14 -15 -15 -15 -16 -15 -15 -14 -14 -14 -15 -16 -16 -14 -12 -10 -10 -12 -13 -14 -13 -11 -10 -10 -10 -11 -11 -10 -10 -10 -10 -10 -9 -9 -8 -8 -7 -6 -5 -4 -3 -3 -2 -1 -0 1 1 2 3 3 4 4 5 6 6 7 8 8 9 9 9 9 8 8 7 7 6 6 5 5 5 5 5 5 5 5 5 5 5 5 6 6 7 7 8 8 8 8 8 8 8 8 8 9 9 9 10 10 10 10 9 8 8 8 8 8 8 9 10 10 9 8 8 9 10 11 12 13 14 14 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 15 14 14 13 12 12 12 12 11 11 11 12 13 14 14 15 15 15 15 15 15 16 16 16 17 17 17 17 17 17 17 16 16 16 15 15 16 16 16 16 16 16 17 17 18 19 19 19 19 18 17 16 16 15 15 14 14 14 15 16 16 17 18 19 20 21 22 23 23 23 22 21 20 19 18 17 17 16 15 14 13 13 12 12 11 10 9 9 9 10 11 12 -49 -48 -47 -44 -41 -37 -34 -34 -37 -41 -44 -44 -43 -41 -40 -40 -40 -39 -38 -37 -36 -36 -35 -33 -32 -32 -32 -31 -30 -29 -30 -32 -34 -34 -32 -28 -25 -23 -24 -27 -28 -27 -24 -19 -13 -8 -6 -6 -9 -12 -13 -13 -11 -8 -7 -8 -11 -14 -15 -17 -17 -18 -18 -20 -22 -23 -24 -24 -25 -25 -26 -27 -29 -30 -32 -34 -35 -34 -34 -34 -35 -36 -37 -38 -38 -38 -38 -37 -38 -39 -41 -42 -43 -44 -44 -45 -44 -44 -43 -42 -44 -45 -43 -36 -29 -33 -37 -37 -30 -18 -9 -8 -7 -7 -7 -7 -6 -5 -3 -1 0 1 1 1 -0 -1 -1 1 2 2 3 3 3 3 3 4 5 6 7 8 7 5 4 3 2 1 1 0 1 1 1 1 1 -0 -1 -2 -3 -4 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -8 -10 -12 -13 -13 -12 -11 -11 -11 -12 -13 -13 -13 -14 -14 -15 -15 -15 -15 -15 -14 -14 -14 -15 -16 -16 -14 -12 -11 -10 -12 -14 -15 -14 -12 -10 -10 -11 -12 -12 -12 -11 -10 -10 -10 -10 -9 -9 -9 -8 -7 -7 -6 -5 -4 -4 -3 -2 -2 -1 0 1 2 3 3 4 5 6 7 8 9 9 10 10 10 10 9 9 8 8 7 7 6 6 5 5 5 5 6 6 6 6 6 6 7 7 7 8 9 9 9 9 9 9 10 10 10 10 10 10 11 11 11 10 10 10 10 10 10 10 11 11 10 9 8 7 7 8 9 10 11 12 13 14 14 14 14 15 15 14 14 15 15 15 16 16 16 17 17 17 16 16 15 14 13 13 12 12 12 11 11 11 12 13 13 14 14 14 14 14 14 14 14 15 15 16 16 16 17 17 17 17 16 16 16 16 16 16 16 17 17 17 16 16 17 17 18 19 19 19 18 18 17 16 15 14 14 13 14 15 16 16 17 17 18 20 21 22 23 23 23 22 21 20 19 18 17 16 15 14 14 13 13 13 13 12 11 10 9 9 9 9 10 -50 -48 -46 -42 -39 -35 -34 -36 -38 -41 -43 -43 -42 -41 -40 -40 -40 -39 -38 -38 -37 -36 -34 -32 -32 -31 -31 -30 -29 -28 -29 -31 -33 -32 -30 -27 -25 -24 -25 -27 -27 -25 -22 -16 -10 -7 -6 -8 -10 -12 -13 -12 -10 -8 -7 -9 -12 -14 -17 -18 -18 -18 -20 -22 -24 -26 -26 -27 -27 -27 -27 -28 -29 -31 -33 -35 -36 -35 -34 -34 -35 -36 -37 -37 -38 -39 -39 -40 -41 -42 -43 -45 -46 -47 -47 -46 -46 -44 -43 -42 -43 -45 -45 -41 -33 -32 -37 -41 -40 -30 -13 -8 -8 -8 -8 -7 -6 -4 -2 -1 -1 -1 -1 -1 -2 -2 -1 0 1 1 1 2 2 2 3 3 4 6 6 6 4 3 2 1 0 -0 -1 -1 -0 0 0 0 0 -1 -2 -3 -4 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -8 -10 -12 -14 -13 -12 -10 -10 -11 -12 -13 -13 -13 -13 -14 -14 -14 -15 -15 -14 -14 -14 -14 -15 -15 -15 -14 -12 -11 -10 -12 -15 -16 -15 -12 -10 -10 -12 -13 -13 -13 -12 -11 -11 -11 -11 -10 -10 -10 -9 -9 -8 -8 -7 -6 -6 -5 -5 -4 -3 -2 -1 -0 0 1 2 3 4 6 7 8 9 10 11 11 11 11 11 10 10 9 9 8 7 7 7 6 6 7 7 7 7 8 8 8 8 8 9 9 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 11 11 9 8 7 7 7 8 8 9 10 11 12 13 13 14 14 14 14 14 14 14 15 15 15 16 16 17 17 17 16 16 15 15 14 13 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 14 14 15 15 16 16 16 16 16 16 16 16 16 16 17 17 17 17 17 17 17 17 18 18 19 18 18 17 16 16 15 14 14 14 14 15 16 16 16 17 18 19 21 22 23 23 23 22 21 20 19 18 17 16 15 14 14 13 14 14 13 13 12 11 10 9 8 8 9 -50 -48 -45 -41 -37 -34 -36 -38 -40 -42 -43 -43 -43 -42 -41 -40 -39 -39 -39 -39 -38 -36 -33 -31 -30 -29 -29 -28 -28 -28 -28 -30 -31 -31 -29 -26 -25 -25 -25 -26 -26 -24 -20 -15 -10 -8 -9 -10 -11 -12 -13 -11 -9 -7 -7 -9 -12 -16 -19 -20 -20 -20 -22 -25 -27 -29 -29 -28 -28 -27 -28 -29 -31 -32 -34 -35 -36 -35 -34 -33 -34 -36 -37 -39 -40 -42 -43 -43 -44 -45 -46 -47 -48 -49 -49 -49 -48 -46 -43 -41 -41 -42 -44 -45 -42 -36 -37 -43 -46 -39 -22 -11 -8 -8 -8 -7 -5 -4 -3 -3 -3 -3 -3 -3 -3 -3 -1 -0 -0 0 1 1 2 2 3 3 4 5 5 3 2 1 1 -0 -1 -2 -2 -2 -1 -1 -0 -0 -1 -2 -3 -4 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -7 -8 -10 -12 -14 -13 -12 -10 -9 -11 -12 -13 -13 -13 -13 -13 -14 -14 -14 -14 -14 -14 -14 -14 -14 -15 -15 -14 -12 -11 -10 -12 -15 -16 -15 -13 -11 -10 -12 -13 -14 -14 -13 -12 -12 -12 -12 -12 -11 -11 -10 -10 -9 -9 -9 -8 -8 -8 -7 -6 -5 -5 -4 -3 -2 -1 -1 0 2 3 4 6 7 9 10 10 11 11 12 12 12 12 11 10 10 9 9 8 8 8 8 8 9 9 9 9 10 10 10 10 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 12 11 10 9 8 7 7 8 8 8 9 10 11 11 12 12 13 13 13 13 13 13 14 14 15 15 16 16 17 16 16 16 16 16 15 14 14 13 12 12 12 12 13 13 13 13 12 12 12 12 12 12 12 12 12 13 13 14 14 15 15 15 15 16 16 16 16 16 17 17 17 17 17 18 18 18 18 18 18 18 17 17 16 16 15 15 14 14 14 14 15 16 16 16 17 18 19 21 22 23 23 23 22 22 21 20 19 18 17 16 15 14 14 14 14 14 13 12 12 11 10 9 8 7 -49 -48 -45 -41 -37 -34 -37 -39 -41 -42 -43 -43 -43 -42 -42 -41 -39 -39 -39 -39 -39 -37 -33 -30 -29 -28 -27 -27 -27 -27 -28 -29 -30 -30 -28 -26 -25 -24 -24 -24 -24 -22 -19 -15 -13 -13 -12 -12 -12 -13 -12 -10 -8 -7 -7 -10 -14 -19 -22 -24 -24 -24 -25 -27 -29 -30 -30 -29 -28 -28 -29 -30 -31 -33 -34 -35 -36 -34 -33 -34 -35 -37 -39 -41 -43 -45 -45 -46 -46 -47 -47 -48 -49 -50 -50 -50 -49 -46 -42 -39 -40 -42 -44 -47 -48 -43 -38 -40 -45 -47 -38 -22 -11 -7 -8 -7 -6 -5 -5 -5 -5 -4 -5 -5 -5 -4 -2 -1 -1 -0 1 2 2 2 2 2 3 3 3 2 1 0 -0 -1 -2 -3 -3 -3 -2 -2 -1 -1 -1 -2 -4 -5 -5 -6 -6 -6 -6 -6 -6 -7 -7 -7 -8 -10 -11 -13 -14 -12 -10 -10 -10 -12 -14 -13 -13 -13 -13 -14 -14 -14 -14 -14 -14 -14 -14 -14 -15 -15 -15 -13 -11 -11 -12 -15 -16 -16 -13 -11 -10 -11 -13 -14 -14 -14 -13 -13 -14 -14 -14 -13 -13 -12 -11 -11 -10 -10 -9 -9 -9 -9 -9 -8 -7 -6 -5 -4 -4 -3 -3 -2 -0 1 2 4 6 7 8 9 10 10 11 12 12 12 12 12 12 11 11 10 10 10 10 10 11 11 12 12 12 12 12 13 13 13 13 13 14 14 14 14 13 13 13 13 13 13 13 14 14 14 14 14 13 13 12 11 10 9 8 8 8 8 8 8 9 10 10 11 11 12 12 13 13 13 13 13 13 14 15 15 16 16 16 16 16 16 16 16 16 15 15 14 13 13 13 13 13 13 13 13 12 12 11 11 11 11 11 12 12 13 13 13 13 14 15 15 15 15 15 16 16 16 17 17 17 17 17 18 18 19 18 18 18 17 16 16 15 15 15 15 14 14 15 15 15 16 16 16 17 18 19 20 22 23 24 24 23 23 22 21 20 19 18 17 16 15 14 14 14 13 13 13 12 11 10 9 8 7 -49 -47 -44 -40 -36 -34 -37 -40 -41 -42 -42 -42 -42 -43 -42 -41 -40 -38 -38 -39 -39 -37 -34 -31 -29 -28 -26 -26 -26 -27 -28 -29 -29 -29 -28 -26 -25 -23 -22 -22 -22 -19 -15 -13 -15 -15 -14 -12 -11 -11 -11 -10 -9 -9 -9 -12 -17 -22 -26 -27 -27 -27 -27 -28 -29 -30 -31 -30 -29 -29 -30 -31 -33 -33 -34 -34 -34 -32 -33 -34 -36 -38 -41 -43 -45 -46 -47 -48 -48 -48 -49 -50 -50 -51 -51 -51 -49 -46 -42 -39 -40 -42 -44 -46 -49 -46 -41 -40 -45 -50 -50 -39 -24 -13 -8 -8 -7 -6 -6 -6 -5 -5 -6 -7 -6 -4 -3 -2 -1 -0 1 2 1 1 1 1 1 2 1 0 -0 -1 -2 -2 -3 -4 -4 -4 -3 -2 -2 -2 -2 -3 -4 -5 -5 -6 -6 -6 -7 -7 -8 -8 -9 -9 -10 -11 -12 -13 -12 -11 -10 -10 -12 -13 -14 -14 -13 -13 -14 -14 -14 -14 -14 -14 -14 -14 -14 -15 -15 -15 -14 -13 -12 -13 -15 -16 -16 -13 -11 -10 -11 -13 -14 -14 -14 -13 -14 -14 -15 -15 -15 -14 -13 -13 -12 -11 -10 -10 -10 -10 -10 -10 -9 -8 -7 -7 -6 -6 -5 -5 -4 -3 -2 -1 0 2 3 5 6 7 8 9 10 11 11 12 12 13 13 13 13 12 12 12 12 13 13 13 14 14 15 15 15 16 15 15 15 15 16 16 15 15 15 14 14 14 14 14 15 15 15 15 15 14 13 12 11 11 10 10 9 9 9 9 9 9 10 10 11 11 12 12 13 13 13 13 13 13 13 14 14 15 16 16 16 16 17 17 17 17 16 16 15 15 14 14 14 14 14 14 14 13 13 12 12 11 11 11 11 12 12 13 13 13 13 14 14 15 15 15 15 16 16 16 16 17 17 17 17 17 18 19 19 19 18 17 16 15 15 15 15 15 15 15 15 15 15 16 16 16 17 18 19 20 21 23 24 24 24 24 23 22 21 20 19 18 17 16 15 14 14 13 13 12 12 12 11 9 8 6 -49 -47 -44 -40 -36 -35 -37 -40 -41 -41 -41 -42 -42 -42 -42 -41 -40 -39 -38 -38 -38 -38 -35 -31 -29 -27 -26 -26 -27 -27 -28 -29 -29 -27 -26 -25 -24 -23 -23 -22 -20 -17 -15 -15 -16 -14 -10 -8 -7 -10 -12 -13 -13 -13 -14 -17 -21 -25 -27 -29 -29 -29 -29 -29 -30 -31 -32 -31 -30 -30 -31 -33 -34 -34 -33 -32 -31 -30 -32 -34 -37 -40 -42 -44 -46 -47 -48 -49 -49 -49 -50 -50 -51 -51 -51 -51 -51 -48 -44 -41 -41 -41 -41 -43 -49 -51 -47 -41 -39 -43 -49 -49 -40 -26 -14 -9 -8 -7 -6 -6 -6 -6 -7 -7 -6 -5 -3 -2 -1 0 1 1 0 -0 -0 -0 0 0 -1 -1 -2 -2 -3 -3 -4 -4 -4 -4 -4 -3 -3 -3 -3 -4 -5 -5 -6 -6 -6 -7 -8 -9 -10 -10 -10 -10 -11 -11 -12 -12 -11 -11 -11 -12 -13 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -15 -15 -15 -15 -14 -14 -15 -16 -17 -16 -14 -11 -10 -11 -12 -14 -14 -13 -13 -13 -14 -15 -16 -16 -15 -15 -14 -13 -12 -11 -11 -11 -11 -11 -11 -10 -9 -8 -8 -7 -7 -6 -6 -6 -5 -4 -4 -3 -1 0 2 3 4 5 6 7 8 9 10 11 12 13 13 13 13 13 13 13 14 14 14 15 15 16 17 18 18 18 18 18 18 18 18 17 17 16 16 15 15 15 16 16 16 16 16 15 15 14 13 12 12 12 11 11 10 10 10 10 10 10 11 12 12 13 13 13 14 14 14 13 13 13 13 13 14 14 15 16 16 17 17 17 17 17 17 16 16 16 15 15 15 15 15 15 14 14 13 13 12 12 12 12 12 12 13 13 13 13 13 14 14 15 15 15 15 15 16 16 16 16 16 16 16 17 17 18 19 19 19 18 17 16 15 15 15 15 15 15 15 15 15 16 16 17 17 18 19 20 21 22 23 24 25 24 24 23 22 21 20 19 18 17 16 15 14 13 13 13 12 12 11 10 8 7 -50 -48 -44 -40 -36 -36 -39 -40 -41 -41 -41 -42 -42 -42 -41 -41 -41 -39 -38 -38 -38 -38 -36 -32 -29 -27 -26 -26 -27 -28 -28 -28 -27 -26 -25 -25 -24 -23 -22 -21 -19 -17 -16 -16 -15 -12 -8 -7 -8 -12 -15 -16 -16 -17 -18 -20 -23 -25 -27 -29 -31 -31 -31 -31 -31 -32 -33 -32 -32 -32 -33 -34 -34 -34 -32 -30 -29 -29 -32 -35 -38 -41 -43 -45 -46 -47 -47 -48 -49 -49 -50 -51 -52 -52 -52 -52 -52 -51 -49 -44 -40 -37 -37 -41 -49 -52 -49 -41 -34 -36 -44 -52 -51 -41 -27 -15 -9 -7 -6 -6 -6 -7 -7 -7 -6 -5 -3 -1 -1 -0 -0 -0 -1 -1 -1 -1 -1 -1 -2 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -6 -7 -8 -9 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -12 -13 -14 -14 -14 -14 -14 -15 -15 -15 -14 -14 -14 -14 -14 -14 -14 -15 -15 -15 -15 -16 -17 -17 -16 -14 -12 -11 -11 -12 -13 -13 -12 -12 -13 -14 -15 -15 -15 -15 -15 -14 -13 -12 -11 -11 -11 -11 -11 -11 -10 -10 -9 -8 -7 -7 -7 -6 -6 -6 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 13 13 13 13 14 14 15 15 16 17 18 19 20 20 20 20 20 20 19 19 18 17 17 17 17 17 17 18 18 17 17 16 15 14 14 13 13 12 12 12 11 11 11 11 11 12 12 13 14 15 15 15 15 15 15 14 14 13 13 13 13 14 14 15 16 17 17 18 18 18 17 17 17 16 16 16 16 16 16 15 15 15 15 14 14 13 13 13 13 13 13 13 13 13 13 13 14 14 15 15 15 15 15 16 16 16 16 16 16 17 17 17 18 19 19 18 18 17 16 15 15 15 15 15 15 15 15 16 16 17 17 18 19 19 20 21 22 23 24 24 24 23 22 22 21 20 19 18 16 15 14 13 13 13 12 12 12 11 9 8 -51 -47 -44 -40 -38 -38 -40 -41 -41 -41 -41 -42 -43 -43 -42 -42 -41 -40 -40 -39 -38 -37 -36 -34 -32 -30 -28 -28 -28 -29 -28 -28 -26 -26 -25 -25 -24 -23 -22 -21 -19 -18 -17 -16 -13 -10 -8 -9 -12 -15 -17 -17 -18 -19 -20 -21 -23 -25 -28 -30 -31 -31 -31 -31 -32 -32 -33 -34 -34 -33 -34 -34 -33 -32 -31 -29 -28 -30 -33 -36 -39 -42 -43 -44 -45 -46 -46 -46 -47 -48 -50 -51 -52 -53 -53 -54 -54 -54 -53 -48 -41 -35 -34 -37 -43 -48 -47 -40 -33 -33 -38 -46 -51 -50 -42 -28 -16 -10 -8 -7 -7 -8 -8 -7 -6 -5 -3 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -6 -7 -8 -9 -11 -12 -12 -12 -11 -11 -10 -10 -10 -10 -10 -11 -11 -12 -13 -14 -15 -15 -15 -15 -15 -15 -15 -14 -14 -14 -14 -14 -14 -14 -14 -15 -15 -16 -17 -17 -17 -15 -13 -11 -11 -11 -12 -12 -12 -12 -12 -13 -14 -15 -15 -15 -15 -14 -14 -13 -12 -11 -11 -10 -11 -11 -10 -10 -9 -8 -7 -7 -6 -6 -6 -6 -6 -6 -6 -5 -3 -2 -1 -1 -0 0 1 2 3 4 5 6 7 8 9 10 11 11 12 12 12 13 13 14 14 15 16 18 19 20 20 21 21 21 20 20 19 19 18 18 18 18 19 19 19 19 18 18 17 16 15 15 14 14 13 13 13 12 12 12 12 13 13 14 15 16 16 17 17 17 16 16 15 14 14 14 14 14 14 14 15 16 16 17 18 18 18 18 17 17 17 17 17 17 17 16 16 16 16 16 16 16 15 15 14 14 14 14 14 14 14 13 13 13 14 15 15 15 15 15 16 16 16 17 17 17 17 17 17 18 18 18 18 18 18 17 16 16 16 15 15 15 16 16 16 16 17 18 18 19 19 20 20 21 22 23 23 23 23 23 22 22 21 20 18 17 16 14 14 13 13 13 12 12 11 10 8 -51 -46 -44 -42 -42 -41 -42 -41 -41 -41 -41 -42 -43 -43 -42 -41 -40 -40 -39 -38 -37 -36 -36 -35 -33 -32 -31 -30 -29 -29 -28 -27 -26 -25 -25 -25 -24 -23 -22 -21 -20 -19 -17 -15 -11 -9 -9 -12 -16 -18 -17 -18 -19 -19 -19 -20 -23 -27 -30 -32 -32 -32 -31 -31 -32 -32 -34 -35 -35 -35 -34 -33 -32 -31 -30 -29 -29 -31 -34 -38 -40 -42 -44 -44 -45 -45 -45 -45 -46 -48 -50 -51 -52 -53 -54 -55 -56 -56 -56 -53 -45 -38 -34 -34 -36 -40 -42 -40 -36 -35 -36 -39 -45 -51 -52 -44 -30 -19 -12 -9 -9 -9 -8 -8 -6 -5 -3 -2 -1 -1 -1 -2 -2 -2 -2 -3 -3 -5 -5 -5 -5 -4 -4 -4 -3 -4 -5 -5 -6 -6 -6 -5 -5 -6 -6 -6 -7 -9 -10 -12 -13 -12 -12 -11 -10 -10 -9 -10 -10 -10 -11 -12 -13 -14 -14 -15 -15 -15 -15 -15 -15 -15 -14 -14 -14 -14 -13 -13 -13 -13 -14 -15 -16 -17 -17 -16 -14 -12 -11 -11 -11 -11 -11 -11 -12 -12 -13 -13 -14 -14 -14 -14 -13 -13 -12 -11 -11 -10 -10 -10 -10 -9 -8 -7 -6 -6 -6 -6 -6 -6 -6 -7 -6 -6 -5 -3 -3 -2 -2 -2 -1 -0 1 1 2 3 4 5 6 7 8 9 10 10 11 11 11 11 12 13 14 15 17 18 19 20 20 20 20 20 20 19 19 18 18 18 19 20 21 21 20 19 19 18 17 17 16 16 15 14 14 14 14 14 14 14 15 15 16 17 18 18 18 18 18 17 17 16 16 16 15 15 14 14 14 14 15 16 17 17 18 18 18 18 18 18 18 18 18 17 17 17 17 17 17 17 17 17 17 16 16 15 15 15 15 14 14 13 13 14 14 15 15 16 16 16 16 16 17 18 18 18 18 18 17 18 18 18 18 19 18 18 17 16 15 15 15 16 16 17 17 17 18 18 19 19 19 20 20 21 22 22 23 23 23 23 22 22 21 19 18 16 15 14 13 13 12 12 12 12 11 9 -52 -47 -44 -43 -43 -43 -43 -42 -42 -41 -41 -42 -43 -42 -42 -41 -40 -40 -39 -38 -37 -36 -36 -35 -34 -33 -32 -31 -30 -29 -27 -26 -24 -23 -23 -23 -23 -23 -22 -21 -20 -18 -16 -13 -10 -10 -12 -16 -19 -18 -18 -18 -18 -18 -18 -21 -26 -31 -33 -34 -33 -32 -32 -32 -33 -33 -34 -35 -36 -36 -35 -32 -31 -29 -29 -29 -30 -33 -36 -39 -41 -42 -44 -44 -45 -45 -44 -45 -46 -48 -50 -51 -53 -54 -54 -55 -56 -56 -57 -58 -54 -46 -39 -36 -36 -37 -39 -40 -42 -44 -43 -40 -40 -43 -49 -50 -44 -33 -23 -15 -11 -10 -9 -8 -7 -6 -4 -3 -2 -2 -2 -3 -3 -3 -3 -3 -4 -5 -6 -6 -5 -5 -4 -4 -4 -5 -6 -6 -7 -7 -6 -6 -6 -6 -6 -7 -8 -10 -11 -12 -12 -11 -11 -10 -9 -9 -9 -10 -10 -10 -11 -12 -13 -14 -14 -15 -15 -15 -15 -15 -15 -15 -14 -14 -13 -13 -13 -12 -12 -13 -13 -14 -15 -16 -16 -15 -14 -12 -11 -10 -10 -11 -11 -11 -12 -12 -12 -13 -13 -13 -13 -13 -13 -12 -12 -11 -10 -10 -10 -9 -9 -8 -6 -6 -5 -6 -6 -6 -6 -6 -7 -7 -7 -6 -4 -3 -3 -3 -3 -2 -1 -1 -0 -0 0 1 2 3 4 5 6 7 8 8 9 9 9 9 9 11 12 14 16 17 18 19 19 19 19 19 19 19 18 18 18 19 21 22 22 22 21 20 19 19 19 18 18 17 16 16 15 15 15 15 16 16 17 17 18 19 19 20 20 19 19 18 17 17 17 17 16 16 15 15 15 15 15 16 16 17 18 18 18 19 19 18 18 18 18 18 18 18 17 18 18 18 18 18 18 18 17 17 16 16 16 15 15 14 14 14 14 14 15 15 16 16 16 17 18 18 19 19 18 18 18 17 17 18 18 19 19 18 17 16 15 15 16 16 17 17 17 18 18 18 19 19 19 20 20 20 21 21 22 22 23 23 23 22 21 20 19 17 16 14 13 12 12 12 12 12 11 10 -53 -48 -44 -43 -44 -44 -43 -43 -44 -43 -43 -43 -43 -42 -41 -40 -39 -39 -39 -38 -38 -37 -36 -35 -35 -34 -33 -31 -30 -27 -25 -23 -22 -20 -20 -21 -21 -21 -21 -20 -19 -17 -14 -12 -10 -12 -16 -19 -19 -18 -18 -18 -18 -19 -20 -23 -28 -32 -34 -34 -33 -33 -33 -34 -35 -35 -36 -36 -36 -36 -34 -32 -30 -29 -29 -30 -32 -34 -37 -39 -40 -41 -43 -44 -44 -44 -44 -45 -46 -47 -49 -51 -53 -54 -54 -54 -55 -57 -59 -60 -57 -51 -45 -43 -41 -39 -41 -45 -50 -54 -55 -51 -43 -36 -36 -42 -48 -47 -38 -26 -17 -14 -11 -10 -9 -7 -5 -4 -3 -3 -3 -4 -4 -4 -3 -3 -4 -5 -5 -5 -5 -5 -4 -4 -5 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -9 -10 -11 -12 -11 -10 -10 -9 -9 -10 -10 -10 -10 -11 -12 -13 -13 -14 -14 -14 -15 -15 -15 -15 -15 -15 -14 -14 -13 -13 -12 -12 -12 -12 -12 -13 -14 -15 -15 -14 -13 -12 -10 -10 -10 -10 -11 -11 -12 -12 -12 -12 -12 -13 -13 -12 -12 -12 -11 -11 -10 -10 -9 -8 -7 -6 -5 -4 -5 -6 -6 -6 -6 -7 -7 -7 -6 -5 -4 -4 -4 -4 -4 -2 -1 -1 -1 -1 -1 0 1 2 3 4 4 5 6 7 7 7 6 6 7 9 11 13 14 15 16 17 17 18 18 19 19 19 18 18 19 21 22 23 23 22 21 21 20 20 20 19 19 18 17 17 16 16 17 17 18 19 19 19 20 20 20 21 20 20 19 18 18 18 18 18 17 17 16 16 16 15 16 16 16 17 17 18 19 19 19 19 19 19 19 19 19 18 18 19 19 19 19 19 19 19 18 18 18 17 17 16 16 15 14 14 14 14 15 15 16 16 17 17 18 19 19 19 19 18 18 17 17 18 18 19 19 18 18 17 16 16 16 16 17 17 18 18 18 19 19 19 19 19 20 20 20 21 22 22 23 23 23 22 22 21 20 18 17 15 13 12 12 12 13 13 12 11 -55 -50 -45 -43 -43 -43 -43 -44 -44 -45 -44 -43 -42 -41 -40 -39 -38 -38 -38 -38 -38 -37 -36 -36 -35 -34 -32 -30 -28 -25 -22 -20 -18 -17 -17 -18 -18 -19 -18 -18 -16 -14 -12 -10 -10 -14 -18 -19 -19 -18 -19 -20 -21 -22 -23 -26 -30 -32 -33 -33 -33 -33 -33 -35 -36 -37 -37 -37 -37 -37 -35 -32 -30 -29 -29 -30 -32 -34 -36 -38 -39 -40 -42 -44 -44 -45 -45 -45 -45 -47 -50 -52 -54 -55 -55 -55 -55 -57 -59 -61 -59 -57 -56 -56 -53 -46 -47 -52 -56 -55 -53 -55 -52 -44 -36 -38 -49 -53 -50 -40 -29 -21 -16 -13 -11 -9 -7 -5 -4 -4 -4 -5 -4 -4 -3 -3 -3 -4 -5 -5 -5 -5 -5 -5 -6 -7 -8 -8 -8 -8 -8 -7 -7 -7 -7 -8 -9 -11 -11 -11 -10 -9 -9 -9 -10 -10 -11 -11 -11 -12 -13 -13 -13 -13 -13 -14 -14 -15 -15 -15 -15 -14 -14 -13 -13 -13 -12 -12 -12 -11 -12 -12 -13 -14 -14 -13 -12 -11 -10 -9 -9 -10 -11 -11 -11 -11 -11 -12 -12 -12 -12 -12 -11 -11 -11 -10 -10 -9 -8 -7 -6 -4 -4 -4 -5 -6 -6 -7 -7 -7 -7 -7 -6 -5 -4 -5 -5 -5 -3 -2 -1 -1 -1 -2 -1 -0 1 1 2 2 3 3 4 5 5 5 4 5 6 8 10 11 12 13 14 15 15 16 17 18 19 19 19 20 21 23 24 24 23 22 21 21 21 21 21 20 20 19 18 18 17 18 19 20 20 20 21 21 21 21 21 21 21 20 19 19 19 19 19 18 18 17 17 17 17 16 16 16 17 17 17 18 19 19 20 20 20 20 20 20 20 20 20 19 19 19 19 19 19 19 19 19 18 18 18 17 17 16 15 15 14 14 15 15 16 16 17 17 18 19 19 19 19 18 18 18 18 18 18 18 18 18 18 17 17 17 17 17 17 17 18 18 18 19 19 19 19 20 20 20 21 21 22 23 23 23 23 23 22 21 20 19 17 16 14 13 12 12 13 13 12 12 -55 -51 -47 -44 -42 -42 -43 -44 -44 -44 -44 -43 -42 -40 -39 -37 -36 -37 -37 -38 -37 -37 -36 -36 -35 -33 -31 -28 -25 -22 -19 -16 -15 -14 -15 -15 -16 -16 -16 -15 -13 -11 -10 -9 -11 -15 -18 -18 -18 -18 -21 -23 -25 -25 -26 -28 -31 -32 -33 -32 -32 -33 -35 -37 -39 -39 -39 -39 -39 -38 -37 -34 -30 -28 -29 -31 -33 -34 -35 -37 -39 -40 -41 -42 -43 -43 -44 -44 -45 -47 -50 -52 -53 -55 -56 -57 -58 -59 -59 -59 -61 -61 -61 -61 -59 -55 -55 -56 -58 -57 -57 -59 -58 -52 -43 -35 -37 -42 -44 -43 -41 -36 -26 -19 -14 -11 -8 -7 -6 -6 -5 -5 -4 -3 -2 -2 -2 -3 -3 -4 -5 -5 -6 -7 -7 -8 -8 -9 -9 -9 -8 -8 -8 -8 -8 -9 -10 -11 -11 -10 -10 -9 -9 -10 -10 -11 -11 -12 -12 -13 -13 -13 -13 -13 -13 -13 -14 -14 -14 -14 -14 -14 -14 -13 -13 -13 -12 -12 -11 -11 -11 -12 -13 -13 -13 -12 -11 -10 -10 -9 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -10 -10 -9 -9 -8 -6 -5 -4 -3 -4 -5 -6 -6 -6 -6 -6 -6 -5 -5 -4 -5 -6 -6 -4 -2 -1 -1 -1 -2 -2 -1 -0 0 1 1 1 2 2 3 3 3 3 4 4 5 7 8 9 10 10 11 12 13 15 17 18 19 20 21 22 23 24 24 23 22 21 21 21 22 22 21 20 20 19 19 18 19 20 21 22 22 22 22 22 22 22 22 22 21 20 20 19 19 19 19 19 19 18 18 18 17 17 17 17 17 17 17 18 19 19 20 20 21 20 20 20 20 21 21 20 20 20 20 19 19 19 19 19 19 19 18 18 17 16 16 15 15 15 15 15 16 16 17 17 18 18 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 17 17 17 17 18 18 18 19 19 19 19 20 20 20 21 21 22 23 23 23 23 23 22 22 21 19 18 16 15 14 13 12 13 13 13 12 -55 -52 -49 -46 -43 -42 -43 -43 -44 -43 -42 -41 -40 -38 -37 -36 -35 -36 -37 -37 -37 -37 -36 -36 -34 -32 -29 -25 -22 -19 -16 -14 -13 -14 -15 -15 -15 -14 -13 -13 -12 -11 -10 -10 -12 -15 -17 -18 -18 -20 -24 -26 -27 -28 -29 -30 -32 -33 -33 -34 -35 -37 -39 -40 -41 -42 -41 -41 -40 -39 -37 -33 -29 -28 -30 -32 -33 -34 -35 -37 -38 -39 -40 -41 -42 -42 -43 -44 -45 -46 -49 -51 -53 -55 -57 -58 -58 -58 -58 -58 -60 -61 -61 -61 -61 -58 -57 -57 -57 -56 -56 -58 -58 -55 -50 -41 -33 -31 -32 -36 -40 -41 -36 -28 -20 -14 -10 -8 -7 -7 -7 -6 -4 -3 -2 -2 -2 -2 -3 -3 -4 -5 -6 -7 -8 -8 -8 -9 -9 -9 -9 -9 -8 -8 -9 -10 -10 -11 -11 -10 -10 -10 -10 -10 -11 -11 -12 -12 -13 -14 -14 -13 -13 -13 -13 -13 -13 -14 -14 -14 -14 -14 -14 -14 -13 -13 -12 -11 -11 -11 -11 -12 -12 -13 -12 -12 -11 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -10 -10 -9 -9 -9 -9 -9 -8 -7 -6 -4 -3 -4 -5 -6 -6 -6 -6 -6 -6 -5 -5 -4 -5 -6 -7 -6 -4 -2 -1 -1 -2 -2 -2 -1 -0 0 0 0 0 1 1 1 2 2 2 3 4 4 5 5 6 7 7 8 9 11 13 15 17 18 20 21 22 23 23 22 21 20 20 21 22 22 21 20 20 19 19 19 19 20 21 23 24 23 23 22 22 23 23 22 22 21 20 20 20 20 20 19 19 19 19 19 18 18 17 17 17 17 17 17 18 19 19 20 20 20 21 20 20 21 21 21 21 20 20 20 19 19 19 19 18 18 18 18 18 17 16 16 15 15 15 15 15 15 16 17 17 18 18 18 18 19 19 19 19 19 18 18 18 18 18 18 18 19 18 18 18 18 17 18 18 18 18 19 19 19 20 20 20 21 21 22 22 23 23 23 23 22 22 21 20 18 17 16 14 13 13 13 13 13 13 -55 -53 -51 -47 -44 -42 -42 -42 -42 -41 -40 -39 -37 -37 -36 -36 -35 -36 -37 -37 -37 -36 -36 -35 -33 -30 -26 -24 -21 -17 -15 -13 -14 -15 -16 -15 -13 -12 -11 -11 -11 -11 -11 -12 -14 -16 -17 -19 -20 -23 -26 -28 -29 -30 -31 -31 -32 -34 -35 -36 -38 -40 -42 -43 -43 -43 -43 -42 -41 -39 -36 -31 -29 -30 -31 -33 -34 -36 -36 -37 -38 -39 -40 -41 -41 -42 -43 -43 -44 -45 -48 -50 -52 -55 -57 -58 -58 -58 -57 -57 -58 -59 -59 -60 -60 -59 -58 -58 -58 -57 -58 -58 -56 -54 -52 -48 -38 -30 -27 -28 -31 -34 -35 -34 -29 -23 -16 -12 -9 -8 -8 -7 -5 -4 -2 -2 -2 -2 -2 -3 -4 -5 -6 -7 -7 -8 -8 -8 -8 -9 -9 -9 -9 -9 -9 -10 -11 -11 -11 -10 -10 -10 -10 -11 -11 -11 -12 -13 -13 -14 -14 -14 -13 -13 -13 -13 -13 -13 -13 -13 -13 -13 -14 -14 -13 -13 -12 -11 -11 -11 -11 -12 -12 -12 -12 -12 -11 -10 -10 -10 -10 -10 -10 -11 -11 -12 -11 -11 -10 -10 -10 -9 -9 -9 -9 -8 -8 -7 -7 -5 -4 -4 -4 -5 -6 -6 -6 -6 -5 -5 -5 -5 -5 -6 -7 -7 -5 -3 -1 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -0 0 0 0 1 1 2 2 2 3 3 3 4 4 4 5 7 9 11 13 14 16 17 18 19 19 19 18 17 18 19 20 21 21 20 20 19 19 19 19 20 22 23 25 25 24 23 23 23 23 23 23 22 21 20 20 20 20 20 20 20 19 19 18 18 17 17 17 16 16 16 17 17 18 19 19 19 20 20 20 20 20 20 20 21 20 20 20 19 19 18 18 18 18 18 18 17 17 16 16 15 15 15 15 15 15 16 16 17 17 17 17 18 18 19 20 20 20 19 18 18 18 18 19 19 19 19 19 18 18 18 18 18 18 19 19 19 19 20 20 20 20 21 21 21 22 22 22 22 22 21 21 20 19 18 16 15 14 13 13 13 13 13 -54 -53 -52 -49 -45 -42 -41 -40 -39 -38 -37 -36 -36 -36 -37 -37 -36 -37 -37 -37 -36 -35 -34 -33 -31 -27 -24 -22 -19 -16 -14 -13 -14 -15 -15 -13 -11 -10 -10 -9 -10 -11 -13 -14 -16 -18 -19 -21 -23 -26 -28 -29 -30 -31 -31 -31 -32 -34 -36 -39 -41 -43 -43 -43 -43 -44 -44 -43 -41 -38 -33 -29 -29 -31 -32 -33 -34 -36 -37 -37 -38 -39 -40 -41 -41 -42 -42 -43 -44 -45 -47 -49 -50 -53 -56 -58 -58 -58 -57 -58 -58 -58 -59 -59 -59 -59 -58 -58 -58 -59 -60 -58 -54 -51 -51 -51 -44 -33 -25 -22 -22 -24 -27 -30 -33 -32 -27 -20 -15 -12 -10 -8 -7 -6 -4 -4 -3 -3 -3 -3 -4 -5 -5 -6 -7 -7 -7 -7 -7 -8 -8 -8 -9 -9 -9 -10 -10 -10 -10 -11 -11 -11 -10 -10 -10 -11 -12 -13 -13 -13 -13 -13 -13 -13 -13 -13 -13 -13 -12 -12 -13 -13 -13 -14 -13 -13 -12 -11 -11 -11 -11 -12 -12 -12 -12 -11 -11 -11 -10 -10 -10 -10 -10 -11 -11 -11 -11 -10 -9 -9 -8 -8 -8 -8 -8 -8 -7 -7 -6 -5 -4 -4 -4 -5 -6 -6 -6 -6 -5 -5 -5 -5 -6 -7 -7 -6 -4 -2 -2 -2 -3 -3 -2 -2 -1 -1 -1 -1 -1 -1 -0 -0 -0 0 0 1 1 1 1 1 1 2 2 3 4 6 7 9 9 10 11 12 13 14 14 14 14 14 16 18 19 20 19 19 19 19 19 20 21 22 23 24 25 25 24 23 23 23 23 23 22 22 21 20 20 20 20 19 19 19 18 18 17 17 16 16 15 15 15 15 15 16 16 17 17 18 18 18 19 19 19 19 19 19 19 19 19 19 18 18 17 17 17 17 17 16 16 15 15 15 14 14 14 14 15 15 16 16 16 16 17 17 18 19 20 20 20 20 19 18 18 19 19 19 20 20 19 19 19 18 18 18 18 19 19 19 20 20 20 20 20 20 20 20 20 21 21 21 21 21 20 20 19 18 17 16 15 14 13 13 13 13 -53 -53 -52 -50 -46 -42 -40 -39 -38 -37 -37 -37 -37 -37 -38 -37 -37 -37 -36 -35 -35 -34 -33 -31 -28 -26 -23 -20 -17 -14 -13 -13 -13 -14 -12 -11 -10 -9 -8 -8 -10 -12 -14 -15 -17 -19 -21 -23 -26 -28 -29 -30 -30 -31 -30 -30 -31 -33 -37 -40 -42 -43 -43 -42 -42 -43 -43 -42 -39 -34 -30 -28 -29 -31 -33 -33 -34 -35 -36 -37 -38 -39 -40 -41 -41 -41 -41 -42 -44 -46 -48 -48 -50 -52 -55 -57 -57 -58 -58 -59 -59 -59 -60 -60 -59 -59 -58 -57 -57 -57 -58 -56 -53 -50 -50 -50 -45 -34 -24 -19 -17 -16 -18 -22 -27 -32 -33 -30 -25 -20 -15 -12 -9 -8 -7 -6 -6 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -7 -7 -8 -8 -9 -9 -9 -10 -10 -11 -11 -11 -10 -9 -9 -9 -10 -11 -12 -12 -13 -13 -13 -13 -14 -14 -14 -13 -13 -12 -12 -12 -12 -13 -13 -13 -13 -12 -11 -11 -11 -12 -12 -12 -12 -12 -11 -11 -11 -10 -10 -10 -10 -10 -11 -11 -10 -10 -9 -8 -8 -7 -7 -7 -7 -7 -7 -6 -6 -6 -5 -4 -4 -4 -5 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -5 -3 -2 -2 -3 -3 -3 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -0 -0 -0 -1 -1 -1 -0 0 1 2 3 4 5 6 6 6 6 7 8 8 9 9 10 11 13 15 17 17 17 17 18 19 19 20 21 22 23 24 24 24 24 23 23 23 23 23 22 22 21 20 20 20 19 19 18 18 17 16 15 15 14 13 13 12 12 12 12 12 12 13 13 14 14 15 16 16 16 16 16 16 17 17 17 17 17 17 17 16 16 16 16 16 16 15 15 15 14 14 14 14 14 14 14 15 15 15 16 16 17 18 19 20 20 20 20 19 19 19 19 19 20 20 20 20 20 19 19 18 18 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 19 19 18 17 16 15 14 13 13 13 -50 -50 -50 -48 -45 -42 -39 -38 -38 -38 -37 -37 -37 -37 -37 -37 -36 -35 -35 -34 -33 -32 -30 -28 -26 -23 -21 -18 -15 -13 -12 -12 -12 -11 -10 -9 -8 -7 -7 -7 -10 -12 -13 -15 -18 -20 -23 -25 -27 -28 -29 -30 -30 -31 -30 -29 -30 -33 -36 -39 -40 -40 -40 -40 -40 -40 -39 -38 -34 -31 -28 -28 -30 -31 -32 -33 -34 -35 -35 -36 -37 -39 -40 -41 -41 -40 -41 -42 -45 -47 -48 -49 -50 -51 -54 -55 -56 -57 -58 -59 -60 -60 -60 -59 -57 -58 -58 -57 -55 -54 -54 -54 -52 -50 -49 -49 -44 -34 -25 -19 -15 -14 -14 -15 -17 -21 -27 -31 -32 -30 -25 -20 -14 -11 -10 -10 -9 -8 -8 -7 -6 -6 -5 -5 -5 -5 -5 -5 -5 -6 -6 -7 -7 -8 -8 -9 -9 -10 -11 -10 -10 -9 -8 -8 -8 -10 -11 -11 -12 -12 -12 -13 -13 -14 -14 -14 -13 -13 -12 -12 -11 -12 -13 -13 -13 -13 -12 -11 -11 -11 -12 -12 -12 -12 -11 -11 -11 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -8 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -5 -5 -4 -3 -4 -5 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -6 -4 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -1 0 1 2 3 4 5 4 3 3 3 4 5 6 6 7 9 11 13 15 15 15 15 16 17 18 19 20 21 22 23 23 23 22 22 22 22 22 22 21 21 20 20 19 19 19 18 18 17 16 14 13 12 10 9 9 8 8 8 8 8 8 8 8 9 9 10 11 11 12 12 12 13 13 13 13 14 14 15 15 15 15 15 14 14 14 14 14 14 14 14 14 14 13 13 13 13 13 14 14 15 16 17 18 19 19 20 20 20 20 20 20 20 20 20 21 21 21 20 20 20 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 19 18 17 16 15 14 13 13 -48 -47 -47 -46 -44 -42 -40 -38 -39 -39 -38 -37 -37 -36 -36 -35 -35 -34 -34 -33 -32 -30 -27 -25 -23 -21 -18 -16 -13 -11 -11 -11 -10 -10 -9 -8 -7 -7 -6 -7 -9 -10 -12 -14 -17 -20 -23 -25 -26 -27 -28 -30 -31 -31 -30 -29 -30 -33 -36 -37 -38 -38 -38 -38 -38 -37 -35 -35 -33 -30 -28 -28 -29 -31 -33 -34 -33 -32 -33 -35 -37 -39 -40 -40 -41 -41 -42 -44 -46 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -60 -60 -59 -55 -51 -49 -51 -53 -54 -52 -50 -50 -50 -49 -49 -47 -41 -33 -26 -24 -22 -21 -19 -17 -16 -16 -19 -22 -27 -32 -34 -31 -22 -15 -12 -12 -12 -11 -11 -9 -8 -7 -6 -6 -5 -5 -4 -4 -4 -5 -5 -6 -6 -7 -8 -8 -9 -10 -10 -9 -8 -7 -7 -7 -8 -9 -10 -11 -11 -11 -12 -13 -13 -14 -14 -13 -13 -12 -12 -11 -11 -12 -12 -13 -13 -13 -12 -12 -12 -12 -12 -12 -12 -12 -11 -11 -10 -10 -10 -10 -9 -9 -9 -9 -8 -8 -8 -7 -7 -6 -7 -7 -7 -6 -5 -5 -5 -6 -5 -4 -3 -3 -4 -5 -6 -6 -6 -6 -6 -7 -7 -7 -7 -6 -5 -4 -3 -3 -3 -4 -4 -3 -3 -3 -3 -2 -2 -1 -1 -1 -1 -1 -2 -2 -3 -3 -3 -3 -2 -1 0 2 3 4 4 3 2 2 2 2 3 4 5 6 7 9 12 13 13 13 13 14 15 17 18 19 19 20 21 21 21 21 20 20 20 19 19 19 19 19 19 18 18 18 17 16 15 14 12 10 8 7 5 4 3 3 3 3 3 3 3 3 3 4 4 5 5 6 6 7 7 8 8 9 10 10 11 11 12 12 12 12 12 12 12 13 13 13 14 14 14 13 13 13 13 12 12 12 13 14 15 16 17 18 18 19 19 20 20 20 20 20 21 21 21 21 21 21 21 20 20 20 20 20 19 19 20 20 20 21 21 21 21 20 20 20 20 20 20 20 20 20 20 20 20 20 18 17 16 15 14 13 -46 -45 -45 -44 -43 -42 -40 -39 -39 -39 -38 -37 -37 -36 -35 -34 -34 -34 -33 -32 -30 -27 -24 -23 -21 -19 -16 -14 -12 -12 -12 -12 -11 -10 -10 -10 -9 -8 -7 -8 -8 -9 -11 -14 -16 -19 -22 -23 -24 -26 -28 -29 -31 -31 -31 -31 -31 -33 -35 -36 -36 -36 -37 -38 -37 -35 -33 -31 -29 -27 -27 -28 -29 -30 -30 -30 -30 -30 -32 -35 -38 -39 -40 -41 -42 -43 -44 -45 -46 -48 -49 -50 -50 -51 -52 -52 -53 -54 -56 -58 -58 -58 -58 -58 -54 -49 -48 -48 -49 -49 -50 -51 -51 -49 -48 -47 -40 -31 -26 -26 -29 -32 -31 -28 -24 -21 -20 -20 -21 -25 -29 -33 -31 -22 -16 -14 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -5 -4 -4 -4 -4 -5 -6 -6 -7 -8 -9 -10 -9 -8 -7 -6 -6 -6 -7 -8 -9 -10 -10 -11 -12 -12 -13 -13 -13 -13 -13 -12 -11 -11 -11 -12 -12 -13 -13 -13 -13 -12 -12 -12 -12 -12 -11 -11 -11 -10 -10 -10 -9 -9 -9 -8 -8 -8 -8 -7 -7 -7 -6 -6 -7 -7 -6 -5 -5 -5 -5 -5 -5 -4 -4 -4 -5 -5 -6 -6 -6 -7 -7 -7 -6 -6 -6 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -2 -2 -1 -1 -2 -2 -2 -3 -3 -4 -3 -2 -1 -0 1 2 3 3 3 2 1 1 2 3 3 4 5 6 8 9 11 11 11 11 12 13 14 16 16 17 18 18 18 18 18 18 17 17 17 17 17 17 17 17 16 16 16 15 14 13 11 9 7 5 4 2 1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -0 -0 0 1 2 3 4 5 6 7 7 8 8 9 9 9 9 9 9 10 11 11 12 12 13 13 13 13 12 12 12 12 13 14 15 16 17 17 17 18 18 19 19 20 20 21 21 21 22 22 22 22 21 21 21 21 20 20 20 20 20 20 20 20 21 21 21 21 21 21 20 20 20 20 20 20 20 21 21 20 20 18 17 16 15 14 -46 -44 -43 -43 -42 -41 -41 -39 -38 -38 -37 -37 -36 -35 -35 -34 -34 -34 -33 -31 -27 -24 -22 -21 -19 -17 -16 -14 -14 -14 -14 -14 -13 -12 -12 -12 -12 -11 -11 -11 -11 -12 -13 -15 -17 -19 -21 -21 -23 -25 -27 -30 -31 -31 -31 -31 -32 -33 -33 -33 -34 -36 -37 -37 -35 -33 -29 -26 -25 -25 -26 -28 -30 -31 -30 -28 -28 -30 -33 -36 -39 -41 -42 -43 -44 -44 -45 -46 -46 -46 -47 -48 -49 -50 -51 -52 -52 -53 -55 -56 -56 -56 -56 -56 -55 -51 -48 -47 -47 -48 -49 -51 -52 -52 -49 -44 -35 -29 -27 -28 -31 -33 -32 -31 -30 -31 -30 -26 -24 -24 -27 -34 -36 -29 -21 -16 -14 -13 -12 -12 -11 -11 -10 -9 -8 -6 -5 -5 -4 -4 -4 -5 -5 -6 -7 -8 -8 -9 -8 -7 -6 -5 -5 -6 -7 -8 -8 -9 -9 -10 -11 -12 -13 -13 -13 -13 -12 -11 -11 -11 -11 -12 -13 -13 -13 -13 -12 -12 -12 -12 -11 -11 -10 -10 -10 -9 -9 -9 -9 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -5 -5 -5 -5 -4 -4 -4 -4 -5 -5 -5 -5 -6 -7 -7 -6 -6 -5 -5 -5 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -4 -3 -3 -2 -2 -2 -2 -3 -3 -4 -4 -4 -3 -2 -1 -0 0 1 2 1 1 -0 0 1 2 3 3 4 4 6 7 8 8 8 9 10 11 12 13 13 14 14 15 15 15 15 15 15 15 15 14 14 14 14 14 14 14 14 13 12 11 9 6 4 2 1 -1 -2 -3 -4 -5 -6 -6 -7 -7 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -4 -3 -2 -1 0 2 3 4 5 5 6 6 6 6 6 6 7 8 9 10 11 11 12 12 12 12 12 12 12 13 14 15 16 16 16 17 17 17 17 18 19 20 20 21 21 22 22 22 22 22 22 22 22 21 21 21 21 20 20 20 20 21 21 21 22 22 21 21 20 20 20 20 20 21 21 21 21 21 20 18 17 16 15 -45 -44 -43 -42 -42 -41 -40 -39 -38 -37 -36 -35 -35 -34 -34 -34 -34 -34 -32 -28 -24 -21 -20 -19 -18 -17 -16 -16 -16 -16 -16 -15 -14 -14 -14 -14 -15 -15 -15 -15 -15 -16 -17 -18 -19 -20 -20 -21 -23 -25 -27 -28 -29 -29 -29 -30 -32 -32 -32 -31 -31 -33 -35 -35 -33 -29 -25 -23 -23 -24 -25 -27 -30 -32 -32 -30 -29 -30 -33 -37 -39 -41 -43 -44 -45 -45 -46 -46 -46 -46 -46 -47 -48 -49 -51 -52 -53 -54 -54 -56 -55 -54 -53 -53 -53 -51 -48 -47 -47 -47 -47 -50 -52 -53 -50 -43 -37 -33 -33 -34 -36 -35 -33 -32 -32 -33 -34 -34 -33 -31 -30 -35 -39 -36 -29 -23 -18 -15 -13 -12 -11 -11 -11 -10 -9 -8 -7 -6 -5 -5 -5 -5 -5 -5 -6 -7 -8 -8 -7 -5 -5 -5 -5 -6 -7 -7 -8 -8 -9 -10 -11 -12 -12 -13 -13 -12 -12 -11 -11 -11 -12 -12 -13 -13 -13 -12 -12 -12 -12 -11 -10 -10 -9 -9 -9 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -4 -4 -5 -5 -5 -4 -4 -4 -5 -5 -5 -5 -5 -6 -7 -6 -6 -5 -5 -5 -4 -4 -4 -4 -5 -5 -5 -5 -6 -6 -6 -5 -4 -3 -3 -3 -3 -4 -4 -4 -4 -4 -3 -3 -2 -2 -1 -1 -1 -1 -1 -2 -2 -0 1 1 2 2 2 3 4 4 5 5 6 7 8 9 10 10 11 11 12 12 12 13 13 13 13 13 12 12 12 11 11 11 11 11 10 9 8 6 4 2 -0 -2 -3 -4 -5 -6 -7 -8 -9 -10 -10 -11 -11 -11 -10 -10 -10 -10 -10 -10 -9 -9 -8 -8 -7 -5 -4 -2 -1 1 2 2 3 3 3 3 3 4 4 5 6 7 8 10 10 11 12 12 12 12 13 14 14 15 15 16 16 16 17 17 17 17 18 19 19 20 20 21 21 22 22 22 22 22 22 22 22 22 22 21 21 20 20 20 21 21 22 22 22 22 21 21 20 21 21 21 21 22 22 22 21 20 18 17 16 -45 -45 -43 -42 -42 -41 -40 -38 -37 -35 -34 -34 -33 -33 -34 -34 -33 -32 -30 -26 -22 -20 -19 -20 -19 -19 -18 -18 -19 -20 -19 -18 -17 -16 -16 -16 -17 -18 -19 -19 -19 -19 -20 -21 -21 -21 -22 -23 -25 -26 -27 -27 -27 -26 -26 -28 -29 -30 -30 -30 -30 -31 -32 -32 -29 -26 -22 -21 -22 -23 -24 -26 -29 -32 -33 -32 -30 -30 -32 -35 -39 -42 -44 -45 -45 -46 -46 -46 -46 -45 -45 -46 -48 -49 -51 -53 -54 -54 -54 -55 -55 -52 -50 -49 -50 -50 -49 -49 -48 -47 -46 -48 -51 -53 -53 -50 -47 -45 -42 -40 -39 -36 -34 -33 -33 -34 -35 -37 -38 -38 -38 -39 -40 -38 -36 -33 -27 -21 -16 -13 -12 -11 -10 -10 -9 -9 -8 -7 -6 -6 -5 -5 -5 -5 -5 -6 -6 -6 -5 -5 -5 -5 -6 -6 -7 -7 -8 -8 -9 -10 -11 -12 -13 -13 -13 -12 -12 -12 -12 -12 -13 -13 -13 -13 -12 -12 -11 -11 -11 -10 -10 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -6 -6 -6 -5 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -6 -6 -7 -7 -6 -5 -4 -3 -3 -4 -5 -5 -5 -5 -5 -4 -4 -3 -3 -3 -3 -3 -4 -4 -4 -3 -2 -1 -1 -1 -1 -1 0 0 1 1 2 3 4 5 6 6 7 7 8 9 9 10 10 11 11 11 11 10 10 9 9 8 8 7 7 6 4 3 1 -1 -3 -4 -5 -5 -6 -7 -8 -9 -10 -12 -13 -14 -14 -15 -15 -15 -14 -14 -14 -14 -13 -13 -13 -12 -11 -10 -9 -7 -6 -5 -3 -2 -1 0 1 2 2 2 2 2 3 4 5 6 8 9 10 11 12 12 13 13 14 14 15 15 15 16 16 16 16 16 16 17 17 18 18 19 20 21 21 22 22 23 23 23 23 22 22 22 22 22 21 21 21 21 22 22 23 23 23 22 22 22 21 22 22 22 22 22 22 22 21 20 18 17 -45 -45 -44 -43 -42 -41 -39 -37 -35 -34 -33 -33 -33 -32 -32 -31 -30 -29 -27 -23 -20 -19 -19 -20 -20 -20 -20 -20 -21 -22 -22 -21 -19 -18 -18 -19 -19 -20 -21 -21 -21 -21 -21 -22 -23 -24 -24 -26 -27 -29 -28 -28 -27 -25 -24 -25 -26 -27 -28 -29 -29 -30 -30 -29 -28 -25 -21 -20 -21 -23 -24 -27 -30 -32 -33 -33 -32 -31 -32 -34 -38 -42 -44 -45 -46 -46 -46 -46 -45 -45 -46 -47 -49 -50 -51 -52 -53 -54 -54 -54 -53 -51 -49 -48 -49 -50 -51 -52 -53 -52 -48 -47 -49 -51 -55 -58 -57 -53 -48 -44 -41 -37 -34 -33 -33 -35 -37 -39 -41 -42 -44 -44 -43 -42 -41 -40 -39 -33 -24 -18 -15 -12 -11 -10 -9 -9 -9 -8 -8 -7 -7 -6 -5 -5 -4 -4 -4 -4 -4 -4 -5 -6 -7 -7 -7 -7 -8 -9 -9 -10 -11 -12 -13 -13 -13 -12 -12 -12 -13 -13 -13 -13 -13 -12 -11 -11 -11 -11 -10 -10 -10 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -6 -6 -6 -5 -4 -4 -3 -3 -3 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -6 -6 -5 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -6 -6 -7 -8 -8 -7 -6 -4 -4 -4 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -4 -4 -4 -4 -5 -4 -3 -3 -3 -2 -2 -1 0 1 2 3 3 4 4 5 6 7 8 8 8 8 8 8 8 7 7 6 5 4 3 2 1 -1 -2 -4 -5 -6 -6 -7 -8 -8 -9 -10 -12 -13 -14 -16 -17 -18 -18 -18 -18 -18 -17 -17 -16 -16 -16 -15 -14 -13 -13 -12 -10 -9 -8 -7 -5 -4 -2 -1 -0 0 1 1 1 1 2 3 4 6 7 8 10 11 12 12 13 13 14 14 14 15 15 15 16 16 16 16 16 16 16 17 18 18 19 20 21 22 22 23 23 23 23 23 23 23 23 23 22 22 22 22 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 21 20 19 -46 -45 -45 -44 -42 -40 -38 -35 -33 -32 -31 -31 -31 -30 -29 -28 -27 -25 -23 -20 -18 -18 -19 -20 -20 -21 -21 -21 -22 -24 -24 -23 -21 -20 -20 -21 -21 -21 -21 -21 -21 -21 -23 -24 -25 -25 -26 -28 -30 -31 -31 -31 -29 -26 -23 -22 -22 -23 -26 -28 -29 -29 -29 -29 -28 -25 -21 -19 -19 -22 -25 -28 -31 -32 -33 -33 -33 -33 -34 -36 -39 -43 -44 -44 -45 -45 -45 -45 -45 -45 -47 -49 -50 -51 -51 -52 -52 -53 -53 -53 -52 -51 -50 -50 -51 -52 -53 -55 -57 -58 -54 -51 -49 -50 -53 -56 -56 -53 -49 -44 -41 -38 -35 -33 -33 -35 -39 -42 -43 -43 -44 -46 -46 -44 -43 -43 -44 -40 -33 -27 -23 -19 -14 -11 -10 -10 -9 -9 -9 -9 -8 -8 -7 -5 -4 -3 -3 -3 -3 -4 -6 -7 -7 -7 -7 -7 -8 -9 -10 -11 -11 -12 -13 -13 -13 -13 -13 -13 -14 -14 -14 -13 -13 -12 -11 -11 -11 -11 -10 -10 -10 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -6 -6 -5 -5 -4 -3 -3 -3 -3 -3 -3 -3 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -3 -4 -4 -5 -5 -5 -5 -6 -6 -7 -8 -9 -7 -6 -4 -4 -5 -7 -8 -8 -8 -7 -7 -8 -8 -8 -8 -8 -8 -9 -8 -8 -7 -6 -7 -7 -7 -7 -6 -6 -5 -5 -5 -4 -3 -2 -2 -1 -1 -0 1 1 2 3 4 5 5 5 6 6 5 5 4 4 3 2 0 -1 -2 -4 -5 -6 -7 -8 -8 -9 -9 -10 -10 -11 -12 -13 -14 -16 -17 -18 -18 -19 -19 -19 -18 -18 -18 -18 -17 -17 -16 -15 -15 -14 -13 -12 -11 -10 -9 -8 -7 -5 -4 -2 -1 -1 -0 -0 0 1 2 3 4 5 6 8 9 10 11 12 12 12 12 13 13 14 14 15 15 16 16 16 15 15 16 16 17 18 19 20 21 22 22 22 22 22 22 23 23 23 23 24 23 23 23 23 23 24 24 24 24 24 24 24 24 23 23 23 23 24 23 23 22 21 -47 -47 -45 -43 -41 -39 -36 -33 -31 -31 -31 -31 -29 -28 -27 -26 -24 -21 -19 -17 -17 -17 -18 -19 -20 -21 -21 -22 -23 -24 -24 -23 -21 -20 -20 -20 -21 -21 -21 -20 -21 -23 -24 -25 -25 -26 -26 -28 -30 -32 -33 -35 -32 -27 -21 -18 -19 -21 -24 -26 -27 -25 -26 -27 -27 -24 -19 -17 -18 -21 -25 -30 -33 -34 -35 -36 -38 -39 -40 -41 -43 -45 -46 -45 -45 -45 -45 -44 -45 -46 -47 -50 -51 -52 -52 -52 -52 -52 -52 -52 -51 -50 -50 -50 -53 -54 -54 -54 -57 -60 -60 -57 -53 -49 -50 -52 -53 -52 -49 -46 -43 -39 -36 -33 -33 -35 -39 -42 -42 -41 -39 -41 -42 -43 -44 -44 -43 -41 -38 -37 -35 -31 -23 -17 -13 -11 -11 -11 -11 -11 -11 -10 -9 -6 -4 -2 -1 -2 -3 -5 -6 -7 -8 -7 -7 -7 -8 -9 -10 -11 -12 -12 -13 -13 -13 -13 -13 -14 -14 -14 -14 -13 -12 -11 -11 -10 -11 -11 -10 -10 -10 -9 -9 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -6 -5 -5 -4 -4 -3 -2 -2 -2 -2 -2 -2 -3 -3 -4 -4 -4 -4 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -4 -4 -5 -5 -5 -5 -6 -7 -8 -9 -9 -7 -5 -4 -4 -6 -7 -8 -9 -9 -9 -9 -9 -10 -10 -10 -10 -10 -10 -10 -9 -8 -8 -9 -9 -9 -9 -8 -8 -7 -7 -6 -6 -5 -4 -4 -4 -3 -3 -2 -1 -1 0 1 2 2 2 2 2 2 2 1 1 -0 -2 -3 -4 -5 -7 -8 -9 -9 -10 -10 -11 -11 -11 -12 -12 -13 -14 -14 -15 -16 -16 -16 -16 -16 -16 -16 -17 -17 -17 -17 -16 -16 -15 -15 -14 -14 -13 -13 -12 -11 -10 -8 -7 -5 -4 -3 -2 -1 -1 -1 -0 0 1 2 3 4 5 7 8 9 9 9 10 10 10 11 12 13 14 14 15 15 15 15 15 15 15 16 17 18 19 20 20 21 21 21 21 21 22 22 22 23 24 24 24 24 24 24 24 24 24 25 25 25 25 25 24 24 23 23 24 24 24 24 23 -48 -47 -44 -42 -40 -38 -35 -32 -31 -31 -31 -30 -28 -26 -25 -24 -21 -18 -16 -16 -17 -18 -19 -20 -21 -22 -22 -23 -23 -23 -23 -22 -20 -19 -18 -19 -19 -19 -20 -21 -23 -24 -24 -24 -24 -26 -26 -26 -27 -30 -34 -35 -30 -23 -19 -20 -25 -26 -27 -28 -28 -26 -27 -28 -27 -23 -18 -16 -18 -22 -27 -32 -34 -36 -39 -40 -41 -42 -44 -45 -46 -46 -46 -47 -46 -46 -45 -45 -45 -46 -48 -50 -51 -52 -52 -52 -52 -53 -52 -52 -51 -50 -49 -51 -55 -56 -55 -52 -50 -50 -53 -53 -52 -50 -49 -50 -51 -51 -49 -47 -44 -41 -37 -34 -33 -34 -36 -38 -36 -31 -28 -31 -38 -43 -46 -46 -43 -42 -41 -42 -43 -42 -36 -28 -22 -16 -13 -12 -12 -12 -13 -12 -11 -9 -5 -2 -1 -1 -3 -5 -6 -7 -7 -7 -7 -7 -7 -8 -9 -11 -12 -13 -13 -13 -13 -13 -14 -14 -14 -14 -13 -12 -11 -11 -10 -10 -10 -10 -10 -10 -9 -9 -8 -8 -7 -8 -7 -7 -7 -7 -7 -7 -6 -6 -5 -5 -4 -4 -3 -3 -2 -2 -1 -1 -1 -2 -2 -3 -3 -3 -4 -4 -4 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -4 -5 -5 -5 -5 -5 -6 -7 -8 -9 -8 -6 -4 -3 -4 -6 -7 -8 -9 -9 -9 -10 -10 -11 -11 -11 -11 -11 -11 -10 -10 -9 -10 -10 -10 -10 -10 -9 -9 -9 -8 -8 -7 -6 -6 -6 -5 -5 -5 -5 -4 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -4 -5 -6 -7 -8 -8 -9 -10 -11 -11 -12 -12 -12 -13 -13 -13 -13 -13 -14 -14 -14 -14 -13 -13 -13 -14 -14 -15 -15 -15 -15 -15 -15 -15 -14 -14 -13 -13 -12 -11 -10 -9 -8 -7 -5 -4 -3 -3 -2 -2 -2 -1 -1 -0 1 2 3 4 5 5 6 6 7 7 8 9 9 11 11 12 13 14 14 14 14 14 15 15 16 17 18 18 19 20 20 20 20 20 20 20 21 22 23 24 24 24 24 24 24 25 25 25 25 26 26 26 25 24 24 24 24 25 25 25 25 -48 -46 -44 -41 -39 -37 -34 -32 -31 -31 -30 -29 -27 -25 -23 -21 -19 -17 -16 -17 -19 -21 -22 -22 -22 -22 -23 -23 -23 -23 -23 -21 -19 -18 -18 -19 -19 -20 -21 -22 -24 -24 -24 -24 -25 -26 -26 -26 -25 -25 -25 -25 -25 -24 -24 -24 -25 -26 -28 -29 -29 -28 -28 -27 -25 -21 -17 -16 -18 -22 -28 -31 -33 -36 -39 -40 -40 -39 -40 -42 -44 -46 -47 -47 -47 -46 -46 -45 -45 -47 -49 -50 -51 -51 -51 -52 -52 -53 -53 -52 -50 -49 -48 -49 -50 -51 -51 -50 -50 -51 -54 -55 -53 -49 -45 -44 -46 -48 -47 -46 -44 -42 -39 -36 -34 -33 -34 -32 -27 -24 -25 -30 -36 -41 -45 -46 -46 -44 -41 -38 -36 -38 -43 -41 -35 -26 -19 -17 -15 -15 -15 -15 -14 -11 -8 -5 -3 -3 -4 -5 -6 -6 -7 -7 -7 -7 -7 -8 -9 -11 -12 -13 -13 -14 -13 -13 -13 -13 -13 -13 -12 -12 -11 -10 -10 -10 -10 -10 -10 -9 -9 -8 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -5 -5 -4 -4 -3 -3 -3 -2 -2 -1 -1 -1 -1 -1 -2 -2 -3 -3 -3 -4 -4 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -6 -7 -8 -9 -7 -5 -2 -2 -3 -5 -6 -8 -8 -9 -9 -10 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -11 -11 -11 -11 -10 -10 -10 -9 -9 -8 -8 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -4 -4 -4 -3 -3 -3 -4 -4 -4 -5 -5 -6 -6 -7 -7 -8 -8 -9 -10 -11 -12 -12 -13 -13 -13 -13 -12 -12 -12 -13 -13 -13 -12 -12 -12 -12 -13 -13 -14 -14 -15 -15 -15 -15 -14 -14 -14 -14 -13 -13 -12 -11 -10 -9 -8 -7 -6 -5 -5 -4 -4 -4 -3 -3 -2 -1 -0 1 1 2 2 3 3 3 4 4 5 6 8 9 10 11 12 13 13 14 14 14 15 15 16 17 18 18 19 19 19 19 19 19 19 20 21 22 23 24 24 24 24 25 25 25 25 25 26 26 26 26 25 25 24 24 25 26 27 27 -47 -45 -43 -41 -39 -36 -34 -32 -32 -31 -30 -28 -25 -23 -21 -20 -18 -18 -19 -21 -22 -23 -23 -23 -22 -21 -21 -21 -22 -23 -22 -19 -18 -18 -19 -19 -19 -20 -21 -23 -23 -24 -24 -25 -27 -28 -27 -25 -24 -22 -22 -21 -21 -22 -24 -26 -29 -30 -30 -29 -28 -28 -28 -27 -25 -21 -18 -17 -18 -22 -27 -31 -33 -36 -38 -39 -38 -37 -39 -41 -43 -44 -46 -46 -46 -46 -45 -44 -44 -46 -48 -49 -49 -50 -50 -50 -51 -52 -53 -52 -50 -48 -47 -47 -48 -50 -52 -53 -55 -56 -57 -55 -52 -48 -45 -44 -44 -45 -45 -44 -44 -43 -41 -38 -34 -32 -29 -24 -21 -22 -25 -29 -33 -37 -39 -41 -43 -44 -42 -38 -35 -32 -33 -37 -40 -39 -31 -25 -21 -18 -17 -16 -16 -14 -11 -9 -7 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -9 -10 -12 -13 -13 -14 -13 -13 -13 -13 -12 -12 -11 -11 -10 -10 -10 -10 -10 -10 -10 -9 -8 -8 -7 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -3 -3 -3 -3 -2 -2 -1 -0 -0 -0 -1 -1 -2 -2 -3 -3 -3 -4 -4 -4 -5 -5 -5 -5 -5 -4 -4 -4 -4 -5 -5 -5 -4 -4 -5 -6 -7 -8 -8 -6 -3 -1 -0 -1 -4 -5 -7 -7 -8 -9 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -12 -12 -11 -11 -10 -10 -10 -9 -9 -9 -9 -8 -8 -9 -9 -9 -9 -8 -8 -7 -7 -6 -6 -6 -5 -5 -5 -6 -6 -6 -7 -7 -7 -7 -7 -8 -8 -8 -9 -10 -11 -12 -12 -13 -13 -13 -13 -13 -12 -12 -13 -13 -13 -13 -13 -13 -13 -13 -14 -14 -15 -15 -16 -16 -16 -16 -15 -15 -14 -14 -14 -13 -12 -12 -11 -10 -9 -8 -7 -7 -6 -6 -6 -6 -5 -4 -4 -3 -2 -1 -0 -0 0 0 0 1 2 2 4 5 6 7 8 10 11 12 13 13 14 14 15 16 17 18 18 19 19 19 18 18 18 18 19 20 20 21 22 23 24 24 24 25 25 25 25 25 26 26 26 26 26 25 25 26 27 28 28 -45 -43 -43 -41 -39 -36 -34 -33 -32 -30 -28 -26 -24 -23 -22 -20 -20 -21 -23 -24 -24 -23 -22 -21 -19 -19 -19 -19 -21 -23 -22 -20 -18 -18 -18 -19 -20 -21 -22 -23 -24 -24 -26 -28 -29 -29 -28 -25 -24 -22 -22 -21 -21 -22 -25 -29 -31 -32 -31 -29 -28 -27 -28 -27 -26 -23 -20 -19 -19 -21 -25 -31 -34 -36 -38 -38 -38 -38 -40 -42 -43 -44 -45 -45 -45 -45 -44 -43 -43 -44 -46 -47 -47 -47 -48 -49 -51 -53 -53 -52 -51 -48 -47 -46 -47 -49 -52 -55 -57 -58 -57 -55 -52 -50 -47 -45 -43 -43 -43 -43 -44 -44 -42 -38 -32 -24 -21 -19 -20 -22 -26 -30 -33 -34 -36 -38 -42 -44 -44 -42 -40 -38 -36 -34 -35 -37 -38 -36 -31 -27 -25 -21 -18 -17 -15 -14 -13 -11 -10 -8 -7 -6 -6 -6 -6 -6 -7 -8 -9 -10 -12 -13 -13 -13 -13 -12 -12 -12 -12 -11 -11 -10 -10 -10 -10 -10 -10 -10 -9 -9 -8 -7 -7 -6 -6 -6 -6 -6 -6 -6 -5 -4 -4 -3 -3 -3 -3 -3 -2 -1 -1 -0 0 -0 -1 -2 -2 -3 -3 -3 -3 -3 -4 -4 -4 -4 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -3 -4 -4 -6 -7 -7 -7 -4 -1 1 1 -0 -3 -5 -6 -7 -7 -9 -10 -11 -11 -11 -11 -11 -11 -11 -12 -12 -12 -12 -12 -11 -10 -10 -10 -10 -9 -9 -9 -9 -9 -10 -10 -10 -10 -10 -10 -9 -9 -8 -8 -8 -7 -7 -7 -7 -7 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -10 -11 -12 -13 -13 -14 -14 -14 -14 -14 -14 -14 -14 -14 -15 -15 -15 -15 -15 -15 -15 -16 -16 -17 -18 -18 -18 -18 -18 -17 -16 -16 -15 -15 -14 -14 -13 -12 -12 -11 -10 -10 -9 -9 -8 -8 -8 -7 -6 -5 -4 -3 -2 -2 -1 -1 -1 -1 -0 1 2 3 4 5 6 7 8 10 11 12 13 14 15 16 17 18 19 19 20 19 19 18 18 18 19 19 20 21 21 22 23 23 24 24 24 24 25 25 25 26 27 27 27 27 26 27 27 28 29 -44 -43 -42 -42 -39 -36 -34 -32 -31 -29 -27 -25 -24 -24 -24 -23 -23 -23 -24 -23 -22 -21 -20 -20 -20 -20 -19 -19 -19 -20 -20 -20 -19 -18 -18 -19 -20 -22 -24 -25 -26 -26 -28 -29 -30 -29 -27 -26 -24 -24 -23 -22 -22 -24 -27 -30 -31 -31 -29 -27 -27 -27 -27 -27 -26 -25 -23 -23 -21 -21 -23 -29 -34 -36 -36 -37 -38 -41 -43 -43 -43 -44 -44 -44 -44 -44 -44 -43 -42 -43 -44 -45 -46 -47 -48 -50 -53 -55 -56 -55 -54 -52 -49 -46 -46 -48 -52 -55 -57 -56 -55 -54 -54 -54 -52 -48 -45 -43 -42 -42 -42 -42 -42 -39 -32 -22 -19 -20 -22 -25 -29 -34 -35 -35 -34 -35 -37 -40 -43 -45 -49 -51 -47 -42 -37 -34 -32 -32 -34 -38 -39 -32 -25 -23 -20 -18 -18 -17 -15 -12 -9 -7 -6 -6 -6 -6 -7 -8 -9 -11 -12 -13 -13 -13 -13 -12 -12 -11 -11 -11 -11 -10 -10 -10 -10 -10 -10 -9 -9 -8 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -5 -4 -4 -3 -3 -3 -3 -2 -2 -1 -0 0 -0 -1 -1 -2 -2 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -5 -5 -4 -4 -4 -4 -3 -2 -2 -2 -3 -4 -5 -6 -6 -5 -3 0 2 2 0 -3 -4 -6 -6 -7 -8 -10 -11 -11 -11 -11 -11 -11 -12 -12 -12 -12 -12 -11 -11 -10 -10 -10 -10 -9 -9 -10 -10 -10 -10 -11 -11 -11 -11 -11 -10 -10 -9 -9 -8 -8 -8 -8 -9 -9 -10 -10 -11 -11 -11 -11 -11 -11 -11 -12 -13 -14 -14 -15 -15 -16 -16 -16 -16 -16 -16 -16 -16 -16 -17 -17 -17 -17 -17 -17 -18 -18 -19 -20 -20 -21 -21 -21 -20 -20 -19 -19 -18 -18 -17 -17 -16 -16 -15 -14 -14 -13 -13 -12 -12 -11 -11 -10 -9 -8 -6 -5 -4 -3 -2 -2 -2 -2 -1 -0 0 1 2 3 4 4 5 7 8 10 11 12 13 15 16 18 19 20 21 21 21 20 19 19 19 20 20 21 21 22 22 22 23 23 23 24 24 24 25 26 27 28 28 28 28 27 28 28 28 -45 -42 -42 -42 -39 -36 -33 -30 -29 -28 -27 -26 -26 -26 -25 -25 -24 -23 -22 -21 -21 -20 -21 -21 -21 -19 -17 -17 -17 -17 -19 -20 -20 -19 -18 -20 -23 -25 -27 -28 -28 -29 -29 -29 -29 -28 -27 -26 -26 -25 -25 -25 -25 -26 -28 -30 -30 -28 -26 -25 -26 -27 -27 -27 -27 -27 -27 -27 -25 -22 -23 -27 -33 -34 -33 -34 -36 -42 -45 -45 -44 -43 -43 -42 -41 -43 -45 -47 -45 -45 -45 -46 -47 -48 -50 -52 -55 -57 -58 -58 -57 -54 -51 -49 -48 -49 -52 -54 -55 -53 -53 -54 -56 -58 -57 -54 -49 -46 -43 -42 -41 -41 -41 -39 -34 -27 -25 -25 -27 -31 -35 -37 -36 -36 -37 -39 -38 -38 -42 -48 -54 -58 -56 -53 -49 -43 -36 -33 -35 -40 -42 -37 -31 -30 -28 -25 -24 -22 -20 -17 -14 -10 -8 -7 -7 -7 -7 -8 -9 -11 -12 -13 -13 -13 -12 -12 -12 -12 -12 -11 -11 -11 -10 -10 -10 -10 -9 -9 -8 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -4 -4 -4 -4 -3 -3 -2 -1 -1 -0 -0 -1 -1 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -3 -2 -1 -1 -1 -2 -3 -4 -4 -5 -5 -4 -1 1 3 2 -0 -3 -5 -6 -7 -7 -9 -10 -11 -11 -11 -11 -11 -11 -12 -12 -12 -12 -11 -11 -10 -10 -10 -10 -10 -10 -9 -10 -10 -11 -11 -11 -11 -11 -11 -11 -10 -10 -9 -9 -9 -9 -9 -10 -10 -11 -12 -12 -13 -13 -13 -14 -14 -14 -15 -16 -17 -17 -18 -18 -18 -19 -19 -18 -18 -18 -18 -18 -19 -19 -19 -20 -20 -20 -20 -21 -21 -22 -22 -23 -23 -23 -24 -24 -23 -23 -22 -22 -21 -21 -21 -20 -20 -20 -19 -18 -18 -17 -17 -16 -15 -15 -14 -14 -13 -11 -9 -7 -6 -4 -3 -3 -2 -2 -2 -1 -0 1 2 2 3 3 4 4 6 7 8 10 11 13 15 17 19 21 22 22 22 22 21 21 21 21 21 21 21 22 22 22 22 22 22 23 23 24 25 26 27 28 29 29 29 28 28 28 28 -45 -43 -42 -41 -38 -34 -31 -28 -27 -28 -28 -28 -27 -26 -25 -24 -23 -22 -21 -20 -21 -21 -22 -22 -20 -17 -16 -15 -15 -16 -19 -21 -22 -22 -21 -22 -26 -29 -30 -30 -30 -30 -30 -29 -28 -27 -27 -27 -27 -28 -28 -27 -28 -28 -29 -28 -28 -26 -25 -24 -24 -26 -26 -26 -27 -27 -28 -29 -27 -25 -24 -27 -31 -30 -28 -28 -32 -40 -43 -43 -41 -41 -42 -42 -43 -45 -49 -53 -53 -51 -50 -50 -51 -51 -51 -52 -54 -55 -54 -52 -51 -50 -50 -51 -52 -53 -53 -53 -51 -50 -51 -53 -56 -58 -59 -57 -54 -51 -47 -44 -42 -40 -39 -37 -33 -31 -33 -33 -35 -38 -40 -38 -36 -38 -43 -47 -44 -42 -43 -47 -53 -58 -59 -59 -60 -57 -51 -45 -43 -44 -44 -40 -32 -31 -31 -32 -32 -28 -24 -22 -19 -15 -12 -10 -9 -8 -8 -8 -9 -11 -12 -12 -13 -13 -12 -12 -12 -12 -12 -12 -11 -11 -11 -10 -10 -9 -8 -8 -7 -6 -6 -6 -5 -5 -6 -6 -6 -6 -6 -6 -5 -4 -4 -4 -4 -3 -2 -2 -1 -1 -1 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -3 -2 -1 -0 1 0 -0 -2 -3 -3 -4 -4 -4 -2 0 2 3 2 -1 -4 -5 -7 -7 -8 -9 -10 -11 -11 -11 -11 -11 -11 -12 -12 -12 -11 -11 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -10 -10 -9 -9 -9 -10 -10 -11 -11 -12 -13 -14 -15 -15 -16 -17 -18 -19 -20 -21 -21 -22 -22 -22 -22 -21 -21 -20 -20 -20 -20 -21 -21 -22 -22 -22 -22 -23 -24 -24 -25 -26 -26 -26 -26 -27 -27 -27 -27 -26 -26 -25 -25 -25 -24 -24 -24 -23 -23 -22 -22 -21 -20 -20 -19 -19 -18 -17 -16 -15 -13 -10 -8 -6 -4 -3 -3 -2 -2 -1 -1 0 1 2 2 3 3 3 4 5 6 7 8 10 12 15 17 20 21 23 23 23 22 22 22 22 22 22 22 22 22 22 22 22 22 22 23 24 24 25 27 28 29 30 30 29 28 28 28 -44 -43 -42 -40 -37 -33 -29 -27 -27 -27 -28 -28 -27 -26 -25 -24 -22 -21 -20 -21 -21 -22 -22 -21 -19 -16 -15 -15 -16 -17 -19 -22 -24 -25 -25 -26 -29 -31 -31 -31 -31 -30 -29 -28 -27 -27 -28 -29 -29 -30 -30 -30 -30 -30 -29 -28 -27 -26 -25 -24 -24 -25 -26 -26 -27 -27 -28 -29 -30 -29 -26 -25 -25 -26 -26 -28 -31 -34 -36 -38 -39 -41 -44 -47 -50 -52 -53 -52 -50 -46 -43 -42 -43 -44 -47 -49 -51 -52 -53 -52 -52 -51 -51 -52 -53 -55 -55 -52 -48 -47 -50 -52 -55 -56 -57 -57 -57 -55 -53 -50 -46 -43 -38 -33 -29 -31 -36 -39 -41 -41 -43 -41 -40 -43 -48 -53 -53 -50 -47 -46 -49 -54 -57 -60 -63 -65 -64 -59 -55 -52 -48 -43 -34 -31 -31 -33 -36 -33 -29 -26 -24 -21 -17 -14 -12 -11 -10 -9 -10 -11 -11 -12 -12 -12 -12 -13 -12 -12 -12 -12 -11 -11 -11 -10 -9 -8 -8 -7 -6 -6 -6 -5 -5 -5 -6 -6 -6 -6 -6 -5 -5 -4 -4 -4 -3 -3 -2 -1 -1 -1 -2 -2 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -2 -1 0 1 2 2 1 -1 -2 -3 -3 -3 -3 -2 -1 1 3 3 2 -1 -4 -6 -7 -8 -8 -9 -10 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -10 -11 -11 -10 -10 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -10 -10 -9 -9 -9 -10 -10 -11 -12 -12 -13 -14 -15 -16 -17 -19 -20 -21 -23 -24 -25 -26 -26 -26 -25 -24 -23 -22 -22 -21 -21 -22 -23 -23 -24 -24 -24 -25 -25 -27 -28 -29 -30 -30 -30 -30 -30 -30 -30 -30 -30 -29 -29 -28 -28 -27 -27 -26 -26 -25 -25 -24 -24 -23 -23 -22 -22 -21 -20 -19 -18 -16 -14 -11 -9 -6 -5 -4 -3 -2 -2 -1 -1 0 1 2 3 3 3 3 4 4 5 5 7 9 11 15 17 20 21 22 22 22 22 22 22 22 22 23 23 23 22 22 22 22 22 23 23 24 25 26 27 29 30 30 30 29 28 27 -43 -42 -41 -40 -36 -31 -27 -26 -26 -26 -27 -27 -26 -25 -24 -23 -22 -21 -22 -22 -22 -22 -21 -20 -18 -16 -16 -16 -17 -18 -21 -24 -27 -29 -30 -29 -30 -30 -30 -30 -30 -30 -29 -29 -29 -29 -30 -31 -31 -31 -31 -31 -31 -31 -30 -28 -28 -27 -26 -24 -24 -25 -26 -27 -27 -28 -28 -30 -31 -30 -27 -25 -26 -27 -28 -29 -31 -33 -34 -36 -38 -41 -44 -47 -49 -50 -50 -48 -45 -42 -41 -42 -43 -44 -45 -47 -49 -51 -53 -54 -54 -55 -55 -54 -53 -55 -55 -54 -50 -47 -49 -51 -52 -53 -53 -53 -54 -54 -53 -52 -50 -45 -38 -32 -30 -32 -37 -40 -42 -43 -45 -46 -46 -47 -50 -55 -59 -59 -56 -52 -50 -53 -55 -57 -60 -63 -66 -65 -61 -57 -53 -49 -42 -38 -35 -34 -35 -34 -31 -30 -29 -28 -24 -20 -17 -15 -13 -12 -11 -11 -11 -12 -12 -13 -13 -13 -13 -13 -12 -12 -11 -11 -10 -9 -8 -8 -7 -7 -6 -6 -6 -5 -5 -5 -6 -6 -6 -6 -5 -5 -4 -4 -3 -3 -3 -2 -2 -1 -2 -2 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -4 -3 -2 -1 0 2 3 3 3 2 0 -1 -2 -3 -3 -2 -2 -1 0 2 3 3 1 -2 -5 -7 -8 -8 -8 -9 -10 -11 -11 -12 -12 -12 -11 -11 -10 -10 -10 -10 -10 -11 -11 -11 -10 -10 -10 -9 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -11 -11 -12 -12 -13 -14 -16 -17 -19 -21 -23 -24 -26 -27 -28 -28 -28 -27 -26 -25 -24 -23 -23 -23 -23 -23 -24 -25 -25 -25 -26 -26 -27 -29 -30 -31 -32 -32 -32 -33 -33 -33 -33 -33 -33 -33 -32 -31 -30 -30 -29 -28 -28 -27 -27 -26 -26 -25 -25 -24 -24 -23 -23 -22 -20 -19 -17 -14 -12 -9 -7 -5 -4 -4 -3 -2 -2 -1 0 1 2 3 3 3 3 3 4 4 4 6 8 11 14 17 19 20 20 20 20 20 21 21 22 22 23 23 23 23 23 23 23 23 23 24 24 25 27 28 29 30 30 30 29 28 -43 -41 -40 -38 -34 -29 -26 -24 -25 -25 -26 -26 -25 -25 -24 -24 -23 -23 -23 -23 -22 -21 -20 -19 -17 -16 -16 -17 -19 -21 -24 -28 -31 -33 -33 -31 -28 -25 -25 -26 -28 -29 -30 -31 -32 -32 -32 -32 -31 -31 -31 -32 -32 -32 -31 -30 -29 -28 -26 -25 -24 -26 -27 -28 -28 -28 -29 -30 -31 -31 -29 -26 -26 -28 -30 -31 -33 -34 -35 -37 -39 -41 -44 -46 -46 -46 -46 -46 -45 -45 -44 -42 -41 -42 -44 -46 -48 -50 -51 -53 -56 -58 -58 -56 -54 -55 -57 -56 -52 -49 -49 -50 -50 -50 -49 -49 -50 -51 -51 -50 -49 -47 -45 -43 -41 -40 -41 -41 -43 -45 -47 -48 -49 -51 -54 -57 -59 -59 -58 -58 -56 -54 -54 -55 -58 -62 -66 -65 -60 -57 -56 -57 -54 -49 -44 -40 -37 -34 -33 -34 -35 -36 -34 -30 -25 -20 -17 -15 -13 -12 -11 -11 -12 -13 -14 -14 -13 -13 -12 -11 -11 -10 -9 -8 -7 -7 -7 -7 -7 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -5 -6 -6 -5 -4 -3 -1 0 1 2 3 4 3 2 0 -1 -2 -3 -2 -2 -1 -1 -0 1 2 2 2 -1 -4 -6 -8 -8 -8 -8 -9 -10 -11 -11 -12 -12 -11 -11 -10 -10 -10 -10 -10 -11 -11 -11 -10 -10 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -12 -12 -12 -13 -13 -14 -16 -18 -20 -22 -24 -26 -27 -28 -28 -28 -27 -27 -26 -25 -24 -23 -23 -24 -24 -25 -25 -25 -26 -26 -27 -28 -29 -30 -31 -32 -32 -33 -33 -34 -34 -35 -35 -36 -35 -35 -34 -33 -32 -32 -31 -30 -30 -29 -29 -28 -27 -27 -26 -26 -25 -25 -24 -24 -22 -21 -19 -17 -14 -11 -9 -7 -6 -5 -4 -4 -3 -2 -1 1 2 2 3 3 3 3 3 3 3 3 5 8 11 14 15 16 17 17 18 18 18 19 20 21 21 22 22 22 23 23 23 24 24 24 24 25 26 28 29 30 31 31 30 29 -42 -40 -38 -36 -31 -27 -24 -24 -24 -25 -26 -26 -27 -27 -26 -26 -25 -25 -24 -24 -22 -20 -18 -16 -16 -16 -16 -18 -21 -25 -29 -30 -31 -31 -30 -29 -27 -26 -26 -27 -27 -27 -29 -31 -32 -32 -32 -31 -30 -29 -29 -30 -32 -32 -32 -31 -30 -28 -27 -25 -24 -25 -27 -28 -29 -30 -30 -30 -32 -32 -31 -29 -28 -29 -31 -33 -35 -36 -37 -40 -43 -44 -43 -42 -44 -46 -48 -48 -48 -47 -45 -42 -40 -41 -43 -45 -47 -48 -50 -52 -55 -57 -58 -56 -53 -53 -54 -54 -52 -51 -51 -52 -51 -49 -46 -45 -46 -47 -47 -48 -48 -49 -48 -47 -46 -45 -43 -44 -45 -47 -48 -50 -53 -56 -59 -60 -60 -60 -60 -59 -58 -56 -55 -55 -56 -57 -59 -60 -59 -60 -62 -65 -62 -56 -53 -51 -48 -43 -40 -39 -41 -45 -47 -43 -36 -29 -23 -18 -16 -14 -12 -11 -12 -13 -14 -14 -14 -13 -12 -11 -10 -9 -8 -7 -7 -7 -7 -7 -7 -6 -6 -5 -5 -5 -5 -5 -5 -5 -4 -3 -3 -2 -2 -2 -2 -2 -2 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -5 -6 -6 -6 -5 -3 -1 1 2 3 3 3 3 2 0 -1 -2 -3 -2 -2 -1 -1 -1 -0 1 1 1 0 -2 -5 -7 -8 -8 -8 -8 -9 -10 -11 -12 -12 -11 -11 -10 -9 -9 -9 -10 -11 -11 -11 -11 -10 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -11 -11 -11 -12 -12 -12 -12 -13 -13 -13 -13 -13 -14 -15 -16 -19 -21 -23 -24 -25 -26 -26 -26 -26 -26 -25 -24 -24 -24 -24 -24 -25 -25 -25 -26 -26 -26 -27 -28 -29 -29 -30 -31 -32 -32 -33 -33 -34 -34 -35 -36 -36 -37 -36 -36 -35 -34 -33 -33 -32 -32 -31 -31 -30 -29 -28 -27 -27 -26 -26 -26 -25 -24 -23 -20 -18 -16 -13 -11 -9 -7 -6 -6 -5 -4 -3 -2 -0 1 2 2 3 3 3 2 2 2 2 3 6 8 10 12 13 14 14 15 15 16 16 17 18 19 20 21 21 22 23 24 24 24 25 25 25 26 28 29 30 31 31 31 30 -41 -38 -36 -32 -28 -25 -24 -23 -24 -25 -27 -28 -29 -29 -29 -28 -27 -25 -24 -23 -21 -18 -15 -14 -14 -14 -16 -19 -24 -29 -31 -31 -29 -28 -27 -29 -29 -28 -28 -27 -27 -27 -29 -31 -32 -32 -31 -29 -28 -28 -29 -31 -32 -32 -32 -32 -30 -28 -26 -23 -23 -24 -27 -29 -30 -31 -31 -31 -33 -34 -34 -32 -31 -31 -33 -34 -36 -37 -39 -42 -43 -43 -39 -39 -44 -48 -51 -51 -50 -48 -44 -41 -40 -42 -43 -44 -45 -47 -50 -52 -54 -55 -55 -54 -51 -51 -53 -53 -52 -52 -54 -55 -53 -50 -46 -43 -43 -43 -45 -46 -48 -49 -50 -50 -50 -48 -47 -47 -48 -50 -51 -52 -55 -60 -64 -64 -61 -62 -62 -61 -60 -59 -59 -59 -58 -53 -47 -49 -56 -62 -64 -60 -57 -55 -54 -54 -55 -56 -53 -50 -50 -54 -60 -59 -52 -42 -33 -24 -19 -16 -14 -13 -13 -13 -14 -14 -14 -13 -12 -10 -9 -8 -8 -7 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -5 -4 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -5 -6 -7 -6 -5 -3 -1 1 2 2 3 3 2 1 -0 -2 -2 -3 -2 -2 -1 -1 -1 -1 -0 0 1 0 -2 -4 -7 -8 -8 -7 -7 -8 -9 -10 -11 -12 -11 -11 -10 -9 -8 -8 -9 -10 -11 -11 -11 -10 -9 -8 -8 -8 -8 -8 -9 -9 -10 -10 -11 -11 -12 -12 -13 -13 -13 -14 -14 -14 -14 -14 -14 -14 -15 -17 -19 -21 -22 -23 -24 -24 -24 -25 -24 -24 -24 -24 -24 -25 -25 -25 -26 -26 -26 -26 -26 -27 -27 -28 -29 -30 -30 -31 -31 -32 -33 -33 -34 -34 -35 -36 -37 -37 -37 -37 -36 -36 -35 -35 -34 -34 -33 -32 -31 -30 -29 -28 -27 -27 -27 -27 -27 -26 -24 -22 -20 -17 -15 -12 -10 -9 -7 -7 -6 -5 -4 -3 -1 -0 1 2 2 3 2 2 2 1 1 2 4 6 8 10 10 11 12 12 12 13 14 15 16 17 18 19 20 21 22 23 24 25 25 26 26 27 28 29 30 31 32 32 31 -40 -36 -31 -27 -24 -23 -24 -24 -26 -28 -29 -30 -30 -31 -30 -28 -26 -24 -22 -21 -19 -16 -14 -13 -13 -13 -16 -21 -26 -30 -32 -31 -28 -25 -25 -28 -29 -29 -28 -28 -27 -28 -29 -31 -32 -32 -29 -27 -26 -26 -28 -30 -31 -32 -32 -32 -31 -28 -25 -23 -23 -24 -27 -29 -30 -31 -32 -34 -35 -35 -35 -35 -35 -35 -35 -35 -35 -37 -40 -41 -40 -37 -35 -40 -45 -48 -49 -50 -50 -47 -43 -41 -41 -42 -43 -44 -45 -47 -50 -54 -55 -54 -52 -49 -48 -50 -53 -55 -54 -54 -56 -57 -57 -53 -49 -44 -42 -42 -43 -45 -47 -48 -50 -51 -51 -50 -50 -50 -52 -53 -54 -54 -56 -59 -61 -61 -60 -61 -62 -62 -62 -61 -62 -63 -63 -60 -54 -53 -56 -61 -63 -60 -58 -57 -57 -56 -55 -53 -51 -50 -51 -54 -58 -61 -62 -60 -51 -35 -25 -20 -18 -16 -15 -14 -14 -14 -14 -13 -12 -10 -9 -8 -7 -7 -7 -8 -7 -7 -7 -6 -6 -6 -5 -5 -4 -4 -4 -3 -3 -2 -2 -2 -2 -2 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -6 -6 -7 -5 -3 -1 1 2 2 2 2 1 1 -1 -2 -3 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -2 -4 -6 -7 -7 -7 -6 -7 -7 -9 -10 -11 -12 -11 -10 -9 -8 -8 -9 -9 -10 -11 -11 -10 -9 -9 -8 -8 -7 -8 -8 -9 -10 -10 -11 -12 -12 -13 -13 -14 -14 -15 -15 -15 -15 -15 -14 -15 -15 -17 -18 -20 -21 -21 -22 -22 -23 -23 -23 -24 -24 -24 -25 -25 -25 -26 -26 -26 -27 -27 -27 -27 -27 -28 -28 -29 -30 -30 -31 -32 -33 -33 -34 -34 -35 -35 -36 -37 -37 -38 -38 -38 -38 -37 -37 -36 -35 -34 -33 -32 -31 -30 -29 -28 -28 -28 -28 -28 -27 -26 -24 -22 -19 -16 -13 -11 -10 -9 -8 -7 -6 -5 -4 -3 -1 -0 1 2 2 2 2 1 1 1 1 3 4 6 8 8 9 9 10 10 11 11 13 14 15 16 17 18 19 20 22 23 24 25 26 27 27 28 28 29 30 31 32 32 -38 -32 -27 -23 -23 -25 -27 -28 -29 -30 -31 -31 -31 -31 -30 -28 -25 -23 -21 -20 -18 -16 -14 -13 -13 -15 -19 -23 -28 -30 -31 -30 -27 -25 -25 -27 -29 -29 -28 -27 -28 -29 -30 -31 -31 -31 -28 -25 -25 -26 -27 -28 -29 -30 -31 -32 -31 -28 -26 -25 -24 -25 -27 -30 -31 -33 -34 -36 -37 -36 -36 -37 -38 -39 -39 -38 -37 -38 -41 -40 -36 -33 -34 -41 -45 -46 -45 -46 -47 -45 -43 -42 -43 -43 -44 -45 -46 -48 -51 -55 -56 -54 -50 -47 -47 -48 -51 -54 -55 -55 -56 -58 -59 -57 -54 -48 -44 -41 -41 -43 -44 -45 -47 -49 -50 -50 -51 -53 -55 -56 -56 -56 -57 -57 -58 -59 -60 -61 -61 -62 -62 -62 -63 -65 -66 -64 -59 -56 -56 -58 -61 -61 -59 -59 -59 -59 -57 -54 -52 -52 -53 -54 -56 -60 -62 -63 -61 -51 -38 -29 -24 -22 -20 -17 -15 -14 -14 -13 -12 -10 -9 -8 -8 -8 -8 -8 -7 -7 -7 -6 -6 -6 -5 -4 -4 -3 -3 -3 -2 -2 -2 -2 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -6 -6 -6 -5 -3 -1 0 1 1 1 1 0 -0 -1 -3 -4 -3 -2 -1 -1 -1 -1 -1 -2 -3 -2 -2 -3 -4 -5 -7 -7 -7 -7 -6 -7 -8 -9 -11 -12 -12 -11 -10 -9 -8 -8 -9 -10 -11 -11 -11 -10 -10 -9 -8 -8 -8 -8 -9 -10 -11 -11 -12 -13 -13 -14 -14 -14 -15 -16 -16 -16 -16 -15 -15 -15 -17 -18 -20 -21 -22 -22 -22 -23 -23 -24 -24 -24 -25 -25 -26 -26 -26 -27 -27 -27 -27 -27 -28 -28 -28 -28 -29 -29 -30 -30 -31 -32 -33 -34 -34 -35 -35 -36 -36 -37 -37 -38 -38 -39 -39 -39 -38 -38 -37 -36 -35 -34 -32 -31 -30 -30 -29 -29 -29 -28 -28 -28 -26 -24 -21 -18 -15 -13 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -0 0 1 1 1 1 0 1 1 2 3 5 6 7 8 8 8 8 9 9 11 12 13 15 16 17 18 19 20 21 23 24 26 26 27 27 28 29 30 31 32 33 -34 -29 -26 -26 -27 -29 -30 -31 -32 -33 -33 -33 -32 -31 -29 -26 -24 -22 -22 -21 -19 -17 -15 -14 -15 -18 -23 -27 -30 -31 -31 -29 -27 -26 -27 -29 -29 -28 -27 -27 -28 -29 -29 -29 -29 -29 -27 -25 -24 -26 -27 -27 -27 -28 -29 -29 -29 -29 -29 -28 -27 -27 -29 -32 -34 -35 -36 -38 -38 -37 -36 -37 -39 -41 -42 -42 -42 -42 -42 -39 -35 -33 -35 -41 -45 -45 -44 -43 -44 -45 -45 -44 -45 -45 -47 -48 -49 -50 -52 -55 -56 -54 -50 -48 -48 -49 -51 -52 -53 -54 -55 -56 -57 -58 -57 -52 -47 -44 -42 -42 -42 -42 -43 -45 -48 -49 -52 -54 -56 -57 -57 -57 -58 -58 -59 -60 -61 -61 -61 -62 -63 -62 -63 -65 -66 -64 -59 -56 -54 -55 -56 -58 -58 -60 -62 -63 -62 -58 -57 -56 -55 -52 -54 -57 -61 -64 -64 -59 -50 -42 -35 -31 -30 -25 -20 -16 -13 -13 -12 -11 -9 -9 -8 -8 -8 -8 -7 -7 -6 -6 -6 -5 -5 -4 -3 -3 -3 -3 -2 -2 -2 -3 -3 -4 -4 -4 -4 -5 -5 -5 -5 -4 -4 -5 -5 -6 -6 -6 -5 -3 -1 0 1 1 0 -0 -0 -1 -2 -3 -4 -4 -3 -2 -1 -1 -1 -1 -2 -3 -4 -4 -4 -5 -5 -6 -7 -7 -7 -7 -7 -8 -9 -11 -12 -13 -13 -12 -10 -9 -9 -9 -10 -11 -12 -12 -12 -11 -10 -10 -9 -9 -9 -9 -10 -11 -12 -13 -13 -14 -14 -14 -15 -15 -16 -16 -17 -17 -16 -15 -16 -17 -18 -20 -22 -23 -23 -24 -24 -25 -25 -25 -26 -26 -27 -27 -27 -27 -27 -27 -27 -28 -28 -28 -29 -29 -29 -29 -29 -30 -30 -31 -31 -32 -34 -34 -35 -35 -36 -36 -37 -37 -38 -38 -39 -39 -39 -40 -40 -39 -39 -38 -36 -35 -34 -33 -32 -32 -31 -30 -30 -29 -29 -28 -27 -26 -23 -20 -17 -14 -12 -11 -9 -8 -8 -7 -6 -5 -4 -3 -2 -1 -0 0 0 0 0 1 1 2 3 4 6 7 7 7 7 7 7 8 9 10 12 13 14 15 16 17 18 19 21 22 24 25 26 26 27 28 29 30 31 32 -32 -30 -29 -30 -31 -32 -32 -32 -32 -33 -33 -33 -32 -30 -27 -24 -23 -23 -23 -23 -21 -19 -18 -18 -19 -22 -26 -30 -32 -33 -32 -29 -27 -27 -28 -30 -30 -29 -28 -28 -29 -29 -28 -27 -26 -26 -24 -23 -23 -24 -25 -27 -27 -28 -27 -26 -26 -28 -30 -30 -30 -30 -32 -35 -38 -40 -41 -40 -38 -37 -36 -36 -37 -39 -41 -43 -45 -45 -44 -41 -38 -36 -37 -38 -40 -42 -43 -45 -46 -47 -47 -47 -48 -48 -49 -49 -49 -49 -50 -52 -54 -53 -52 -50 -50 -51 -52 -54 -53 -52 -52 -52 -53 -55 -55 -53 -51 -48 -46 -44 -42 -41 -42 -44 -47 -49 -51 -54 -56 -56 -57 -59 -60 -61 -61 -60 -60 -61 -62 -62 -62 -62 -63 -65 -66 -65 -60 -55 -53 -53 -53 -54 -56 -60 -64 -67 -66 -63 -60 -57 -54 -51 -51 -53 -56 -59 -60 -57 -52 -47 -44 -42 -42 -38 -31 -22 -15 -12 -11 -11 -10 -9 -9 -8 -8 -7 -7 -6 -6 -6 -6 -5 -4 -4 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -5 -4 -2 -1 0 0 0 -0 -0 -1 -2 -3 -5 -4 -3 -2 -2 -1 -1 -1 -2 -3 -4 -5 -6 -6 -6 -6 -7 -7 -8 -8 -8 -9 -9 -11 -13 -15 -15 -14 -13 -12 -11 -11 -11 -12 -13 -13 -14 -13 -13 -12 -11 -10 -10 -10 -10 -11 -12 -13 -14 -14 -14 -15 -15 -16 -16 -16 -17 -17 -16 -16 -16 -16 -18 -20 -22 -24 -25 -25 -26 -26 -27 -27 -27 -28 -28 -28 -28 -27 -27 -27 -27 -27 -28 -29 -29 -29 -29 -29 -29 -29 -30 -30 -31 -32 -33 -34 -35 -36 -36 -36 -37 -37 -37 -38 -38 -39 -39 -39 -40 -40 -40 -40 -39 -38 -37 -36 -35 -34 -33 -33 -32 -31 -30 -29 -28 -28 -27 -25 -22 -19 -16 -14 -12 -11 -10 -9 -8 -7 -6 -6 -5 -4 -3 -2 -1 -1 -0 -0 0 1 2 3 4 5 7 7 7 7 7 6 7 7 8 10 11 12 13 14 15 16 17 18 20 21 23 24 25 26 26 27 28 30 31 -32 -32 -32 -33 -33 -33 -33 -32 -31 -31 -32 -31 -30 -27 -25 -24 -24 -25 -25 -24 -22 -21 -21 -21 -23 -26 -30 -32 -34 -34 -33 -30 -28 -27 -29 -31 -31 -30 -29 -28 -29 -28 -27 -25 -23 -22 -22 -23 -24 -24 -25 -27 -29 -29 -27 -24 -24 -27 -29 -30 -30 -31 -35 -39 -42 -44 -44 -41 -39 -38 -38 -39 -41 -42 -43 -44 -46 -46 -44 -41 -39 -38 -37 -38 -39 -41 -44 -45 -47 -48 -49 -50 -50 -50 -50 -49 -48 -48 -48 -49 -51 -51 -51 -50 -48 -48 -48 -50 -51 -51 -51 -51 -51 -51 -51 -51 -52 -52 -51 -49 -47 -44 -44 -45 -47 -48 -50 -51 -54 -55 -57 -60 -64 -67 -65 -61 -62 -65 -65 -63 -60 -62 -66 -69 -69 -67 -60 -55 -52 -52 -52 -53 -56 -60 -65 -68 -68 -64 -60 -55 -52 -51 -51 -51 -52 -53 -54 -51 -49 -47 -48 -49 -50 -50 -45 -35 -22 -13 -11 -11 -11 -10 -9 -8 -7 -7 -6 -6 -6 -6 -5 -5 -4 -3 -3 -3 -3 -3 -3 -3 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -3 -2 -1 -0 -0 -0 0 -0 -2 -3 -4 -5 -4 -3 -2 -2 -1 -1 -2 -3 -4 -5 -6 -7 -7 -7 -7 -7 -8 -9 -9 -10 -11 -12 -14 -15 -17 -17 -16 -15 -14 -14 -13 -13 -14 -14 -15 -15 -15 -14 -14 -13 -12 -12 -12 -12 -13 -14 -15 -15 -15 -15 -15 -15 -16 -16 -17 -17 -16 -16 -15 -16 -17 -19 -22 -24 -25 -26 -27 -28 -28 -28 -29 -29 -29 -29 -29 -28 -27 -27 -27 -27 -27 -28 -29 -29 -30 -30 -30 -30 -30 -30 -30 -31 -32 -33 -34 -35 -35 -36 -36 -37 -37 -37 -38 -38 -38 -39 -39 -40 -40 -41 -40 -40 -39 -38 -37 -36 -36 -35 -34 -33 -32 -31 -29 -29 -28 -27 -26 -24 -21 -18 -16 -14 -12 -11 -10 -9 -9 -8 -7 -7 -6 -5 -4 -3 -2 -1 -1 0 1 1 2 4 5 7 8 8 7 7 6 6 6 6 8 9 10 11 12 13 14 15 16 17 19 20 22 23 24 25 26 27 28 30 -34 -34 -35 -34 -34 -33 -32 -31 -30 -29 -30 -29 -27 -25 -24 -25 -26 -26 -26 -26 -24 -23 -23 -24 -26 -29 -32 -33 -34 -34 -33 -30 -29 -29 -29 -31 -32 -31 -30 -29 -28 -27 -26 -24 -23 -21 -22 -24 -26 -27 -27 -29 -31 -30 -28 -26 -25 -27 -28 -28 -30 -32 -37 -41 -44 -45 -45 -43 -41 -40 -40 -42 -44 -45 -45 -44 -44 -43 -40 -39 -40 -41 -41 -40 -41 -43 -45 -48 -50 -51 -52 -52 -51 -51 -50 -49 -49 -48 -49 -49 -50 -51 -49 -47 -46 -45 -46 -48 -50 -51 -52 -53 -52 -49 -48 -49 -50 -51 -52 -52 -51 -49 -48 -48 -48 -47 -46 -48 -51 -54 -57 -59 -60 -62 -62 -63 -63 -63 -62 -61 -61 -63 -67 -70 -71 -69 -62 -56 -53 -52 -53 -55 -57 -60 -63 -65 -64 -59 -55 -53 -52 -52 -52 -51 -51 -50 -50 -48 -47 -47 -48 -50 -52 -55 -54 -46 -34 -21 -14 -12 -11 -11 -10 -8 -7 -7 -6 -6 -6 -6 -5 -5 -4 -3 -3 -3 -3 -3 -3 -3 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -2 -2 -1 -1 -0 0 -0 -1 -3 -4 -5 -4 -4 -3 -2 -2 -1 -2 -3 -4 -5 -6 -7 -7 -8 -7 -7 -8 -9 -10 -11 -11 -12 -14 -16 -17 -18 -19 -18 -18 -17 -16 -16 -16 -16 -17 -17 -17 -17 -16 -16 -15 -14 -14 -14 -15 -16 -17 -17 -17 -16 -15 -15 -15 -15 -16 -16 -16 -16 -15 -15 -16 -18 -20 -23 -25 -26 -27 -28 -29 -29 -29 -29 -29 -29 -29 -28 -27 -27 -26 -26 -27 -27 -28 -29 -30 -30 -31 -31 -31 -30 -30 -31 -31 -32 -33 -34 -34 -35 -36 -36 -36 -37 -37 -37 -38 -38 -38 -39 -39 -40 -40 -40 -40 -39 -39 -38 -37 -36 -35 -34 -33 -32 -31 -30 -29 -28 -27 -26 -24 -22 -20 -17 -15 -14 -12 -11 -11 -10 -10 -9 -9 -8 -7 -6 -5 -4 -3 -2 -1 -0 1 2 3 5 7 8 9 8 7 6 5 5 5 6 7 8 9 10 11 12 13 14 15 17 18 20 21 22 23 24 25 26 27 -35 -35 -35 -34 -33 -33 -31 -29 -28 -28 -28 -27 -25 -25 -26 -27 -27 -27 -27 -27 -26 -24 -24 -25 -27 -30 -34 -35 -35 -34 -32 -31 -30 -29 -29 -29 -29 -30 -30 -29 -28 -28 -27 -26 -25 -24 -24 -25 -27 -28 -29 -30 -30 -29 -28 -28 -29 -28 -27 -27 -29 -34 -39 -43 -45 -45 -44 -42 -41 -42 -43 -45 -47 -47 -45 -43 -40 -37 -34 -35 -39 -43 -46 -48 -49 -49 -49 -50 -52 -53 -53 -52 -51 -50 -50 -50 -50 -50 -50 -51 -51 -50 -48 -45 -44 -43 -44 -46 -49 -51 -53 -53 -52 -50 -48 -47 -48 -49 -50 -52 -53 -53 -52 -50 -50 -49 -49 -49 -51 -54 -57 -59 -59 -60 -60 -61 -61 -61 -61 -61 -62 -64 -67 -69 -69 -67 -62 -56 -53 -53 -54 -56 -57 -58 -59 -60 -59 -57 -57 -56 -55 -54 -53 -51 -51 -50 -49 -48 -48 -48 -49 -50 -51 -53 -54 -52 -45 -33 -22 -15 -12 -11 -10 -9 -8 -7 -6 -6 -6 -5 -5 -4 -4 -4 -3 -3 -3 -3 -3 -4 -5 -5 -5 -5 -5 -5 -5 -6 -5 -5 -5 -4 -4 -4 -4 -4 -3 -3 -2 -2 -1 -0 -0 -0 -1 -2 -4 -4 -4 -4 -4 -3 -3 -2 -3 -4 -5 -5 -6 -7 -8 -8 -8 -8 -8 -9 -10 -10 -12 -13 -14 -15 -17 -18 -19 -20 -20 -20 -20 -19 -19 -19 -19 -19 -20 -19 -19 -18 -17 -16 -16 -16 -17 -18 -18 -19 -19 -18 -17 -16 -15 -15 -15 -15 -16 -15 -15 -14 -14 -16 -18 -21 -23 -25 -26 -27 -28 -29 -29 -29 -29 -29 -28 -27 -27 -26 -26 -26 -26 -27 -28 -29 -30 -31 -32 -32 -32 -32 -32 -32 -32 -32 -32 -33 -34 -34 -35 -35 -36 -36 -37 -37 -37 -37 -38 -38 -38 -39 -39 -40 -40 -40 -39 -39 -38 -37 -36 -35 -34 -33 -32 -31 -30 -29 -28 -27 -26 -25 -23 -21 -19 -17 -15 -14 -13 -12 -12 -11 -11 -11 -10 -9 -8 -7 -6 -5 -4 -2 -1 -1 0 2 4 6 8 8 8 7 6 5 4 4 4 5 6 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 -35 -35 -34 -33 -32 -31 -29 -27 -26 -26 -26 -26 -26 -26 -27 -28 -28 -29 -29 -29 -27 -26 -25 -26 -28 -32 -35 -36 -36 -34 -32 -31 -29 -29 -28 -28 -28 -29 -30 -30 -29 -27 -27 -28 -28 -28 -28 -28 -29 -29 -29 -29 -28 -27 -28 -29 -30 -29 -27 -27 -29 -35 -41 -43 -44 -43 -42 -41 -41 -41 -43 -46 -48 -47 -44 -40 -36 -32 -30 -33 -37 -43 -49 -55 -56 -54 -51 -51 -53 -53 -52 -51 -50 -50 -50 -50 -51 -51 -52 -53 -53 -52 -49 -46 -43 -43 -43 -46 -49 -52 -53 -54 -54 -52 -50 -48 -47 -46 -46 -48 -51 -53 -52 -51 -51 -51 -51 -51 -52 -54 -56 -58 -58 -59 -59 -60 -61 -61 -62 -61 -61 -63 -66 -68 -68 -65 -61 -56 -53 -53 -54 -55 -56 -58 -60 -59 -57 -57 -58 -60 -60 -58 -55 -53 -52 -51 -50 -50 -50 -50 -50 -50 -51 -52 -53 -53 -51 -46 -36 -24 -15 -11 -11 -9 -8 -7 -6 -6 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -6 -6 -6 -5 -5 -4 -4 -4 -3 -3 -3 -2 -2 -2 -1 -1 -0 -0 -1 -2 -3 -4 -4 -4 -4 -4 -3 -3 -4 -5 -6 -6 -6 -7 -8 -9 -9 -9 -9 -9 -9 -10 -11 -12 -13 -15 -16 -18 -19 -20 -21 -21 -22 -22 -22 -22 -23 -23 -23 -23 -22 -21 -20 -19 -18 -18 -18 -19 -20 -21 -21 -20 -19 -18 -16 -15 -15 -15 -15 -15 -15 -14 -14 -15 -16 -19 -21 -23 -25 -26 -27 -27 -28 -28 -28 -28 -27 -26 -26 -25 -26 -26 -27 -28 -29 -30 -31 -32 -33 -33 -34 -34 -34 -33 -33 -33 -33 -33 -34 -34 -34 -35 -35 -36 -36 -37 -37 -37 -37 -37 -38 -38 -38 -39 -40 -40 -40 -39 -39 -38 -37 -36 -34 -33 -32 -31 -30 -30 -29 -28 -26 -25 -24 -23 -22 -20 -18 -16 -15 -14 -14 -13 -13 -13 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 1 3 6 7 8 7 6 5 3 3 3 3 5 6 8 9 10 11 12 13 14 15 16 18 19 20 21 22 22 23 -35 -34 -33 -31 -31 -29 -27 -25 -24 -25 -26 -28 -29 -29 -29 -28 -28 -29 -29 -29 -29 -27 -27 -27 -29 -32 -36 -37 -36 -35 -33 -30 -28 -28 -28 -28 -29 -30 -31 -31 -29 -28 -28 -29 -30 -31 -30 -29 -29 -28 -27 -25 -25 -26 -28 -30 -30 -28 -26 -27 -30 -35 -41 -42 -42 -41 -40 -40 -39 -38 -40 -43 -46 -44 -41 -37 -34 -30 -30 -33 -37 -43 -49 -55 -56 -54 -52 -50 -51 -51 -51 -50 -49 -49 -50 -51 -51 -52 -54 -56 -56 -54 -50 -47 -45 -44 -45 -47 -49 -51 -53 -54 -55 -55 -53 -50 -47 -44 -43 -45 -47 -49 -49 -49 -50 -52 -51 -50 -51 -54 -55 -56 -57 -58 -59 -61 -62 -63 -63 -62 -61 -62 -64 -66 -67 -66 -62 -57 -54 -52 -53 -54 -55 -58 -60 -59 -56 -56 -59 -63 -67 -67 -62 -57 -54 -53 -53 -53 -53 -53 -52 -52 -53 -53 -54 -54 -53 -53 -49 -37 -23 -13 -12 -10 -9 -8 -7 -6 -6 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -5 -5 -5 -5 -6 -6 -6 -6 -6 -5 -4 -4 -4 -3 -3 -3 -2 -2 -1 -1 -0 -0 -0 -1 -2 -3 -4 -4 -4 -5 -5 -4 -4 -4 -5 -6 -7 -7 -8 -8 -9 -9 -10 -10 -10 -10 -10 -11 -12 -13 -14 -15 -17 -18 -20 -21 -22 -22 -23 -23 -24 -25 -25 -26 -26 -26 -25 -24 -23 -22 -20 -20 -20 -21 -22 -22 -22 -22 -21 -19 -18 -16 -15 -15 -15 -15 -15 -14 -14 -15 -17 -19 -21 -23 -24 -24 -25 -26 -26 -27 -27 -26 -25 -25 -25 -25 -26 -27 -29 -30 -31 -32 -33 -34 -35 -35 -36 -36 -36 -36 -35 -35 -35 -35 -35 -35 -35 -36 -36 -37 -37 -38 -38 -38 -38 -38 -38 -38 -38 -39 -39 -40 -40 -39 -39 -38 -36 -35 -33 -32 -31 -30 -29 -29 -28 -28 -26 -25 -24 -24 -22 -21 -19 -18 -16 -15 -15 -15 -15 -15 -15 -14 -13 -12 -12 -11 -10 -9 -8 -6 -6 -5 -4 -2 -0 3 5 6 7 6 5 3 2 2 2 3 5 6 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -35 -33 -32 -30 -29 -26 -24 -23 -25 -28 -31 -32 -32 -31 -29 -28 -27 -28 -29 -29 -30 -29 -29 -28 -30 -33 -36 -37 -36 -35 -32 -29 -27 -27 -28 -30 -31 -32 -32 -31 -29 -28 -29 -30 -31 -30 -29 -27 -26 -24 -22 -21 -22 -24 -27 -30 -30 -28 -26 -27 -30 -35 -40 -40 -40 -39 -38 -38 -37 -37 -40 -42 -43 -42 -40 -37 -33 -30 -32 -34 -37 -42 -48 -51 -52 -52 -51 -50 -50 -50 -51 -51 -50 -49 -50 -51 -52 -53 -55 -57 -56 -54 -50 -48 -47 -47 -47 -47 -48 -50 -52 -54 -55 -55 -54 -51 -47 -44 -42 -43 -44 -44 -45 -45 -48 -50 -50 -49 -50 -52 -54 -55 -57 -58 -59 -60 -62 -63 -63 -62 -62 -63 -64 -65 -67 -67 -63 -59 -55 -53 -52 -52 -53 -55 -56 -55 -53 -54 -57 -63 -68 -70 -66 -60 -56 -55 -57 -58 -59 -57 -55 -54 -55 -56 -57 -57 -55 -56 -56 -49 -35 -17 -13 -12 -10 -9 -8 -7 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -5 -5 -4 -4 -4 -3 -3 -2 -2 -1 -0 -0 -0 -1 -1 -2 -3 -3 -4 -4 -5 -5 -5 -5 -5 -6 -7 -7 -8 -8 -9 -10 -10 -10 -10 -10 -10 -11 -11 -12 -13 -14 -15 -16 -17 -19 -20 -21 -22 -23 -24 -24 -25 -26 -27 -28 -28 -28 -27 -26 -25 -24 -23 -23 -23 -23 -24 -24 -24 -23 -22 -21 -20 -18 -17 -16 -16 -15 -15 -15 -15 -16 -18 -19 -21 -22 -22 -23 -23 -24 -24 -25 -24 -24 -24 -24 -25 -26 -28 -30 -32 -33 -34 -35 -36 -36 -37 -37 -38 -38 -38 -38 -37 -37 -36 -36 -36 -36 -36 -36 -37 -38 -39 -39 -39 -39 -39 -39 -39 -39 -39 -39 -39 -40 -40 -39 -38 -37 -36 -34 -33 -31 -30 -29 -29 -29 -28 -28 -27 -26 -25 -24 -23 -22 -21 -19 -18 -17 -16 -16 -16 -16 -16 -16 -15 -15 -14 -13 -12 -12 -11 -10 -9 -9 -8 -7 -5 -1 2 4 5 6 5 3 2 1 1 2 4 5 7 8 10 11 12 13 13 14 15 16 17 18 19 20 20 -34 -33 -30 -28 -26 -23 -23 -25 -28 -32 -34 -33 -32 -31 -29 -27 -27 -27 -28 -29 -31 -31 -30 -30 -30 -33 -36 -37 -36 -34 -31 -29 -28 -29 -31 -33 -34 -34 -32 -30 -28 -28 -29 -29 -29 -28 -26 -24 -22 -19 -18 -18 -20 -23 -26 -29 -29 -26 -25 -27 -30 -34 -38 -38 -37 -37 -36 -35 -36 -38 -40 -41 -42 -41 -39 -35 -32 -32 -34 -34 -36 -40 -43 -46 -47 -48 -50 -51 -51 -52 -53 -52 -51 -50 -51 -52 -53 -54 -55 -56 -55 -53 -51 -50 -50 -49 -48 -47 -48 -50 -52 -54 -55 -56 -55 -52 -49 -46 -44 -43 -43 -42 -42 -42 -43 -45 -46 -47 -48 -50 -53 -55 -56 -57 -58 -60 -60 -60 -61 -62 -63 -63 -63 -64 -65 -66 -65 -61 -58 -54 -52 -52 -53 -53 -52 -50 -51 -53 -56 -61 -66 -68 -65 -61 -57 -57 -60 -61 -61 -59 -56 -57 -57 -57 -57 -57 -57 -59 -59 -54 -41 -24 -18 -15 -12 -11 -10 -8 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -3 -3 -2 -2 -1 -1 -0 -0 -1 -1 -2 -3 -3 -3 -4 -5 -5 -6 -6 -6 -7 -8 -8 -8 -9 -10 -11 -11 -12 -11 -11 -11 -11 -12 -12 -13 -13 -14 -15 -16 -17 -19 -20 -21 -23 -23 -24 -25 -26 -27 -28 -29 -29 -29 -28 -27 -26 -26 -25 -25 -25 -25 -25 -25 -24 -24 -23 -23 -22 -21 -20 -19 -18 -17 -16 -16 -16 -17 -18 -19 -20 -21 -21 -21 -21 -22 -22 -23 -23 -23 -24 -25 -26 -28 -30 -32 -34 -36 -37 -38 -38 -39 -39 -39 -40 -40 -40 -40 -39 -39 -38 -37 -37 -37 -37 -38 -39 -39 -40 -41 -41 -41 -41 -40 -40 -40 -40 -40 -40 -39 -39 -39 -38 -37 -35 -34 -32 -31 -30 -29 -29 -29 -29 -28 -28 -27 -26 -25 -24 -23 -22 -21 -19 -18 -17 -17 -17 -17 -18 -17 -17 -16 -15 -15 -14 -14 -13 -12 -12 -12 -12 -12 -10 -6 -3 1 3 5 5 4 3 1 1 2 3 5 6 7 9 10 11 12 13 14 14 15 16 17 18 19 19 -35 -32 -29 -26 -24 -23 -25 -28 -31 -33 -33 -33 -32 -30 -29 -27 -26 -26 -27 -28 -31 -32 -31 -30 -30 -32 -35 -37 -36 -34 -32 -30 -30 -33 -35 -36 -35 -33 -30 -27 -26 -26 -27 -27 -26 -24 -21 -20 -17 -16 -16 -18 -20 -23 -26 -28 -27 -25 -25 -27 -30 -32 -33 -33 -33 -34 -34 -34 -35 -36 -38 -39 -40 -40 -37 -34 -32 -32 -32 -33 -35 -38 -41 -44 -46 -48 -50 -52 -54 -54 -54 -54 -53 -52 -53 -54 -55 -56 -57 -56 -54 -51 -49 -49 -50 -49 -48 -47 -48 -49 -51 -52 -54 -55 -55 -53 -50 -47 -46 -45 -45 -44 -43 -42 -41 -42 -44 -45 -47 -48 -51 -55 -57 -58 -58 -59 -59 -59 -61 -63 -63 -61 -60 -60 -62 -65 -65 -64 -60 -56 -53 -53 -54 -54 -52 -49 -50 -52 -56 -59 -63 -64 -63 -61 -59 -59 -62 -67 -67 -63 -60 -60 -59 -58 -57 -58 -59 -61 -62 -59 -49 -35 -28 -23 -18 -13 -13 -11 -10 -8 -8 -8 -8 -7 -7 -6 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -5 -4 -4 -3 -3 -2 -2 -1 -1 -1 -1 -1 -2 -2 -3 -3 -3 -4 -5 -5 -6 -6 -7 -8 -8 -9 -9 -10 -11 -12 -13 -13 -13 -12 -12 -12 -12 -13 -13 -14 -14 -15 -15 -16 -17 -18 -20 -22 -23 -23 -24 -25 -26 -27 -28 -29 -29 -29 -28 -27 -27 -26 -26 -27 -27 -27 -26 -26 -25 -24 -24 -24 -24 -24 -23 -22 -20 -18 -17 -17 -17 -17 -18 -18 -19 -19 -19 -19 -20 -20 -21 -22 -22 -23 -25 -27 -29 -31 -33 -35 -37 -38 -39 -40 -40 -40 -40 -41 -41 -41 -41 -41 -41 -40 -39 -39 -38 -38 -38 -39 -40 -41 -42 -42 -42 -42 -42 -42 -42 -41 -41 -40 -39 -39 -38 -38 -37 -36 -35 -33 -32 -31 -30 -30 -30 -29 -30 -29 -29 -28 -27 -26 -26 -25 -24 -23 -21 -19 -18 -18 -18 -18 -18 -18 -18 -18 -17 -16 -16 -15 -15 -15 -15 -15 -16 -16 -15 -12 -8 -3 1 4 5 5 4 2 2 2 3 4 5 7 8 9 11 12 13 13 14 14 15 16 17 18 18 -36 -32 -28 -25 -24 -25 -28 -30 -32 -33 -33 -32 -32 -31 -29 -27 -26 -26 -27 -29 -30 -31 -31 -30 -30 -32 -34 -36 -36 -34 -32 -32 -33 -35 -37 -37 -34 -30 -27 -25 -24 -24 -22 -21 -20 -18 -17 -17 -15 -15 -15 -17 -19 -22 -25 -26 -26 -27 -28 -29 -30 -30 -28 -27 -29 -31 -32 -32 -33 -34 -35 -36 -39 -39 -37 -34 -33 -32 -32 -32 -34 -36 -40 -43 -46 -50 -53 -55 -56 -56 -55 -55 -55 -54 -55 -56 -56 -55 -55 -53 -51 -48 -48 -49 -50 -49 -48 -47 -47 -47 -49 -50 -52 -54 -54 -52 -49 -47 -47 -47 -47 -47 -46 -44 -44 -44 -46 -47 -48 -50 -50 -53 -56 -59 -60 -59 -57 -58 -59 -61 -61 -60 -59 -58 -59 -61 -61 -61 -59 -56 -54 -55 -56 -56 -53 -50 -51 -53 -56 -59 -61 -61 -60 -59 -59 -59 -63 -69 -70 -67 -62 -61 -61 -59 -58 -59 -61 -62 -64 -63 -59 -49 -40 -34 -25 -17 -16 -16 -13 -11 -9 -9 -8 -8 -7 -6 -5 -5 -5 -5 -6 -6 -7 -7 -6 -6 -5 -5 -4 -3 -2 -2 -2 -1 -1 -1 -2 -2 -2 -3 -3 -3 -4 -4 -5 -5 -6 -6 -7 -8 -9 -10 -10 -11 -12 -13 -14 -14 -14 -14 -14 -13 -13 -14 -14 -14 -15 -15 -15 -15 -16 -17 -18 -20 -22 -23 -23 -24 -24 -25 -26 -27 -28 -28 -28 -27 -26 -26 -26 -26 -27 -28 -28 -27 -26 -25 -24 -24 -25 -25 -25 -25 -23 -21 -19 -18 -17 -17 -17 -17 -17 -17 -18 -18 -18 -19 -20 -21 -22 -23 -24 -27 -29 -31 -33 -35 -37 -38 -40 -40 -41 -41 -41 -41 -42 -42 -42 -42 -42 -42 -41 -41 -40 -40 -40 -40 -41 -42 -42 -43 -43 -43 -43 -43 -43 -43 -42 -41 -40 -39 -38 -38 -37 -37 -36 -35 -33 -32 -31 -31 -31 -30 -30 -30 -30 -30 -30 -29 -28 -27 -27 -26 -25 -23 -21 -20 -19 -18 -18 -19 -19 -19 -19 -18 -17 -17 -17 -16 -16 -17 -18 -19 -20 -21 -19 -14 -9 -4 2 4 5 5 4 3 3 3 4 5 6 7 8 10 11 12 13 13 14 14 15 16 17 18 -36 -32 -29 -27 -28 -29 -31 -32 -33 -33 -33 -33 -33 -32 -29 -27 -26 -27 -29 -30 -30 -30 -30 -31 -31 -32 -33 -34 -34 -34 -33 -33 -34 -35 -35 -33 -31 -29 -27 -25 -23 -21 -19 -17 -15 -14 -14 -14 -15 -15 -15 -16 -19 -21 -24 -26 -28 -30 -31 -32 -32 -29 -25 -24 -26 -28 -29 -29 -30 -30 -31 -33 -36 -36 -36 -34 -33 -32 -32 -32 -34 -37 -40 -43 -47 -52 -55 -56 -56 -55 -55 -54 -55 -56 -57 -57 -55 -53 -50 -49 -48 -47 -48 -49 -49 -49 -48 -48 -47 -46 -47 -48 -50 -53 -53 -52 -50 -48 -48 -49 -49 -48 -48 -47 -47 -47 -47 -48 -51 -55 -54 -53 -54 -57 -59 -57 -54 -55 -57 -58 -58 -59 -59 -59 -58 -59 -58 -58 -57 -55 -54 -55 -56 -54 -51 -50 -53 -55 -58 -61 -62 -60 -58 -57 -57 -57 -60 -66 -67 -65 -62 -63 -63 -61 -58 -59 -62 -64 -66 -66 -65 -57 -47 -38 -28 -20 -19 -20 -18 -15 -12 -10 -9 -8 -7 -6 -5 -5 -5 -6 -7 -7 -7 -7 -7 -6 -5 -4 -3 -3 -2 -1 -1 -2 -2 -2 -3 -3 -4 -4 -4 -4 -5 -5 -6 -6 -7 -8 -9 -10 -10 -11 -11 -13 -14 -15 -16 -16 -16 -15 -15 -15 -14 -15 -15 -15 -16 -16 -15 -15 -16 -17 -18 -20 -22 -23 -23 -24 -24 -25 -26 -27 -27 -27 -27 -26 -25 -24 -24 -25 -26 -27 -27 -27 -25 -24 -24 -24 -24 -25 -25 -24 -23 -21 -19 -18 -17 -16 -16 -16 -16 -16 -16 -17 -17 -18 -20 -21 -23 -24 -26 -28 -31 -33 -35 -37 -38 -39 -40 -41 -41 -41 -41 -42 -42 -43 -43 -43 -43 -43 -43 -42 -42 -42 -42 -42 -43 -43 -44 -44 -44 -44 -44 -44 -43 -43 -42 -41 -40 -39 -38 -37 -37 -37 -36 -36 -35 -33 -32 -32 -32 -32 -31 -31 -32 -32 -32 -31 -30 -29 -28 -28 -27 -25 -23 -21 -20 -19 -19 -19 -19 -19 -19 -19 -18 -18 -17 -17 -17 -18 -19 -21 -23 -25 -27 -23 -16 -11 -3 3 5 6 5 5 4 4 4 4 5 6 7 8 10 11 12 13 13 14 14 15 16 17 -36 -32 -31 -31 -33 -35 -35 -34 -33 -32 -32 -31 -30 -29 -27 -26 -26 -29 -30 -31 -30 -30 -30 -30 -31 -31 -32 -32 -33 -33 -34 -34 -33 -32 -32 -31 -30 -30 -28 -25 -22 -19 -17 -15 -13 -11 -11 -12 -14 -14 -15 -16 -19 -22 -25 -27 -30 -31 -33 -33 -32 -29 -25 -23 -24 -25 -26 -25 -25 -25 -26 -29 -32 -33 -34 -34 -34 -34 -33 -34 -36 -39 -42 -45 -49 -52 -54 -55 -54 -54 -52 -52 -54 -56 -58 -57 -54 -50 -47 -47 -47 -47 -48 -49 -49 -49 -49 -48 -48 -47 -46 -47 -49 -51 -52 -51 -50 -50 -50 -50 -49 -49 -49 -49 -49 -48 -49 -49 -50 -52 -52 -52 -51 -52 -54 -54 -53 -53 -55 -56 -57 -57 -57 -57 -57 -56 -55 -55 -55 -55 -53 -52 -51 -50 -51 -53 -56 -59 -61 -61 -61 -59 -58 -58 -58 -58 -57 -60 -62 -62 -61 -64 -66 -62 -59 -59 -63 -66 -68 -68 -68 -63 -50 -37 -27 -21 -22 -24 -23 -20 -16 -12 -10 -9 -8 -6 -6 -6 -7 -8 -8 -8 -8 -8 -7 -6 -5 -4 -3 -2 -1 -1 -1 -2 -3 -3 -4 -5 -5 -5 -5 -5 -6 -6 -7 -8 -9 -10 -10 -11 -11 -12 -13 -14 -16 -17 -17 -18 -18 -17 -17 -16 -16 -16 -16 -16 -16 -16 -16 -16 -16 -17 -18 -20 -21 -23 -23 -24 -24 -25 -26 -26 -27 -27 -26 -25 -24 -23 -23 -23 -24 -25 -26 -26 -25 -23 -23 -23 -23 -24 -24 -23 -22 -21 -19 -18 -17 -16 -16 -15 -15 -15 -16 -16 -17 -19 -21 -22 -24 -25 -27 -29 -32 -34 -36 -37 -39 -40 -40 -40 -40 -41 -42 -42 -43 -44 -44 -44 -44 -44 -44 -43 -43 -43 -43 -44 -44 -45 -45 -45 -45 -44 -44 -43 -43 -43 -42 -41 -40 -39 -38 -38 -38 -38 -37 -37 -37 -35 -34 -33 -33 -33 -33 -32 -33 -34 -35 -34 -33 -31 -31 -30 -29 -28 -26 -23 -21 -20 -20 -19 -19 -19 -19 -19 -19 -19 -18 -18 -18 -19 -20 -22 -25 -30 -34 -33 -27 -21 -11 -2 4 7 7 6 5 5 5 5 5 5 6 7 9 10 11 12 13 14 14 15 16 16 -36 -34 -34 -35 -37 -38 -36 -35 -33 -30 -28 -26 -25 -24 -23 -24 -26 -28 -29 -31 -31 -31 -30 -30 -30 -30 -31 -31 -33 -34 -35 -34 -32 -31 -31 -31 -33 -33 -30 -26 -22 -19 -17 -14 -12 -10 -9 -10 -12 -13 -15 -16 -20 -24 -27 -28 -30 -30 -31 -31 -30 -28 -26 -25 -24 -24 -23 -22 -21 -20 -21 -24 -27 -30 -32 -34 -34 -35 -36 -37 -38 -41 -45 -48 -51 -53 -53 -52 -51 -51 -51 -50 -52 -55 -56 -55 -52 -48 -46 -46 -47 -48 -49 -50 -50 -49 -49 -49 -49 -48 -48 -48 -49 -50 -50 -50 -50 -50 -50 -50 -50 -49 -48 -48 -48 -48 -50 -51 -52 -51 -51 -51 -51 -50 -52 -54 -54 -53 -53 -55 -55 -55 -55 -55 -55 -55 -54 -54 -54 -54 -53 -52 -50 -49 -49 -52 -57 -61 -64 -63 -60 -57 -56 -58 -59 -59 -55 -54 -55 -58 -60 -64 -66 -63 -59 -58 -64 -67 -69 -69 -69 -67 -55 -39 -28 -24 -25 -26 -29 -28 -24 -16 -12 -10 -8 -7 -7 -8 -9 -10 -10 -10 -9 -9 -8 -7 -5 -4 -3 -2 -1 -1 -2 -3 -4 -5 -6 -6 -6 -6 -6 -6 -7 -8 -9 -10 -10 -11 -11 -11 -12 -12 -14 -15 -16 -18 -19 -19 -19 -19 -19 -18 -17 -17 -17 -17 -17 -17 -17 -17 -17 -17 -18 -19 -21 -22 -23 -24 -24 -25 -26 -26 -27 -26 -25 -24 -23 -22 -21 -21 -23 -24 -24 -24 -23 -22 -21 -21 -22 -22 -22 -22 -21 -20 -19 -18 -17 -16 -16 -15 -15 -15 -15 -16 -18 -20 -22 -23 -25 -27 -28 -30 -32 -34 -36 -38 -39 -40 -40 -40 -40 -41 -42 -43 -44 -45 -45 -45 -45 -44 -44 -44 -44 -44 -44 -45 -45 -46 -46 -46 -46 -45 -44 -43 -42 -42 -42 -41 -40 -39 -39 -39 -39 -39 -39 -39 -39 -38 -37 -35 -34 -35 -35 -35 -35 -37 -41 -40 -37 -35 -35 -35 -32 -31 -29 -26 -24 -22 -21 -21 -20 -20 -20 -20 -20 -20 -19 -19 -19 -19 -20 -22 -27 -34 -38 -38 -35 -32 -22 -10 -0 6 7 8 7 6 6 5 5 5 6 7 8 9 11 12 13 14 14 14 15 16 -37 -38 -39 -39 -38 -36 -35 -32 -29 -27 -26 -24 -23 -23 -23 -24 -26 -28 -30 -32 -32 -31 -30 -30 -30 -31 -31 -31 -33 -34 -35 -33 -31 -30 -31 -33 -36 -34 -31 -27 -23 -21 -17 -14 -12 -10 -9 -9 -11 -13 -16 -19 -23 -27 -28 -29 -28 -28 -27 -25 -24 -24 -27 -27 -25 -23 -21 -20 -18 -16 -17 -20 -24 -28 -31 -33 -35 -37 -39 -39 -41 -44 -49 -53 -54 -54 -51 -48 -47 -49 -49 -50 -50 -52 -53 -53 -51 -48 -46 -47 -48 -50 -51 -52 -51 -51 -50 -50 -49 -49 -49 -49 -49 -49 -49 -48 -48 -49 -50 -51 -51 -50 -47 -45 -45 -46 -49 -51 -53 -52 -52 -52 -52 -51 -51 -54 -55 -54 -53 -53 -53 -53 -54 -54 -54 -54 -55 -56 -55 -54 -53 -51 -49 -47 -47 -50 -54 -57 -60 -61 -60 -59 -56 -55 -54 -53 -51 -52 -53 -56 -59 -63 -65 -65 -62 -59 -60 -65 -68 -69 -68 -67 -58 -46 -37 -32 -30 -30 -33 -35 -34 -25 -17 -12 -10 -9 -9 -10 -11 -12 -12 -11 -11 -10 -9 -8 -6 -4 -3 -2 -1 -2 -3 -4 -5 -6 -6 -6 -6 -6 -7 -8 -8 -9 -10 -11 -11 -11 -12 -12 -12 -13 -14 -16 -17 -18 -19 -20 -20 -20 -20 -20 -19 -19 -18 -18 -18 -19 -19 -19 -19 -18 -18 -19 -20 -22 -23 -24 -25 -25 -26 -26 -26 -26 -25 -23 -22 -21 -20 -21 -21 -22 -23 -23 -22 -21 -20 -20 -20 -20 -20 -20 -19 -19 -18 -17 -17 -16 -16 -15 -15 -15 -16 -17 -19 -21 -23 -25 -26 -28 -29 -31 -32 -34 -36 -38 -39 -40 -41 -41 -41 -41 -42 -43 -44 -45 -45 -45 -45 -44 -44 -44 -44 -45 -45 -46 -46 -47 -47 -47 -47 -45 -44 -43 -42 -41 -41 -41 -41 -40 -39 -39 -40 -40 -40 -41 -41 -42 -41 -38 -35 -36 -39 -40 -40 -42 -47 -47 -44 -42 -41 -41 -37 -35 -33 -29 -26 -24 -23 -22 -22 -21 -20 -21 -21 -21 -21 -20 -20 -20 -21 -23 -29 -36 -40 -40 -37 -30 -27 -20 -7 5 7 8 8 8 7 6 6 6 6 7 8 9 10 11 13 13 14 14 14 15 -38 -39 -38 -38 -36 -35 -33 -30 -28 -27 -26 -24 -23 -23 -24 -25 -27 -30 -31 -32 -32 -32 -31 -31 -31 -31 -30 -31 -32 -33 -33 -32 -31 -31 -32 -34 -36 -33 -30 -29 -27 -24 -20 -16 -13 -12 -12 -12 -14 -16 -19 -22 -26 -29 -29 -29 -27 -25 -23 -20 -19 -20 -24 -27 -26 -24 -20 -18 -15 -14 -15 -18 -22 -26 -29 -31 -34 -38 -40 -41 -43 -47 -52 -55 -55 -53 -49 -47 -47 -48 -48 -47 -47 -49 -52 -53 -51 -49 -47 -48 -50 -52 -53 -53 -53 -52 -52 -51 -50 -49 -49 -48 -48 -48 -48 -47 -47 -48 -49 -52 -53 -52 -48 -45 -43 -44 -46 -48 -50 -52 -52 -53 -53 -53 -51 -53 -55 -55 -53 -51 -51 -51 -53 -54 -54 -54 -55 -56 -56 -55 -54 -51 -48 -45 -45 -47 -49 -51 -53 -56 -60 -61 -58 -54 -51 -51 -51 -52 -54 -56 -59 -62 -66 -68 -68 -64 -62 -64 -66 -68 -68 -67 -61 -54 -49 -47 -43 -37 -35 -38 -43 -37 -26 -18 -13 -11 -11 -12 -13 -14 -13 -13 -12 -12 -11 -9 -7 -5 -3 -2 -2 -3 -3 -4 -5 -6 -7 -7 -8 -8 -9 -9 -10 -11 -11 -11 -12 -12 -12 -13 -13 -14 -15 -16 -18 -19 -20 -21 -21 -21 -21 -21 -21 -21 -20 -20 -20 -20 -20 -20 -19 -19 -18 -19 -20 -21 -22 -23 -25 -26 -27 -27 -27 -26 -25 -23 -22 -21 -21 -21 -21 -22 -22 -22 -21 -20 -19 -19 -19 -19 -18 -18 -17 -17 -17 -16 -16 -15 -15 -15 -16 -16 -17 -18 -20 -22 -24 -25 -27 -28 -29 -31 -32 -34 -36 -38 -40 -41 -42 -42 -42 -42 -43 -43 -44 -45 -45 -45 -44 -44 -45 -45 -45 -45 -46 -46 -47 -47 -47 -48 -47 -46 -44 -42 -41 -41 -41 -42 -42 -42 -41 -41 -41 -42 -43 -44 -45 -46 -47 -44 -38 -39 -44 -46 -46 -46 -45 -45 -47 -49 -49 -46 -43 -41 -39 -34 -30 -27 -26 -25 -24 -23 -22 -22 -22 -22 -22 -22 -21 -21 -22 -24 -31 -36 -39 -38 -36 -25 -22 -19 -11 2 5 8 9 9 8 7 6 6 6 7 8 9 10 11 12 13 13 13 13 14 -38 -38 -37 -37 -36 -34 -31 -29 -27 -26 -25 -23 -23 -24 -25 -26 -29 -30 -31 -32 -32 -33 -33 -33 -32 -31 -30 -30 -31 -32 -32 -32 -32 -32 -33 -34 -33 -31 -31 -32 -32 -29 -24 -20 -17 -17 -17 -18 -19 -21 -23 -25 -29 -30 -30 -28 -25 -22 -19 -16 -16 -18 -23 -27 -28 -25 -20 -16 -14 -13 -15 -18 -22 -25 -28 -31 -34 -37 -40 -43 -46 -50 -54 -55 -54 -51 -49 -48 -49 -48 -46 -44 -45 -49 -52 -52 -49 -47 -46 -49 -51 -53 -53 -53 -52 -52 -52 -52 -52 -51 -49 -47 -46 -46 -46 -45 -45 -46 -48 -50 -53 -52 -49 -45 -42 -42 -43 -45 -48 -50 -52 -54 -55 -55 -54 -54 -55 -55 -53 -51 -49 -50 -52 -53 -54 -54 -55 -55 -55 -54 -54 -52 -48 -44 -43 -45 -46 -46 -47 -49 -56 -62 -60 -56 -51 -51 -52 -54 -56 -57 -59 -61 -65 -67 -69 -68 -69 -71 -71 -69 -68 -66 -64 -63 -63 -64 -64 -52 -37 -31 -37 -44 -39 -30 -21 -16 -14 -14 -15 -15 -15 -15 -14 -14 -13 -11 -9 -6 -4 -4 -3 -3 -4 -4 -5 -6 -7 -8 -9 -10 -11 -11 -11 -12 -12 -12 -13 -13 -13 -13 -14 -14 -16 -17 -19 -20 -21 -22 -22 -22 -23 -23 -23 -23 -23 -22 -22 -21 -21 -21 -20 -19 -19 -19 -20 -20 -21 -23 -25 -26 -27 -28 -27 -27 -25 -24 -23 -22 -22 -22 -22 -22 -22 -21 -20 -19 -18 -18 -18 -17 -16 -16 -15 -15 -14 -14 -14 -14 -14 -15 -16 -17 -19 -20 -22 -23 -24 -26 -27 -28 -30 -31 -32 -34 -36 -39 -40 -42 -43 -43 -43 -43 -43 -43 -44 -44 -44 -44 -44 -44 -45 -46 -46 -46 -47 -47 -47 -47 -48 -48 -48 -47 -45 -43 -41 -40 -41 -42 -43 -44 -43 -43 -44 -47 -49 -49 -50 -52 -53 -51 -42 -43 -46 -47 -46 -45 -39 -38 -41 -46 -49 -48 -48 -48 -46 -41 -35 -30 -28 -27 -26 -25 -24 -23 -23 -24 -24 -23 -23 -23 -23 -24 -30 -35 -36 -34 -35 -26 -18 -11 -7 -1 3 6 8 9 8 7 6 6 6 6 7 8 9 10 10 11 12 12 12 12 -38 -36 -35 -34 -33 -31 -29 -27 -26 -25 -23 -22 -22 -23 -26 -29 -31 -31 -31 -31 -33 -34 -34 -34 -33 -31 -29 -30 -31 -31 -31 -31 -32 -32 -32 -31 -30 -31 -33 -34 -34 -32 -28 -25 -24 -23 -24 -24 -25 -25 -25 -26 -28 -28 -26 -24 -20 -15 -12 -13 -16 -19 -24 -29 -29 -25 -20 -16 -13 -13 -16 -20 -24 -26 -28 -30 -32 -34 -37 -41 -47 -51 -54 -54 -52 -51 -50 -49 -48 -46 -43 -42 -45 -52 -56 -53 -47 -44 -47 -52 -54 -54 -54 -54 -53 -53 -53 -54 -54 -53 -50 -48 -45 -44 -44 -44 -44 -46 -48 -50 -51 -51 -49 -47 -45 -44 -44 -46 -48 -50 -52 -53 -54 -54 -54 -56 -57 -56 -54 -53 -51 -50 -51 -53 -55 -54 -53 -52 -52 -52 -53 -53 -49 -44 -43 -44 -43 -42 -42 -44 -50 -58 -59 -56 -53 -53 -55 -57 -59 -60 -59 -61 -63 -65 -67 -70 -71 -71 -69 -65 -62 -64 -65 -65 -64 -65 -64 -56 -42 -30 -27 -35 -44 -43 -36 -24 -19 -17 -16 -16 -16 -16 -16 -15 -15 -13 -11 -8 -7 -5 -4 -4 -4 -5 -6 -7 -8 -10 -11 -12 -12 -12 -13 -13 -13 -13 -14 -14 -14 -15 -15 -16 -17 -18 -20 -21 -22 -23 -23 -24 -24 -25 -25 -25 -25 -25 -24 -23 -23 -22 -21 -20 -20 -20 -20 -21 -21 -23 -25 -26 -28 -29 -29 -28 -27 -26 -25 -24 -24 -24 -23 -23 -22 -21 -20 -18 -17 -17 -16 -15 -14 -14 -13 -12 -12 -11 -11 -12 -13 -15 -17 -19 -21 -23 -24 -24 -25 -26 -27 -28 -30 -31 -34 -36 -38 -40 -42 -43 -43 -43 -43 -43 -43 -43 -43 -43 -44 -44 -44 -45 -46 -47 -47 -48 -48 -48 -48 -48 -48 -48 -48 -47 -45 -44 -42 -41 -41 -42 -44 -46 -47 -47 -49 -53 -58 -57 -55 -56 -56 -53 -47 -47 -45 -43 -41 -39 -37 -36 -38 -42 -47 -48 -47 -48 -50 -49 -42 -35 -30 -28 -28 -27 -26 -25 -25 -26 -25 -25 -25 -25 -26 -26 -28 -32 -33 -29 -36 -31 -20 -8 -6 -3 0 4 6 7 7 6 6 5 6 6 6 6 7 8 8 9 9 10 10 11 -37 -35 -33 -32 -30 -28 -26 -26 -25 -24 -22 -21 -22 -24 -28 -31 -32 -31 -31 -32 -34 -36 -35 -35 -33 -31 -30 -30 -31 -32 -32 -31 -31 -30 -29 -29 -29 -30 -32 -33 -33 -31 -29 -27 -26 -26 -27 -27 -26 -25 -25 -25 -24 -22 -21 -19 -15 -9 -9 -11 -15 -20 -25 -29 -29 -25 -19 -15 -13 -14 -16 -20 -25 -27 -29 -30 -30 -31 -33 -38 -43 -47 -50 -50 -50 -50 -50 -50 -49 -44 -41 -40 -45 -54 -57 -52 -46 -43 -47 -51 -54 -56 -58 -57 -54 -53 -53 -54 -55 -54 -52 -49 -46 -44 -42 -42 -43 -45 -48 -49 -50 -50 -49 -47 -46 -46 -47 -49 -50 -51 -52 -52 -51 -50 -51 -54 -55 -55 -54 -53 -52 -51 -52 -53 -54 -52 -49 -48 -48 -49 -49 -48 -46 -44 -44 -45 -43 -41 -41 -42 -46 -51 -54 -54 -54 -56 -57 -58 -59 -60 -59 -60 -61 -63 -66 -70 -71 -70 -66 -62 -58 -60 -60 -60 -61 -61 -62 -61 -54 -43 -30 -26 -32 -39 -42 -38 -31 -25 -20 -17 -16 -17 -17 -17 -16 -15 -13 -11 -9 -7 -6 -5 -6 -6 -7 -7 -9 -11 -12 -13 -13 -14 -14 -14 -14 -15 -15 -16 -16 -17 -17 -18 -19 -20 -21 -23 -24 -24 -25 -26 -26 -27 -27 -28 -28 -27 -27 -26 -25 -24 -23 -22 -22 -22 -22 -22 -22 -23 -25 -27 -29 -30 -30 -30 -29 -28 -27 -27 -26 -26 -25 -24 -23 -21 -19 -18 -17 -16 -15 -14 -13 -12 -11 -11 -10 -10 -10 -11 -13 -15 -18 -21 -24 -25 -25 -25 -25 -26 -27 -28 -30 -33 -35 -38 -40 -42 -43 -43 -44 -44 -44 -44 -44 -44 -44 -44 -44 -44 -45 -46 -47 -48 -48 -49 -49 -49 -49 -48 -48 -47 -47 -46 -46 -44 -43 -42 -41 -42 -44 -48 -53 -55 -57 -59 -60 -56 -51 -51 -55 -54 -52 -49 -45 -41 -38 -36 -39 -41 -42 -43 -46 -47 -45 -45 -49 -51 -48 -41 -33 -30 -29 -29 -28 -27 -27 -28 -28 -27 -27 -28 -32 -32 -33 -35 -36 -29 -36 -35 -24 -10 -7 -5 -2 1 4 5 5 5 5 4 5 5 4 4 5 6 6 7 7 8 9 10 -36 -33 -31 -29 -28 -26 -25 -25 -24 -23 -22 -21 -22 -25 -29 -33 -33 -31 -31 -33 -35 -35 -34 -33 -32 -31 -30 -31 -32 -33 -33 -31 -30 -29 -29 -29 -29 -30 -30 -31 -31 -30 -28 -26 -25 -26 -26 -26 -25 -23 -22 -20 -19 -20 -18 -15 -11 -7 -8 -12 -16 -20 -25 -28 -28 -24 -19 -14 -13 -13 -16 -19 -23 -26 -29 -30 -30 -29 -30 -34 -38 -41 -44 -45 -46 -48 -49 -49 -47 -43 -40 -40 -45 -53 -55 -51 -45 -42 -45 -48 -52 -55 -57 -56 -53 -53 -52 -53 -53 -53 -53 -51 -48 -45 -42 -41 -43 -45 -48 -49 -50 -51 -50 -48 -47 -49 -51 -53 -54 -53 -53 -52 -52 -50 -51 -55 -56 -55 -53 -53 -53 -53 -53 -53 -52 -49 -47 -46 -47 -48 -46 -45 -44 -45 -48 -48 -45 -44 -44 -45 -44 -44 -46 -50 -54 -56 -55 -55 -55 -57 -57 -58 -59 -61 -64 -69 -70 -68 -64 -59 -55 -54 -53 -54 -57 -60 -61 -61 -60 -54 -42 -30 -28 -31 -37 -41 -44 -42 -35 -25 -18 -17 -18 -18 -17 -17 -15 -13 -11 -10 -9 -8 -7 -7 -7 -8 -10 -12 -13 -14 -14 -15 -15 -15 -16 -16 -17 -17 -18 -19 -20 -20 -21 -22 -23 -24 -25 -26 -27 -28 -28 -29 -30 -30 -30 -30 -29 -28 -27 -26 -25 -25 -24 -24 -23 -23 -23 -24 -26 -28 -30 -31 -32 -32 -31 -31 -30 -30 -29 -28 -27 -26 -24 -22 -20 -18 -17 -15 -14 -13 -12 -12 -11 -11 -11 -11 -11 -12 -14 -17 -20 -24 -26 -28 -27 -26 -26 -26 -27 -29 -31 -34 -37 -40 -42 -43 -43 -43 -44 -44 -45 -46 -46 -46 -46 -45 -45 -45 -46 -47 -48 -48 -49 -50 -50 -50 -50 -49 -48 -47 -46 -46 -45 -45 -44 -43 -42 -41 -42 -48 -58 -61 -61 -61 -60 -55 -49 -48 -53 -53 -51 -50 -49 -45 -40 -38 -43 -46 -46 -45 -46 -47 -47 -47 -49 -50 -50 -45 -38 -32 -30 -30 -29 -29 -29 -30 -32 -32 -31 -31 -38 -40 -40 -40 -39 -34 -36 -33 -23 -13 -9 -7 -5 -2 1 3 3 3 3 3 4 4 3 1 -0 4 4 5 5 6 7 8 -34 -31 -29 -27 -26 -25 -24 -24 -23 -22 -21 -21 -22 -26 -29 -31 -31 -31 -33 -36 -37 -34 -33 -32 -31 -30 -29 -31 -32 -32 -31 -29 -29 -30 -31 -31 -31 -30 -30 -30 -30 -28 -26 -24 -24 -24 -24 -24 -22 -20 -18 -16 -17 -19 -18 -14 -10 -8 -11 -14 -18 -21 -25 -28 -27 -23 -18 -14 -12 -13 -15 -17 -21 -24 -28 -29 -29 -28 -29 -30 -32 -35 -37 -40 -43 -45 -46 -46 -45 -42 -40 -41 -45 -50 -52 -48 -43 -40 -42 -46 -50 -52 -54 -53 -53 -52 -52 -51 -50 -51 -52 -52 -50 -46 -42 -41 -43 -45 -48 -49 -50 -51 -52 -51 -50 -51 -54 -55 -55 -53 -53 -54 -55 -54 -51 -52 -52 -52 -52 -53 -54 -54 -53 -52 -51 -48 -46 -46 -46 -46 -45 -43 -44 -46 -49 -47 -45 -46 -49 -51 -47 -46 -47 -50 -53 -54 -54 -55 -56 -57 -57 -57 -57 -59 -62 -67 -69 -66 -61 -55 -53 -50 -49 -50 -54 -60 -60 -60 -60 -57 -52 -42 -36 -34 -33 -33 -41 -49 -48 -38 -24 -18 -18 -18 -18 -18 -17 -15 -14 -13 -12 -10 -9 -9 -9 -9 -11 -13 -14 -15 -15 -15 -16 -16 -16 -17 -18 -19 -20 -21 -22 -23 -24 -24 -25 -26 -26 -28 -29 -30 -31 -32 -32 -32 -32 -32 -32 -31 -30 -29 -28 -27 -27 -26 -25 -25 -25 -25 -27 -29 -31 -33 -34 -34 -33 -32 -32 -32 -31 -30 -28 -26 -24 -22 -20 -18 -17 -15 -14 -13 -12 -12 -12 -12 -12 -13 -13 -15 -17 -19 -22 -25 -28 -29 -29 -29 -28 -28 -29 -31 -33 -36 -38 -41 -42 -43 -43 -43 -44 -44 -46 -47 -48 -48 -48 -47 -46 -46 -46 -47 -48 -49 -49 -50 -51 -51 -50 -49 -47 -46 -45 -44 -44 -45 -45 -44 -43 -41 -41 -46 -57 -62 -62 -60 -57 -53 -47 -46 -52 -52 -51 -49 -45 -39 -34 -38 -44 -47 -46 -46 -46 -47 -48 -48 -48 -48 -49 -48 -44 -37 -33 -31 -31 -31 -32 -33 -37 -39 -37 -35 -41 -43 -42 -41 -41 -39 -38 -30 -21 -17 -12 -9 -7 -5 -2 0 1 2 1 1 2 3 1 -2 -7 1 2 3 3 4 4 5 -31 -29 -28 -26 -25 -24 -24 -23 -23 -22 -23 -24 -26 -29 -31 -31 -32 -33 -34 -35 -35 -34 -33 -33 -32 -30 -29 -29 -30 -30 -29 -29 -30 -31 -31 -32 -32 -31 -31 -30 -29 -27 -26 -25 -24 -23 -22 -21 -20 -17 -15 -14 -16 -17 -17 -15 -13 -12 -15 -18 -21 -23 -26 -28 -25 -21 -16 -12 -12 -12 -13 -16 -19 -23 -26 -27 -27 -27 -27 -28 -28 -29 -32 -36 -40 -42 -43 -44 -43 -43 -43 -43 -45 -49 -50 -47 -42 -38 -41 -46 -49 -50 -51 -52 -53 -52 -51 -49 -49 -49 -51 -52 -50 -45 -42 -41 -43 -46 -48 -48 -49 -51 -53 -53 -53 -54 -56 -56 -55 -52 -52 -54 -57 -57 -54 -51 -50 -50 -51 -52 -53 -52 -51 -50 -49 -48 -46 -45 -44 -43 -42 -41 -43 -45 -48 -49 -47 -47 -49 -51 -48 -46 -46 -48 -49 -52 -54 -56 -57 -57 -57 -56 -57 -57 -59 -62 -64 -62 -58 -55 -53 -51 -50 -50 -53 -57 -60 -60 -58 -56 -55 -52 -47 -41 -33 -25 -33 -44 -49 -45 -33 -22 -19 -19 -19 -19 -18 -17 -16 -15 -14 -13 -12 -11 -11 -11 -13 -13 -14 -14 -15 -15 -16 -16 -17 -17 -18 -20 -21 -23 -24 -25 -26 -26 -27 -27 -28 -29 -31 -32 -33 -34 -35 -35 -35 -34 -34 -33 -32 -31 -30 -30 -29 -28 -27 -26 -26 -27 -28 -30 -32 -34 -34 -34 -34 -33 -33 -33 -32 -31 -29 -27 -25 -23 -21 -19 -17 -16 -15 -14 -13 -12 -12 -13 -14 -15 -16 -18 -19 -22 -24 -27 -29 -31 -32 -32 -32 -31 -31 -33 -34 -37 -39 -41 -42 -43 -43 -44 -44 -45 -47 -48 -49 -50 -50 -49 -47 -46 -46 -47 -48 -49 -49 -50 -51 -51 -50 -49 -47 -45 -44 -43 -42 -43 -44 -44 -44 -42 -41 -44 -52 -59 -61 -58 -52 -48 -45 -47 -52 -51 -50 -48 -42 -33 -33 -41 -47 -47 -46 -46 -45 -46 -47 -48 -46 -43 -44 -46 -45 -40 -38 -35 -34 -34 -37 -36 -41 -45 -44 -40 -43 -43 -42 -41 -41 -41 -39 -34 -28 -25 -17 -12 -9 -7 -5 -2 -1 -0 -0 -1 0 1 1 -3 -10 -2 0 1 1 0 -1 -1 -28 -28 -27 -26 -25 -24 -23 -23 -23 -23 -24 -24 -26 -29 -30 -31 -32 -33 -33 -33 -34 -35 -35 -35 -34 -32 -31 -29 -28 -28 -28 -28 -29 -29 -30 -31 -32 -33 -32 -31 -29 -27 -27 -27 -26 -24 -23 -21 -18 -16 -14 -14 -14 -15 -15 -15 -15 -15 -18 -21 -24 -27 -29 -27 -23 -17 -13 -11 -11 -11 -13 -15 -18 -21 -23 -25 -25 -25 -26 -25 -25 -26 -29 -34 -37 -39 -40 -41 -43 -46 -47 -48 -49 -51 -52 -50 -45 -39 -40 -46 -49 -51 -52 -53 -53 -51 -50 -49 -49 -50 -50 -50 -48 -44 -42 -43 -44 -46 -47 -47 -47 -49 -53 -56 -56 -57 -56 -56 -54 -52 -52 -53 -56 -58 -55 -51 -48 -48 -49 -51 -52 -52 -50 -49 -48 -47 -45 -44 -42 -41 -40 -41 -42 -44 -46 -48 -49 -49 -49 -50 -48 -47 -47 -48 -50 -52 -54 -55 -56 -56 -56 -57 -57 -57 -58 -60 -64 -64 -61 -56 -54 -53 -51 -50 -51 -55 -59 -59 -58 -56 -56 -56 -54 -46 -34 -23 -27 -34 -40 -41 -34 -25 -21 -21 -21 -21 -20 -19 -18 -16 -15 -15 -14 -13 -13 -13 -14 -13 -13 -14 -14 -15 -15 -16 -16 -17 -18 -20 -22 -23 -25 -27 -28 -28 -28 -29 -29 -31 -33 -34 -36 -37 -37 -37 -37 -37 -36 -35 -34 -33 -32 -31 -30 -29 -28 -28 -27 -28 -29 -31 -33 -34 -34 -34 -34 -34 -33 -33 -32 -31 -29 -28 -26 -24 -22 -20 -18 -17 -16 -15 -14 -13 -14 -15 -16 -18 -19 -21 -23 -25 -27 -29 -31 -33 -34 -35 -35 -34 -34 -35 -36 -37 -38 -39 -41 -42 -43 -44 -45 -47 -48 -49 -50 -51 -51 -50 -48 -47 -46 -46 -47 -48 -49 -49 -50 -50 -49 -48 -46 -44 -42 -41 -40 -41 -43 -44 -44 -44 -43 -42 -46 -52 -58 -53 -46 -43 -45 -49 -52 -51 -50 -48 -43 -34 -34 -41 -46 -47 -46 -46 -45 -45 -45 -47 -45 -39 -38 -41 -42 -39 -39 -39 -39 -40 -43 -41 -43 -46 -46 -44 -43 -42 -41 -41 -41 -41 -40 -38 -36 -34 -26 -17 -11 -9 -7 -5 -3 -2 -2 -3 -2 -1 -1 -2 -6 -4 -3 -1 -2 -5 -9 -10 -27 -27 -27 -26 -24 -24 -23 -23 -23 -24 -25 -26 -27 -29 -30 -30 -30 -32 -32 -33 -34 -35 -37 -37 -36 -34 -32 -30 -28 -27 -27 -27 -26 -26 -27 -29 -31 -32 -31 -29 -28 -27 -28 -29 -29 -27 -25 -23 -19 -16 -15 -14 -13 -12 -13 -14 -15 -17 -19 -22 -25 -27 -28 -25 -20 -16 -12 -10 -10 -11 -12 -14 -17 -20 -22 -24 -26 -26 -25 -25 -24 -26 -28 -32 -34 -35 -35 -37 -42 -47 -50 -51 -52 -53 -54 -53 -47 -39 -37 -42 -48 -53 -54 -53 -53 -52 -50 -49 -49 -49 -49 -48 -45 -43 -42 -43 -45 -46 -46 -45 -45 -47 -51 -55 -58 -57 -55 -53 -53 -53 -52 -53 -55 -57 -54 -49 -46 -45 -47 -51 -53 -53 -51 -49 -49 -48 -46 -44 -43 -41 -41 -42 -44 -46 -46 -47 -49 -49 -48 -47 -47 -47 -48 -49 -51 -53 -54 -55 -55 -56 -56 -57 -57 -57 -56 -56 -57 -57 -56 -56 -55 -54 -53 -53 -54 -57 -58 -58 -57 -57 -56 -56 -54 -46 -34 -22 -23 -27 -32 -35 -35 -28 -24 -23 -23 -23 -22 -21 -19 -18 -17 -16 -16 -15 -15 -15 -14 -14 -13 -13 -13 -14 -14 -15 -16 -17 -18 -20 -21 -24 -26 -27 -29 -29 -30 -30 -31 -33 -34 -35 -37 -38 -39 -39 -39 -38 -37 -36 -35 -33 -32 -31 -30 -30 -29 -29 -29 -29 -30 -31 -33 -34 -34 -34 -34 -34 -33 -33 -32 -31 -30 -28 -26 -25 -23 -21 -19 -18 -17 -16 -15 -15 -16 -17 -19 -21 -23 -24 -26 -27 -29 -31 -33 -35 -36 -37 -37 -37 -37 -37 -37 -37 -37 -39 -40 -42 -43 -45 -46 -47 -49 -49 -50 -50 -50 -50 -48 -46 -45 -45 -46 -47 -48 -49 -49 -49 -48 -47 -45 -43 -41 -40 -39 -39 -41 -43 -44 -45 -44 -43 -44 -48 -52 -48 -47 -48 -50 -52 -52 -51 -50 -48 -46 -41 -39 -42 -44 -44 -44 -45 -44 -42 -41 -45 -45 -39 -36 -39 -43 -39 -38 -39 -42 -45 -44 -44 -45 -45 -45 -43 -40 -38 -40 -41 -41 -40 -39 -40 -39 -38 -31 -21 -13 -11 -10 -8 -6 -4 -4 -5 -5 -5 -5 -6 -11 -12 -9 -6 -6 -11 -15 -15 -26 -27 -26 -26 -24 -24 -23 -23 -22 -23 -24 -26 -28 -30 -31 -30 -28 -28 -30 -31 -33 -35 -37 -37 -36 -35 -34 -32 -31 -31 -29 -26 -22 -22 -25 -28 -30 -29 -28 -26 -26 -27 -29 -30 -30 -29 -26 -22 -19 -17 -15 -14 -12 -12 -13 -15 -16 -16 -18 -20 -21 -23 -23 -22 -21 -19 -16 -13 -13 -12 -13 -15 -17 -20 -23 -25 -26 -27 -26 -24 -24 -25 -27 -29 -30 -31 -32 -35 -39 -44 -48 -51 -54 -55 -55 -51 -45 -39 -37 -39 -43 -47 -49 -49 -49 -51 -52 -53 -50 -48 -47 -46 -45 -44 -44 -44 -45 -44 -44 -43 -43 -45 -49 -53 -57 -56 -53 -51 -51 -53 -54 -54 -55 -55 -52 -47 -43 -42 -44 -50 -55 -55 -53 -51 -52 -51 -49 -47 -45 -43 -42 -43 -46 -48 -47 -47 -48 -48 -47 -46 -46 -47 -48 -50 -52 -53 -54 -55 -55 -55 -56 -57 -57 -57 -56 -56 -56 -56 -56 -56 -56 -56 -56 -56 -57 -57 -55 -52 -50 -51 -54 -54 -51 -44 -33 -22 -22 -25 -31 -38 -43 -36 -30 -26 -26 -25 -24 -22 -21 -20 -19 -18 -17 -17 -16 -16 -15 -14 -14 -13 -13 -14 -15 -16 -17 -17 -18 -19 -21 -23 -25 -27 -29 -30 -31 -31 -32 -34 -35 -36 -37 -38 -39 -40 -40 -40 -39 -37 -35 -33 -32 -31 -31 -31 -31 -31 -31 -31 -32 -32 -33 -34 -34 -34 -34 -33 -33 -33 -32 -31 -30 -29 -27 -26 -24 -22 -21 -19 -18 -17 -17 -17 -19 -20 -22 -24 -26 -28 -29 -30 -32 -33 -35 -37 -38 -39 -39 -39 -39 -39 -38 -37 -37 -39 -40 -42 -44 -45 -46 -47 -48 -48 -48 -49 -49 -49 -48 -46 -45 -45 -45 -47 -48 -48 -48 -47 -47 -46 -44 -42 -40 -39 -38 -38 -40 -42 -44 -45 -46 -45 -44 -44 -45 -47 -53 -56 -55 -52 -52 -51 -50 -49 -48 -46 -44 -44 -43 -39 -40 -43 -43 -40 -37 -42 -44 -40 -38 -41 -47 -43 -38 -35 -39 -43 -42 -43 -44 -44 -44 -42 -37 -35 -39 -42 -41 -39 -38 -40 -40 -38 -32 -23 -14 -14 -12 -11 -8 -7 -6 -7 -10 -12 -12 -13 -19 -19 -16 -13 -14 -18 -18 -13 -26 -26 -26 -25 -25 -24 -23 -23 -22 -22 -23 -26 -29 -31 -32 -31 -27 -26 -27 -29 -31 -34 -35 -35 -34 -34 -36 -38 -39 -37 -32 -25 -20 -21 -24 -26 -27 -26 -25 -26 -27 -29 -30 -29 -29 -28 -25 -21 -19 -17 -17 -15 -13 -14 -15 -16 -16 -15 -15 -16 -18 -20 -21 -21 -21 -20 -19 -17 -16 -15 -15 -16 -18 -19 -21 -23 -25 -26 -25 -24 -24 -25 -26 -27 -28 -30 -31 -33 -37 -42 -47 -51 -56 -59 -58 -52 -44 -38 -37 -39 -42 -44 -46 -46 -47 -49 -50 -51 -50 -48 -46 -45 -44 -44 -45 -44 -44 -42 -42 -42 -42 -44 -47 -51 -55 -54 -51 -49 -50 -52 -53 -54 -53 -47 -40 -37 -37 -39 -42 -47 -52 -55 -55 -54 -55 -55 -52 -49 -47 -46 -44 -44 -46 -48 -48 -47 -46 -47 -47 -47 -47 -48 -49 -51 -52 -53 -54 -54 -54 -55 -56 -57 -57 -57 -57 -57 -57 -57 -56 -57 -57 -56 -56 -55 -53 -52 -51 -53 -55 -56 -54 -51 -47 -40 -31 -23 -21 -22 -25 -31 -40 -41 -37 -32 -29 -28 -25 -24 -23 -23 -22 -21 -20 -19 -18 -17 -17 -16 -15 -14 -14 -14 -15 -17 -18 -18 -19 -20 -21 -23 -25 -27 -29 -30 -31 -32 -33 -34 -35 -35 -36 -37 -39 -41 -41 -41 -40 -38 -35 -33 -32 -31 -32 -32 -33 -33 -33 -33 -33 -33 -34 -34 -34 -34 -33 -33 -33 -32 -32 -32 -31 -30 -28 -27 -25 -23 -21 -20 -19 -19 -19 -21 -23 -25 -26 -28 -29 -30 -31 -33 -34 -36 -37 -38 -39 -40 -40 -41 -41 -41 -40 -39 -39 -39 -40 -42 -43 -44 -45 -46 -46 -47 -47 -47 -47 -47 -47 -47 -46 -45 -46 -47 -48 -48 -47 -46 -45 -45 -44 -42 -40 -39 -38 -38 -39 -41 -43 -45 -47 -48 -48 -46 -45 -48 -54 -56 -53 -51 -51 -51 -50 -49 -48 -48 -47 -46 -44 -41 -41 -44 -44 -42 -39 -41 -43 -42 -41 -44 -48 -47 -41 -35 -36 -40 -41 -43 -44 -44 -43 -42 -40 -39 -41 -43 -41 -39 -38 -40 -39 -38 -34 -25 -16 -16 -15 -14 -11 -9 -8 -10 -15 -20 -20 -21 -25 -23 -20 -20 -20 -21 -18 -8 -26 -25 -25 -24 -24 -24 -23 -23 -22 -23 -24 -27 -28 -29 -29 -29 -27 -26 -28 -29 -29 -30 -32 -31 -30 -31 -33 -37 -41 -40 -35 -27 -20 -20 -22 -24 -25 -23 -23 -25 -27 -28 -28 -26 -26 -25 -23 -20 -18 -18 -18 -18 -16 -16 -17 -18 -17 -15 -13 -13 -16 -19 -21 -21 -20 -20 -20 -20 -20 -19 -18 -18 -18 -18 -19 -21 -24 -25 -24 -24 -25 -25 -26 -27 -29 -31 -33 -35 -38 -43 -48 -51 -53 -56 -57 -52 -44 -37 -35 -38 -41 -44 -44 -44 -44 -45 -48 -52 -54 -52 -48 -45 -45 -46 -46 -44 -42 -41 -40 -41 -42 -43 -45 -49 -53 -53 -51 -48 -48 -49 -51 -52 -51 -45 -37 -34 -35 -37 -40 -45 -50 -53 -53 -52 -53 -53 -52 -49 -48 -46 -44 -44 -46 -48 -49 -46 -45 -45 -47 -48 -49 -50 -51 -51 -52 -53 -53 -54 -55 -55 -56 -57 -58 -58 -59 -59 -58 -58 -57 -57 -56 -56 -55 -54 -53 -51 -50 -50 -53 -56 -54 -47 -39 -31 -25 -24 -24 -22 -22 -22 -27 -35 -39 -39 -35 -32 -28 -26 -25 -25 -25 -24 -23 -22 -20 -20 -19 -18 -17 -16 -15 -16 -17 -18 -19 -20 -20 -20 -21 -22 -24 -27 -29 -30 -32 -32 -33 -33 -34 -34 -35 -37 -39 -41 -42 -42 -40 -38 -36 -34 -33 -33 -33 -34 -34 -35 -35 -35 -35 -35 -35 -34 -34 -33 -33 -32 -32 -32 -32 -32 -32 -31 -30 -28 -26 -24 -22 -21 -21 -21 -23 -25 -27 -29 -30 -31 -32 -32 -34 -35 -36 -38 -39 -40 -40 -41 -42 -42 -42 -42 -41 -40 -40 -40 -40 -41 -41 -42 -43 -43 -44 -44 -45 -45 -46 -46 -47 -48 -49 -48 -47 -47 -48 -48 -47 -46 -44 -44 -43 -42 -41 -39 -39 -39 -39 -40 -42 -44 -47 -52 -55 -53 -51 -53 -55 -54 -51 -49 -49 -49 -49 -49 -49 -48 -48 -47 -46 -45 -45 -45 -45 -44 -41 -42 -44 -45 -47 -48 -48 -47 -44 -40 -39 -41 -43 -44 -44 -43 -43 -42 -41 -41 -42 -43 -43 -41 -40 -38 -34 -35 -34 -28 -18 -19 -20 -19 -15 -13 -12 -13 -20 -28 -28 -26 -26 -24 -22 -23 -21 -20 -14 -4 -26 -23 -22 -22 -22 -22 -22 -23 -24 -25 -24 -24 -25 -27 -26 -25 -24 -25 -28 -29 -30 -30 -30 -28 -26 -25 -26 -29 -34 -35 -31 -24 -20 -19 -21 -22 -23 -21 -22 -25 -28 -29 -28 -25 -24 -23 -22 -20 -18 -18 -19 -19 -18 -18 -18 -18 -16 -13 -11 -12 -15 -19 -21 -21 -19 -19 -20 -22 -24 -23 -22 -21 -20 -20 -21 -22 -24 -25 -26 -26 -27 -28 -28 -29 -31 -33 -35 -37 -40 -43 -46 -47 -47 -49 -53 -52 -46 -39 -35 -37 -40 -43 -44 -43 -42 -42 -45 -50 -53 -52 -48 -45 -46 -48 -47 -44 -41 -39 -39 -40 -41 -42 -44 -47 -52 -52 -50 -47 -45 -45 -47 -50 -51 -46 -37 -34 -34 -37 -39 -43 -47 -49 -49 -48 -49 -50 -48 -46 -44 -44 -47 -49 -51 -52 -50 -46 -44 -45 -47 -50 -52 -52 -52 -52 -52 -53 -54 -54 -55 -56 -57 -58 -59 -60 -60 -60 -59 -58 -57 -57 -56 -56 -55 -55 -54 -52 -50 -50 -52 -54 -51 -42 -32 -25 -23 -25 -26 -25 -23 -22 -23 -28 -34 -39 -40 -38 -34 -30 -28 -28 -29 -28 -27 -26 -24 -23 -22 -20 -19 -18 -17 -17 -18 -19 -20 -21 -21 -21 -21 -22 -24 -26 -28 -30 -32 -33 -33 -33 -33 -34 -35 -37 -39 -41 -43 -42 -41 -39 -36 -35 -34 -34 -35 -35 -36 -37 -37 -37 -36 -36 -36 -35 -34 -34 -33 -32 -32 -32 -32 -32 -32 -32 -31 -29 -27 -25 -23 -22 -23 -25 -27 -29 -31 -32 -33 -34 -34 -35 -36 -37 -38 -39 -40 -41 -41 -42 -42 -43 -43 -43 -42 -41 -40 -40 -39 -38 -38 -39 -39 -40 -42 -43 -44 -45 -46 -47 -49 -51 -54 -53 -49 -47 -48 -48 -47 -45 -43 -42 -42 -42 -41 -40 -40 -40 -40 -41 -41 -43 -48 -55 -60 -59 -56 -56 -56 -54 -51 -49 -49 -49 -49 -49 -49 -48 -48 -47 -46 -46 -46 -46 -46 -44 -43 -44 -45 -46 -48 -48 -48 -47 -46 -45 -45 -45 -44 -44 -43 -43 -42 -41 -40 -41 -43 -43 -42 -39 -34 -31 -27 -30 -33 -30 -23 -23 -26 -26 -21 -19 -19 -20 -24 -29 -28 -26 -24 -24 -24 -22 -17 -13 -7 2 -24 -21 -20 -19 -20 -21 -22 -23 -24 -25 -25 -25 -25 -25 -24 -24 -26 -29 -29 -28 -27 -28 -28 -26 -25 -23 -22 -24 -26 -26 -25 -21 -18 -18 -18 -19 -20 -21 -23 -27 -29 -30 -28 -24 -22 -22 -22 -21 -20 -20 -21 -21 -19 -18 -18 -17 -15 -12 -12 -14 -16 -19 -21 -20 -19 -19 -21 -24 -26 -27 -26 -26 -25 -26 -26 -27 -28 -29 -29 -30 -30 -31 -31 -31 -32 -34 -35 -38 -41 -41 -41 -41 -42 -45 -50 -50 -46 -40 -36 -36 -39 -42 -43 -42 -41 -42 -43 -45 -48 -47 -45 -44 -46 -49 -47 -44 -40 -38 -38 -39 -40 -41 -43 -46 -50 -50 -48 -45 -42 -40 -41 -44 -47 -45 -38 -35 -35 -37 -39 -41 -44 -46 -46 -46 -46 -45 -43 -42 -41 -42 -45 -48 -50 -50 -48 -47 -46 -46 -47 -50 -52 -53 -53 -52 -51 -52 -54 -55 -56 -57 -58 -59 -61 -62 -62 -61 -60 -60 -59 -57 -56 -55 -55 -55 -55 -53 -52 -51 -51 -48 -44 -38 -31 -25 -22 -25 -27 -27 -26 -25 -24 -25 -27 -28 -30 -34 -38 -39 -36 -32 -32 -33 -32 -31 -29 -27 -26 -24 -23 -21 -20 -19 -19 -20 -21 -22 -22 -22 -22 -22 -23 -26 -28 -30 -31 -32 -33 -33 -33 -34 -35 -37 -40 -42 -43 -43 -41 -40 -38 -36 -36 -36 -36 -37 -37 -38 -38 -38 -38 -37 -37 -36 -35 -34 -33 -32 -32 -32 -33 -33 -32 -32 -31 -29 -27 -25 -24 -24 -26 -29 -31 -34 -35 -36 -36 -36 -37 -38 -39 -39 -40 -41 -41 -41 -42 -42 -42 -42 -43 -42 -42 -41 -40 -39 -37 -36 -35 -35 -37 -39 -41 -43 -45 -47 -49 -50 -54 -58 -62 -61 -56 -50 -49 -48 -47 -45 -42 -41 -41 -42 -42 -42 -42 -42 -42 -42 -43 -45 -49 -55 -59 -58 -56 -56 -56 -55 -52 -50 -50 -49 -49 -49 -48 -48 -48 -48 -47 -46 -46 -46 -46 -44 -44 -45 -46 -47 -48 -48 -47 -46 -45 -45 -45 -45 -44 -43 -43 -42 -41 -40 -39 -41 -42 -42 -38 -32 -23 -22 -22 -27 -34 -35 -30 -30 -32 -32 -29 -28 -28 -28 -29 -30 -28 -25 -23 -22 -23 -18 -9 -3 1 6 -21 -19 -19 -20 -21 -23 -24 -22 -21 -23 -25 -25 -24 -25 -24 -24 -25 -28 -28 -26 -26 -26 -26 -25 -23 -23 -23 -23 -21 -20 -20 -20 -18 -16 -16 -17 -19 -21 -23 -26 -27 -28 -26 -23 -22 -23 -24 -23 -23 -23 -23 -22 -20 -18 -18 -17 -15 -13 -15 -17 -18 -18 -19 -20 -20 -20 -22 -25 -27 -28 -30 -31 -32 -33 -33 -33 -34 -35 -34 -33 -32 -32 -32 -32 -32 -32 -34 -37 -40 -40 -39 -38 -41 -46 -50 -48 -44 -39 -36 -36 -38 -40 -41 -40 -41 -42 -44 -46 -46 -43 -42 -43 -46 -48 -47 -44 -40 -38 -38 -39 -40 -41 -42 -46 -48 -47 -45 -43 -40 -37 -36 -38 -41 -42 -39 -37 -37 -38 -39 -41 -42 -44 -45 -46 -45 -42 -40 -39 -39 -41 -44 -46 -48 -49 -50 -52 -52 -50 -48 -49 -51 -52 -51 -51 -51 -52 -54 -55 -56 -57 -58 -60 -61 -62 -63 -63 -62 -61 -60 -58 -57 -56 -55 -55 -55 -55 -54 -52 -46 -38 -31 -28 -26 -24 -21 -23 -25 -27 -29 -30 -29 -28 -27 -26 -26 -30 -36 -39 -39 -37 -36 -37 -38 -37 -34 -32 -30 -29 -27 -25 -23 -22 -21 -20 -21 -22 -23 -23 -23 -23 -24 -25 -27 -29 -31 -32 -33 -34 -35 -36 -37 -38 -40 -42 -43 -43 -42 -41 -40 -38 -38 -38 -38 -38 -39 -39 -39 -39 -39 -39 -38 -37 -36 -35 -34 -33 -33 -33 -32 -32 -32 -31 -30 -29 -28 -27 -26 -28 -30 -33 -36 -38 -38 -39 -39 -39 -40 -41 -41 -41 -42 -42 -43 -43 -43 -42 -42 -41 -42 -42 -42 -42 -40 -38 -36 -34 -34 -34 -36 -38 -42 -45 -48 -51 -55 -57 -62 -65 -68 -68 -64 -57 -52 -49 -47 -45 -41 -39 -39 -41 -43 -45 -46 -47 -47 -47 -48 -50 -55 -59 -59 -57 -55 -55 -55 -54 -52 -51 -50 -49 -49 -48 -48 -48 -48 -49 -49 -47 -46 -46 -45 -44 -44 -45 -45 -46 -47 -47 -46 -45 -44 -44 -44 -44 -44 -43 -42 -41 -40 -38 -38 -40 -41 -40 -35 -26 -22 -22 -23 -29 -37 -39 -36 -34 -34 -34 -33 -33 -33 -32 -31 -31 -30 -27 -24 -22 -19 -11 -1 4 5 7 -20 -17 -18 -21 -25 -28 -27 -22 -21 -22 -23 -22 -21 -22 -23 -23 -24 -24 -23 -22 -22 -23 -23 -22 -22 -23 -25 -25 -21 -18 -17 -17 -16 -15 -15 -17 -19 -21 -22 -22 -23 -24 -23 -22 -22 -23 -24 -25 -25 -26 -25 -23 -20 -19 -18 -18 -17 -16 -17 -17 -18 -19 -20 -20 -21 -23 -25 -27 -28 -30 -32 -34 -35 -36 -36 -37 -38 -37 -36 -34 -31 -30 -29 -30 -30 -31 -33 -36 -36 -36 -36 -38 -40 -45 -49 -48 -45 -41 -40 -40 -39 -39 -40 -40 -40 -42 -45 -48 -47 -43 -42 -43 -46 -48 -49 -45 -41 -38 -37 -38 -39 -40 -42 -45 -46 -46 -44 -41 -39 -37 -36 -38 -39 -40 -40 -39 -39 -40 -41 -41 -42 -44 -45 -45 -44 -41 -39 -38 -38 -41 -43 -46 -47 -49 -51 -54 -55 -53 -50 -49 -49 -49 -50 -50 -50 -52 -53 -55 -56 -57 -58 -59 -61 -63 -64 -64 -64 -62 -61 -59 -58 -58 -57 -55 -53 -52 -52 -50 -44 -33 -19 -14 -15 -17 -18 -21 -23 -26 -30 -35 -37 -37 -34 -31 -29 -30 -32 -34 -36 -37 -39 -43 -46 -45 -41 -38 -36 -34 -32 -30 -27 -25 -23 -21 -21 -22 -24 -25 -25 -25 -25 -26 -27 -29 -31 -33 -34 -35 -37 -37 -38 -39 -40 -42 -43 -44 -44 -43 -42 -41 -40 -40 -40 -40 -40 -40 -41 -41 -40 -40 -39 -38 -37 -36 -35 -34 -33 -33 -32 -32 -31 -30 -30 -29 -29 -30 -31 -32 -35 -37 -39 -41 -41 -42 -42 -42 -43 -43 -43 -43 -43 -45 -46 -47 -46 -45 -44 -44 -45 -46 -47 -46 -42 -38 -36 -35 -34 -35 -37 -40 -45 -49 -53 -59 -64 -66 -68 -70 -70 -71 -69 -65 -58 -51 -46 -44 -40 -38 -38 -40 -44 -51 -53 -54 -55 -56 -57 -58 -60 -61 -59 -56 -54 -53 -53 -53 -52 -51 -50 -49 -49 -48 -47 -47 -47 -48 -48 -47 -47 -46 -46 -45 -44 -44 -44 -45 -46 -46 -45 -43 -43 -44 -44 -43 -42 -41 -40 -39 -38 -36 -36 -37 -38 -38 -34 -26 -26 -26 -27 -31 -36 -36 -35 -34 -34 -33 -33 -34 -33 -31 -29 -32 -31 -29 -26 -22 -13 -3 3 6 6 7 -18 -15 -18 -26 -32 -33 -28 -22 -21 -21 -21 -19 -18 -19 -22 -24 -25 -23 -19 -17 -18 -19 -20 -20 -21 -23 -26 -27 -22 -18 -15 -13 -13 -14 -16 -17 -19 -19 -19 -19 -20 -19 -19 -20 -22 -23 -24 -24 -25 -25 -23 -22 -20 -21 -22 -22 -20 -18 -16 -17 -19 -21 -22 -22 -24 -26 -28 -29 -29 -31 -34 -37 -38 -37 -37 -37 -36 -35 -33 -32 -30 -30 -30 -32 -33 -32 -31 -30 -30 -33 -35 -37 -39 -43 -46 -49 -49 -46 -42 -39 -39 -40 -42 -42 -42 -44 -45 -45 -42 -41 -43 -44 -45 -46 -47 -44 -40 -37 -37 -37 -38 -39 -41 -42 -43 -42 -41 -39 -38 -37 -37 -38 -39 -40 -40 -40 -40 -41 -42 -43 -44 -44 -44 -44 -42 -41 -40 -39 -39 -40 -42 -45 -47 -49 -50 -51 -53 -54 -55 -53 -51 -49 -49 -50 -50 -52 -53 -55 -57 -58 -58 -60 -61 -63 -65 -65 -65 -64 -63 -61 -60 -59 -58 -57 -56 -54 -53 -53 -50 -41 -24 -16 -15 -16 -17 -18 -19 -23 -29 -37 -43 -44 -43 -40 -38 -36 -34 -34 -36 -40 -43 -47 -49 -50 -49 -47 -43 -40 -38 -35 -33 -29 -26 -24 -22 -22 -24 -26 -28 -28 -27 -27 -28 -30 -31 -34 -36 -37 -39 -40 -40 -40 -41 -42 -43 -44 -44 -44 -44 -43 -43 -42 -41 -41 -41 -41 -42 -42 -41 -41 -40 -39 -38 -37 -36 -35 -34 -33 -32 -31 -30 -29 -30 -31 -32 -34 -36 -37 -39 -40 -42 -43 -44 -44 -45 -46 -46 -46 -45 -45 -46 -48 -52 -54 -54 -53 -52 -52 -52 -53 -54 -53 -49 -45 -42 -39 -40 -41 -42 -45 -49 -57 -62 -67 -72 -74 -73 -72 -72 -72 -70 -64 -59 -53 -47 -44 -40 -37 -37 -39 -45 -55 -59 -61 -61 -61 -61 -62 -62 -61 -59 -57 -55 -52 -50 -50 -51 -50 -49 -48 -48 -47 -46 -46 -47 -48 -48 -47 -47 -47 -48 -47 -44 -43 -43 -45 -45 -45 -44 -43 -42 -43 -43 -42 -41 -40 -39 -37 -35 -34 -34 -34 -36 -36 -34 -29 -29 -29 -30 -33 -35 -33 -32 -32 -33 -33 -32 -32 -32 -31 -28 -32 -32 -30 -27 -20 -8 -0 4 5 7 7 -17 -14 -20 -31 -36 -35 -27 -20 -19 -20 -20 -18 -17 -19 -23 -26 -27 -23 -18 -16 -15 -17 -18 -19 -21 -24 -26 -26 -22 -17 -14 -13 -15 -17 -17 -16 -15 -15 -17 -18 -18 -16 -16 -18 -20 -22 -23 -23 -23 -23 -22 -21 -21 -22 -24 -23 -20 -16 -15 -16 -19 -22 -24 -25 -27 -28 -28 -28 -28 -29 -31 -34 -35 -33 -31 -30 -30 -31 -33 -34 -34 -34 -35 -36 -37 -34 -29 -25 -25 -29 -33 -37 -39 -40 -43 -47 -50 -50 -45 -42 -42 -43 -42 -40 -39 -39 -40 -41 -41 -42 -43 -44 -44 -43 -42 -40 -38 -36 -36 -37 -38 -39 -39 -40 -41 -41 -41 -39 -38 -37 -37 -37 -38 -39 -40 -40 -41 -42 -42 -44 -45 -46 -45 -44 -42 -41 -41 -40 -38 -39 -41 -43 -46 -48 -47 -46 -49 -53 -58 -58 -53 -50 -49 -50 -51 -52 -54 -56 -57 -58 -59 -60 -62 -63 -65 -65 -66 -65 -64 -63 -61 -60 -60 -59 -58 -55 -54 -54 -53 -44 -30 -21 -17 -16 -16 -16 -16 -18 -22 -29 -39 -45 -48 -48 -48 -45 -41 -40 -42 -46 -47 -48 -49 -51 -53 -52 -51 -48 -46 -42 -39 -36 -32 -28 -25 -25 -26 -28 -30 -32 -32 -31 -31 -32 -33 -35 -38 -40 -41 -42 -41 -41 -41 -42 -43 -44 -45 -45 -45 -45 -44 -43 -43 -42 -42 -42 -42 -43 -42 -41 -40 -39 -38 -38 -37 -36 -35 -33 -31 -30 -29 -29 -31 -34 -37 -39 -41 -42 -43 -43 -43 -44 -46 -48 -50 -50 -49 -48 -48 -48 -50 -54 -58 -62 -62 -61 -60 -59 -58 -57 -58 -58 -57 -56 -54 -50 -51 -52 -53 -52 -53 -64 -69 -73 -76 -79 -77 -74 -72 -69 -66 -58 -53 -49 -46 -44 -41 -38 -37 -39 -45 -56 -61 -62 -62 -62 -62 -62 -62 -61 -59 -57 -54 -51 -47 -47 -48 -47 -47 -46 -46 -45 -45 -45 -46 -48 -49 -48 -48 -48 -48 -48 -46 -45 -44 -44 -45 -44 -43 -42 -42 -42 -42 -41 -40 -39 -38 -36 -33 -31 -31 -32 -33 -35 -35 -32 -28 -27 -29 -34 -34 -29 -28 -30 -33 -33 -31 -30 -30 -31 -30 -32 -32 -31 -27 -16 -8 -2 2 5 7 6 -16 -16 -24 -34 -37 -34 -25 -17 -17 -19 -20 -17 -17 -21 -27 -30 -27 -20 -17 -16 -16 -17 -17 -19 -24 -28 -29 -26 -19 -14 -12 -13 -15 -17 -18 -17 -17 -17 -18 -17 -16 -15 -17 -17 -17 -18 -20 -20 -21 -21 -20 -19 -20 -21 -21 -19 -17 -17 -16 -17 -19 -22 -24 -27 -29 -29 -28 -25 -24 -26 -28 -30 -30 -28 -27 -27 -30 -33 -36 -39 -40 -41 -40 -40 -38 -32 -26 -21 -22 -26 -32 -38 -40 -41 -42 -44 -46 -48 -47 -44 -42 -41 -39 -38 -37 -37 -38 -40 -42 -43 -43 -42 -42 -40 -39 -37 -36 -35 -35 -36 -38 -39 -39 -39 -40 -42 -43 -42 -39 -37 -38 -38 -38 -38 -39 -41 -42 -42 -43 -44 -45 -47 -47 -46 -43 -41 -39 -38 -40 -42 -44 -44 -45 -47 -47 -45 -45 -49 -55 -56 -54 -52 -51 -50 -51 -52 -54 -55 -56 -57 -58 -60 -62 -64 -65 -65 -65 -65 -64 -63 -62 -61 -60 -59 -58 -56 -55 -54 -52 -46 -35 -28 -22 -18 -16 -15 -15 -16 -19 -23 -31 -39 -46 -49 -49 -48 -48 -48 -48 -48 -48 -49 -50 -51 -53 -54 -54 -54 -53 -51 -48 -44 -40 -36 -32 -30 -29 -31 -33 -36 -37 -37 -36 -36 -37 -38 -40 -42 -43 -44 -43 -43 -42 -42 -43 -44 -45 -45 -46 -46 -45 -45 -44 -44 -43 -43 -43 -43 -42 -41 -40 -39 -38 -38 -38 -38 -36 -33 -30 -28 -28 -31 -34 -38 -41 -44 -45 -46 -45 -45 -45 -47 -50 -53 -57 -57 -56 -55 -55 -56 -57 -59 -63 -66 -68 -67 -66 -64 -61 -58 -59 -61 -63 -64 -64 -63 -63 -62 -60 -59 -57 -64 -69 -72 -76 -81 -79 -75 -69 -62 -59 -53 -49 -47 -46 -45 -43 -41 -40 -42 -48 -57 -61 -63 -63 -62 -62 -61 -61 -60 -59 -57 -55 -51 -46 -44 -46 -47 -46 -45 -44 -44 -45 -45 -47 -49 -50 -50 -49 -49 -49 -48 -47 -47 -46 -45 -45 -44 -43 -42 -42 -41 -41 -40 -39 -39 -38 -36 -33 -30 -30 -31 -32 -33 -36 -35 -25 -21 -25 -33 -32 -26 -23 -25 -32 -32 -30 -29 -30 -30 -31 -32 -33 -32 -28 -18 -13 -7 -0 3 5 6 -15 -18 -28 -36 -36 -31 -22 -15 -16 -19 -19 -17 -18 -26 -31 -30 -25 -17 -14 -16 -17 -17 -14 -16 -23 -30 -32 -27 -18 -13 -11 -13 -14 -17 -18 -18 -17 -18 -19 -17 -16 -15 -14 -13 -12 -13 -15 -16 -18 -18 -18 -18 -19 -18 -17 -17 -19 -20 -19 -20 -21 -22 -24 -27 -30 -30 -27 -23 -22 -24 -26 -27 -26 -26 -26 -29 -33 -38 -41 -43 -45 -46 -45 -43 -37 -31 -25 -21 -21 -25 -31 -37 -41 -42 -41 -40 -41 -45 -48 -46 -42 -38 -37 -37 -37 -37 -38 -40 -41 -41 -41 -41 -40 -39 -37 -35 -35 -34 -35 -36 -37 -39 -39 -39 -41 -43 -44 -43 -40 -39 -39 -39 -39 -39 -39 -40 -42 -43 -44 -45 -46 -47 -48 -48 -46 -42 -40 -40 -40 -40 -40 -41 -42 -44 -46 -46 -46 -46 -48 -51 -54 -55 -54 -51 -51 -52 -53 -54 -55 -56 -58 -59 -61 -63 -64 -65 -65 -64 -63 -62 -62 -62 -61 -60 -58 -56 -55 -54 -52 -48 -41 -36 -31 -25 -19 -16 -15 -16 -19 -22 -29 -36 -44 -49 -52 -52 -51 -51 -51 -51 -50 -51 -51 -52 -52 -54 -55 -56 -56 -57 -56 -53 -50 -47 -42 -38 -36 -36 -37 -40 -41 -42 -42 -42 -42 -42 -43 -44 -45 -46 -46 -45 -44 -43 -43 -43 -44 -45 -46 -46 -45 -45 -45 -45 -44 -44 -43 -42 -41 -41 -40 -39 -39 -39 -40 -39 -37 -34 -31 -29 -30 -33 -37 -41 -45 -47 -48 -48 -47 -47 -49 -52 -55 -57 -59 -58 -57 -57 -57 -58 -57 -59 -65 -72 -74 -71 -68 -65 -63 -60 -62 -64 -67 -69 -70 -71 -67 -63 -59 -59 -59 -61 -63 -65 -69 -76 -76 -72 -64 -56 -53 -51 -49 -48 -47 -46 -46 -45 -46 -47 -54 -59 -63 -63 -63 -62 -62 -62 -61 -59 -58 -57 -56 -52 -46 -42 -46 -49 -48 -46 -45 -46 -47 -48 -49 -50 -50 -51 -50 -49 -48 -48 -48 -48 -47 -45 -45 -44 -44 -43 -42 -41 -40 -40 -39 -39 -38 -37 -35 -33 -33 -33 -32 -33 -35 -35 -26 -21 -23 -31 -31 -27 -22 -22 -29 -30 -30 -31 -33 -33 -33 -33 -33 -33 -31 -25 -22 -14 -5 -1 3 4 -15 -21 -32 -37 -34 -27 -19 -15 -17 -17 -17 -18 -25 -34 -33 -28 -20 -12 -12 -16 -18 -16 -14 -18 -25 -31 -33 -29 -19 -11 -8 -10 -14 -16 -16 -16 -15 -17 -19 -19 -19 -17 -14 -12 -11 -11 -13 -14 -14 -15 -17 -18 -18 -17 -16 -18 -20 -22 -20 -20 -21 -22 -25 -28 -30 -28 -25 -22 -21 -22 -23 -25 -26 -28 -30 -34 -38 -42 -44 -46 -47 -48 -47 -44 -37 -29 -25 -23 -23 -26 -30 -35 -39 -42 -40 -38 -39 -42 -47 -46 -42 -38 -37 -38 -38 -38 -39 -40 -40 -40 -39 -39 -38 -37 -35 -34 -34 -34 -35 -37 -38 -39 -39 -40 -41 -42 -42 -42 -40 -38 -38 -38 -38 -38 -39 -40 -41 -43 -45 -46 -47 -47 -47 -48 -48 -46 -43 -40 -38 -37 -36 -38 -42 -48 -51 -52 -51 -49 -49 -54 -59 -61 -57 -51 -50 -51 -52 -53 -55 -56 -57 -59 -60 -62 -63 -64 -64 -64 -63 -62 -62 -62 -61 -60 -58 -56 -55 -54 -53 -50 -47 -44 -41 -37 -28 -20 -17 -18 -20 -23 -27 -32 -39 -46 -51 -54 -56 -57 -55 -52 -52 -53 -53 -53 -52 -54 -55 -57 -57 -58 -58 -59 -59 -57 -54 -50 -47 -45 -44 -45 -45 -46 -47 -47 -48 -48 -48 -47 -47 -48 -49 -48 -47 -46 -44 -44 -45 -45 -46 -46 -45 -45 -45 -45 -45 -44 -43 -42 -41 -40 -40 -40 -40 -40 -41 -40 -38 -35 -33 -32 -34 -37 -41 -44 -47 -48 -49 -50 -51 -52 -55 -57 -59 -59 -58 -58 -58 -58 -58 -59 -58 -58 -62 -69 -69 -64 -59 -58 -59 -62 -65 -68 -71 -74 -76 -74 -67 -62 -60 -62 -63 -64 -64 -65 -66 -69 -68 -64 -60 -55 -53 -51 -50 -49 -48 -47 -48 -51 -53 -54 -57 -61 -63 -65 -65 -64 -63 -62 -61 -60 -58 -57 -56 -53 -47 -44 -48 -51 -51 -47 -48 -49 -50 -51 -51 -51 -51 -51 -50 -49 -48 -48 -48 -48 -47 -45 -45 -44 -44 -44 -43 -42 -41 -41 -41 -40 -38 -37 -36 -36 -34 -32 -31 -32 -36 -35 -28 -23 -24 -27 -29 -29 -26 -24 -28 -30 -32 -33 -34 -34 -34 -34 -34 -33 -33 -32 -30 -22 -11 -7 -1 1 -15 -23 -34 -35 -30 -22 -15 -14 -16 -16 -17 -21 -33 -39 -37 -29 -20 -12 -13 -17 -20 -21 -20 -24 -29 -33 -33 -30 -21 -14 -10 -10 -14 -15 -14 -13 -14 -17 -21 -23 -22 -19 -15 -12 -11 -12 -13 -13 -13 -14 -16 -17 -17 -16 -16 -18 -20 -19 -17 -17 -19 -21 -25 -28 -27 -24 -21 -19 -20 -21 -22 -25 -29 -34 -37 -39 -41 -42 -44 -46 -47 -47 -47 -44 -36 -29 -24 -24 -25 -28 -30 -33 -35 -38 -38 -37 -38 -40 -45 -46 -43 -40 -39 -40 -39 -39 -39 -39 -39 -39 -39 -38 -37 -36 -35 -34 -34 -35 -36 -38 -39 -40 -40 -41 -42 -42 -41 -40 -38 -36 -36 -36 -37 -38 -39 -40 -41 -42 -44 -44 -44 -44 -46 -48 -50 -47 -42 -39 -38 -36 -35 -37 -41 -47 -51 -53 -54 -53 -53 -56 -60 -60 -56 -51 -51 -52 -53 -54 -55 -56 -58 -60 -61 -62 -62 -63 -63 -63 -62 -62 -61 -61 -61 -60 -58 -56 -54 -53 -52 -53 -52 -52 -52 -52 -43 -30 -22 -20 -22 -25 -28 -32 -38 -45 -50 -53 -56 -57 -55 -52 -53 -55 -56 -53 -51 -53 -54 -56 -57 -58 -59 -60 -61 -63 -63 -61 -58 -55 -53 -52 -51 -50 -51 -52 -53 -54 -54 -53 -51 -51 -52 -52 -51 -50 -48 -47 -47 -47 -47 -46 -46 -45 -45 -45 -44 -44 -43 -42 -41 -41 -41 -41 -41 -41 -41 -40 -38 -37 -36 -36 -38 -41 -43 -45 -47 -48 -50 -54 -58 -60 -60 -59 -59 -58 -57 -58 -60 -60 -59 -58 -57 -59 -63 -66 -65 -62 -59 -59 -61 -64 -67 -71 -75 -79 -81 -76 -68 -64 -65 -66 -67 -67 -67 -66 -66 -67 -66 -64 -59 -55 -53 -52 -51 -50 -49 -49 -51 -55 -59 -58 -60 -62 -65 -66 -66 -65 -64 -62 -61 -60 -58 -57 -56 -55 -51 -48 -50 -51 -51 -49 -50 -51 -52 -52 -52 -51 -52 -51 -50 -49 -49 -49 -48 -48 -47 -46 -45 -45 -45 -45 -43 -42 -42 -42 -41 -39 -38 -36 -35 -34 -30 -27 -26 -28 -34 -35 -31 -27 -26 -24 -26 -28 -28 -28 -29 -32 -33 -34 -35 -35 -34 -33 -32 -34 -33 -33 -32 -27 -19 -14 -7 -3 -17 -26 -34 -31 -24 -16 -11 -11 -14 -15 -17 -24 -35 -38 -34 -27 -20 -16 -19 -24 -27 -28 -28 -30 -32 -33 -31 -26 -21 -17 -15 -14 -13 -13 -12 -12 -15 -20 -24 -25 -23 -19 -15 -13 -12 -14 -16 -17 -16 -15 -16 -17 -16 -15 -15 -16 -16 -14 -12 -14 -16 -20 -24 -26 -23 -20 -18 -19 -21 -23 -26 -30 -35 -40 -42 -42 -42 -42 -43 -43 -44 -44 -45 -44 -37 -30 -26 -24 -26 -28 -29 -29 -30 -32 -35 -37 -39 -41 -44 -47 -46 -44 -42 -42 -42 -40 -39 -38 -38 -38 -38 -37 -36 -36 -36 -35 -35 -35 -36 -38 -40 -41 -41 -42 -44 -44 -43 -39 -36 -34 -34 -35 -37 -38 -39 -39 -40 -41 -41 -40 -40 -42 -46 -51 -51 -47 -42 -39 -37 -35 -36 -38 -41 -46 -49 -52 -54 -56 -56 -58 -59 -57 -54 -52 -53 -55 -56 -56 -56 -56 -58 -60 -62 -64 -63 -63 -62 -62 -62 -62 -61 -60 -60 -60 -59 -57 -54 -52 -52 -55 -57 -59 -61 -63 -58 -43 -30 -24 -25 -28 -30 -34 -39 -46 -50 -53 -55 -56 -55 -53 -54 -55 -56 -53 -51 -52 -54 -55 -57 -58 -59 -61 -63 -65 -66 -66 -66 -65 -63 -60 -57 -56 -57 -58 -60 -62 -63 -61 -57 -55 -55 -55 -55 -55 -53 -52 -51 -50 -50 -49 -47 -46 -45 -44 -43 -43 -43 -43 -42 -42 -42 -43 -43 -42 -42 -41 -40 -39 -40 -41 -43 -45 -46 -47 -49 -52 -55 -58 -60 -61 -61 -59 -58 -57 -56 -58 -59 -59 -57 -57 -55 -57 -59 -61 -62 -63 -63 -63 -64 -66 -69 -73 -78 -82 -83 -77 -71 -68 -70 -71 -71 -71 -69 -67 -66 -65 -65 -65 -62 -55 -53 -53 -52 -52 -51 -51 -53 -57 -62 -61 -61 -64 -67 -69 -68 -67 -65 -63 -61 -59 -57 -56 -56 -56 -54 -50 -48 -48 -49 -50 -52 -53 -53 -53 -52 -52 -52 -51 -50 -49 -49 -49 -49 -48 -48 -47 -47 -47 -46 -45 -43 -42 -42 -42 -41 -39 -37 -36 -35 -32 -25 -22 -22 -24 -29 -34 -34 -32 -30 -27 -27 -28 -29 -30 -31 -33 -34 -35 -35 -35 -35 -32 -30 -34 -33 -33 -32 -29 -22 -17 -11 -7 -18 -26 -31 -27 -20 -13 -9 -10 -13 -15 -19 -25 -32 -32 -27 -22 -19 -21 -27 -32 -34 -34 -33 -34 -34 -31 -27 -20 -16 -16 -17 -16 -13 -12 -11 -14 -18 -23 -24 -23 -20 -17 -16 -15 -15 -17 -20 -22 -19 -17 -15 -15 -14 -12 -11 -11 -10 -9 -10 -13 -17 -20 -22 -20 -18 -18 -20 -23 -27 -31 -34 -37 -39 -41 -41 -41 -40 -39 -38 -38 -40 -42 -44 -43 -38 -32 -27 -24 -25 -26 -26 -25 -25 -27 -33 -38 -42 -44 -45 -46 -47 -46 -44 -44 -45 -43 -41 -39 -39 -38 -37 -37 -37 -38 -37 -37 -37 -37 -39 -40 -41 -42 -42 -44 -47 -47 -44 -39 -35 -34 -34 -36 -38 -38 -38 -38 -39 -39 -38 -37 -38 -42 -46 -51 -51 -48 -45 -41 -37 -35 -36 -39 -43 -47 -49 -51 -54 -56 -58 -59 -58 -56 -53 -52 -54 -56 -59 -60 -58 -57 -58 -60 -63 -66 -65 -63 -62 -61 -61 -61 -61 -61 -60 -60 -60 -58 -55 -53 -52 -54 -58 -61 -63 -65 -63 -53 -40 -30 -28 -31 -33 -37 -42 -48 -51 -53 -53 -54 -54 -55 -54 -54 -53 -52 -52 -53 -54 -55 -56 -57 -58 -61 -63 -66 -68 -69 -68 -67 -65 -62 -61 -61 -63 -65 -67 -69 -70 -69 -64 -61 -60 -59 -60 -60 -59 -58 -57 -56 -55 -53 -50 -48 -46 -45 -44 -43 -44 -44 -45 -45 -45 -45 -44 -44 -43 -43 -43 -44 -44 -46 -48 -51 -53 -53 -52 -52 -55 -58 -61 -61 -60 -59 -58 -57 -56 -55 -55 -54 -54 -55 -54 -55 -57 -59 -61 -63 -65 -66 -67 -69 -70 -74 -78 -81 -79 -73 -71 -73 -75 -76 -75 -73 -70 -67 -64 -63 -64 -66 -68 -60 -55 -54 -54 -55 -54 -54 -57 -61 -65 -64 -64 -66 -69 -70 -69 -67 -66 -64 -62 -59 -57 -57 -57 -56 -52 -46 -43 -44 -48 -52 -53 -53 -53 -53 -52 -52 -52 -52 -51 -49 -49 -49 -50 -49 -49 -49 -48 -48 -47 -46 -44 -43 -42 -42 -41 -39 -37 -36 -35 -31 -27 -23 -22 -22 -26 -32 -36 -35 -33 -30 -29 -29 -30 -31 -32 -33 -34 -35 -35 -36 -36 -34 -32 -34 -33 -33 -32 -28 -19 -16 -13 -12 -18 -25 -28 -24 -19 -13 -9 -10 -14 -18 -22 -27 -31 -29 -25 -22 -22 -27 -34 -38 -38 -36 -35 -34 -32 -28 -23 -16 -11 -11 -12 -13 -12 -12 -13 -16 -21 -25 -24 -21 -18 -17 -19 -22 -23 -23 -23 -22 -20 -17 -14 -12 -9 -8 -7 -7 -7 -8 -11 -15 -19 -20 -19 -17 -17 -20 -25 -30 -33 -35 -36 -37 -38 -38 -38 -37 -36 -34 -32 -32 -35 -40 -43 -44 -41 -35 -29 -24 -24 -26 -26 -25 -24 -26 -32 -38 -43 -46 -45 -43 -43 -43 -43 -43 -45 -45 -43 -39 -37 -38 -37 -37 -37 -38 -38 -38 -38 -39 -41 -42 -43 -44 -44 -45 -46 -46 -43 -38 -34 -34 -36 -38 -39 -38 -37 -38 -39 -39 -37 -36 -37 -40 -44 -48 -49 -49 -47 -43 -37 -35 -37 -40 -44 -48 -50 -51 -52 -53 -56 -58 -57 -55 -52 -52 -54 -58 -61 -62 -59 -57 -58 -60 -62 -64 -65 -64 -63 -61 -60 -61 -61 -61 -60 -61 -62 -61 -58 -55 -55 -56 -59 -61 -62 -64 -64 -56 -45 -35 -32 -34 -37 -41 -46 -49 -52 -52 -52 -52 -53 -55 -55 -53 -52 -53 -54 -54 -55 -55 -55 -56 -58 -60 -63 -65 -68 -69 -69 -68 -66 -63 -62 -62 -63 -65 -68 -70 -71 -71 -70 -68 -67 -66 -66 -66 -64 -64 -63 -62 -60 -58 -55 -52 -49 -47 -47 -47 -47 -47 -48 -49 -49 -48 -47 -46 -45 -46 -48 -51 -52 -52 -54 -56 -57 -57 -56 -56 -57 -60 -61 -60 -60 -60 -59 -57 -55 -55 -53 -51 -50 -54 -56 -58 -59 -61 -63 -65 -68 -70 -71 -71 -72 -74 -77 -79 -76 -73 -75 -79 -82 -81 -78 -74 -70 -66 -62 -61 -62 -67 -73 -67 -61 -58 -59 -61 -60 -61 -63 -67 -69 -69 -68 -69 -70 -70 -68 -67 -66 -66 -64 -61 -59 -58 -58 -57 -52 -49 -48 -50 -54 -55 -54 -53 -53 -53 -53 -52 -52 -52 -52 -50 -49 -49 -50 -49 -49 -49 -49 -49 -49 -48 -46 -44 -43 -41 -40 -39 -38 -37 -37 -36 -33 -28 -24 -24 -25 -29 -34 -37 -36 -32 -31 -30 -31 -33 -34 -35 -35 -35 -35 -36 -36 -35 -34 -34 -33 -33 -32 -30 -23 -20 -19 -19 -17 -23 -26 -24 -18 -13 -10 -11 -16 -21 -26 -31 -34 -32 -30 -29 -30 -33 -36 -37 -36 -34 -33 -33 -31 -27 -22 -18 -11 -9 -9 -9 -8 -10 -14 -19 -22 -23 -23 -21 -19 -17 -17 -19 -21 -22 -22 -20 -18 -15 -12 -9 -6 -4 -5 -6 -7 -10 -13 -17 -19 -19 -17 -15 -17 -22 -28 -32 -32 -33 -33 -34 -34 -34 -35 -34 -33 -29 -27 -29 -33 -38 -41 -44 -44 -39 -31 -24 -24 -26 -27 -27 -26 -27 -32 -36 -42 -45 -45 -41 -40 -42 -45 -46 -45 -44 -42 -39 -37 -37 -36 -36 -37 -38 -38 -38 -40 -42 -43 -44 -46 -46 -45 -44 -44 -43 -40 -37 -36 -37 -39 -39 -39 -37 -37 -37 -38 -37 -35 -35 -36 -38 -40 -43 -46 -47 -45 -40 -35 -35 -38 -42 -46 -48 -50 -50 -50 -50 -53 -56 -56 -55 -54 -54 -56 -59 -61 -62 -60 -59 -60 -62 -64 -66 -68 -68 -67 -64 -60 -60 -62 -63 -62 -62 -63 -64 -62 -60 -59 -60 -61 -62 -63 -64 -63 -57 -48 -40 -37 -38 -41 -46 -50 -50 -50 -51 -52 -52 -51 -53 -54 -53 -52 -54 -56 -56 -56 -55 -55 -56 -58 -60 -62 -65 -68 -69 -69 -68 -66 -64 -62 -61 -62 -65 -70 -71 -70 -68 -69 -71 -72 -74 -74 -73 -71 -71 -71 -70 -67 -65 -62 -59 -55 -51 -52 -54 -53 -51 -51 -53 -54 -54 -53 -51 -50 -52 -56 -59 -60 -60 -59 -59 -58 -57 -57 -58 -59 -60 -60 -59 -59 -59 -58 -56 -55 -55 -54 -53 -54 -57 -59 -61 -64 -66 -67 -70 -73 -75 -74 -74 -73 -74 -76 -79 -79 -79 -82 -88 -91 -87 -81 -75 -70 -65 -61 -60 -61 -67 -75 -74 -69 -66 -67 -70 -70 -69 -69 -71 -73 -74 -73 -71 -71 -70 -69 -68 -68 -68 -66 -62 -59 -58 -58 -58 -56 -55 -55 -55 -56 -55 -54 -54 -54 -54 -54 -54 -54 -53 -53 -51 -51 -50 -50 -50 -51 -51 -51 -51 -51 -49 -47 -45 -43 -41 -39 -38 -38 -38 -39 -39 -37 -34 -30 -27 -26 -28 -32 -37 -37 -35 -33 -32 -33 -34 -35 -35 -35 -35 -35 -35 -35 -35 -35 -34 -33 -33 -32 -31 -28 -26 -25 -24 -17 -21 -25 -23 -17 -13 -11 -12 -17 -24 -29 -33 -37 -39 -38 -38 -38 -38 -35 -32 -31 -31 -33 -35 -31 -25 -19 -14 -9 -6 -5 -6 -9 -13 -19 -23 -25 -25 -23 -21 -20 -18 -18 -19 -19 -18 -17 -15 -15 -15 -13 -9 -5 -4 -5 -7 -10 -14 -18 -19 -20 -18 -15 -14 -17 -22 -26 -28 -28 -29 -31 -32 -33 -34 -34 -33 -30 -26 -25 -27 -31 -35 -39 -43 -45 -42 -34 -25 -24 -26 -28 -28 -28 -29 -31 -35 -40 -46 -46 -42 -40 -42 -46 -49 -48 -45 -42 -40 -38 -36 -36 -36 -37 -37 -38 -40 -43 -45 -46 -47 -47 -46 -44 -43 -43 -42 -40 -37 -36 -37 -39 -40 -40 -38 -37 -37 -37 -37 -35 -35 -37 -39 -40 -42 -45 -47 -44 -39 -34 -35 -38 -43 -46 -47 -47 -47 -47 -48 -52 -54 -55 -55 -56 -57 -59 -60 -61 -62 -62 -62 -63 -65 -67 -68 -70 -70 -69 -65 -59 -59 -62 -64 -64 -62 -62 -64 -64 -63 -62 -62 -62 -63 -63 -63 -62 -59 -53 -48 -46 -46 -46 -47 -47 -48 -49 -50 -52 -52 -51 -50 -50 -51 -52 -55 -58 -58 -57 -55 -54 -55 -57 -59 -62 -65 -68 -70 -70 -68 -67 -65 -63 -62 -63 -63 -63 -64 -66 -68 -69 -71 -73 -74 -76 -76 -76 -78 -78 -77 -74 -70 -67 -64 -60 -56 -57 -58 -58 -57 -58 -60 -62 -63 -63 -62 -62 -61 -61 -60 -61 -61 -61 -60 -58 -57 -57 -58 -59 -60 -59 -59 -59 -58 -58 -57 -57 -60 -62 -62 -59 -59 -62 -67 -73 -74 -75 -78 -81 -81 -78 -76 -76 -76 -76 -79 -82 -84 -87 -91 -94 -92 -86 -78 -71 -65 -62 -61 -62 -67 -74 -76 -75 -73 -73 -75 -74 -74 -73 -74 -75 -74 -72 -71 -70 -70 -71 -71 -70 -70 -66 -61 -58 -57 -56 -57 -57 -58 -58 -57 -56 -56 -55 -55 -55 -55 -55 -55 -54 -54 -53 -52 -52 -51 -51 -52 -52 -52 -52 -52 -51 -49 -48 -46 -43 -40 -39 -38 -39 -40 -40 -39 -39 -38 -35 -32 -32 -32 -34 -37 -38 -37 -35 -34 -33 -34 -35 -35 -34 -34 -33 -32 -32 -34 -34 -34 -33 -32 -31 -30 -29 -28 -27 -25 -18 -20 -23 -22 -17 -12 -11 -13 -19 -24 -28 -31 -34 -38 -40 -39 -37 -36 -33 -29 -28 -30 -36 -39 -32 -22 -13 -9 -9 -8 -6 -6 -9 -15 -20 -24 -24 -22 -20 -19 -18 -17 -19 -21 -20 -17 -15 -15 -17 -18 -17 -14 -10 -7 -8 -11 -15 -19 -22 -23 -22 -18 -14 -14 -17 -20 -23 -24 -26 -28 -30 -32 -33 -34 -34 -31 -27 -24 -25 -27 -30 -33 -37 -42 -44 -41 -35 -27 -25 -26 -28 -30 -30 -30 -31 -34 -39 -45 -47 -44 -43 -43 -46 -49 -50 -48 -45 -42 -40 -37 -35 -35 -36 -37 -40 -42 -45 -47 -47 -47 -45 -43 -42 -42 -44 -43 -41 -38 -37 -38 -39 -40 -40 -39 -38 -37 -36 -35 -35 -36 -38 -41 -42 -42 -40 -39 -37 -34 -33 -35 -39 -43 -45 -46 -46 -46 -46 -48 -51 -53 -55 -55 -55 -56 -56 -57 -58 -61 -64 -65 -65 -65 -65 -66 -66 -66 -65 -63 -58 -57 -59 -62 -62 -61 -62 -63 -63 -63 -62 -63 -64 -63 -63 -63 -62 -58 -54 -50 -47 -47 -47 -46 -44 -45 -48 -51 -53 -52 -51 -48 -48 -50 -52 -56 -59 -59 -57 -55 -54 -54 -56 -58 -61 -65 -68 -69 -69 -67 -67 -66 -64 -63 -63 -63 -63 -64 -65 -67 -68 -69 -70 -72 -73 -74 -77 -79 -81 -81 -76 -72 -68 -64 -62 -60 -59 -58 -58 -58 -59 -61 -63 -64 -65 -64 -64 -64 -63 -61 -61 -61 -60 -60 -58 -57 -57 -58 -59 -59 -59 -59 -58 -57 -57 -58 -61 -65 -68 -67 -62 -63 -68 -73 -76 -78 -81 -85 -88 -87 -82 -80 -79 -79 -79 -80 -83 -87 -90 -93 -93 -92 -89 -84 -78 -71 -67 -65 -65 -68 -72 -76 -78 -76 -75 -75 -75 -75 -75 -76 -75 -73 -71 -70 -70 -70 -71 -72 -72 -71 -66 -60 -56 -56 -56 -56 -57 -58 -59 -58 -56 -56 -57 -57 -57 -56 -55 -54 -54 -53 -53 -53 -53 -53 -53 -53 -53 -52 -52 -52 -51 -50 -48 -46 -43 -40 -39 -39 -40 -41 -41 -40 -40 -38 -36 -34 -35 -37 -38 -38 -38 -38 -36 -34 -33 -34 -34 -34 -34 -33 -32 -30 -29 -33 -33 -33 -33 -32 -31 -30 -29 -27 -26 -24 -18 -19 -21 -21 -16 -13 -14 -18 -22 -24 -27 -29 -30 -32 -37 -39 -37 -34 -32 -29 -28 -30 -33 -33 -29 -20 -10 -4 -5 -6 -6 -9 -14 -19 -22 -22 -21 -19 -18 -19 -20 -22 -23 -24 -22 -20 -18 -19 -22 -25 -25 -22 -18 -15 -15 -18 -21 -23 -25 -25 -22 -18 -14 -15 -18 -20 -22 -23 -26 -29 -31 -32 -33 -34 -32 -28 -25 -24 -25 -27 -29 -32 -36 -40 -40 -38 -34 -29 -26 -27 -29 -31 -32 -31 -32 -33 -37 -42 -46 -46 -46 -45 -45 -46 -49 -49 -47 -44 -42 -39 -37 -36 -36 -38 -42 -45 -47 -47 -46 -44 -43 -41 -40 -42 -44 -43 -41 -39 -39 -40 -40 -39 -39 -41 -40 -38 -37 -37 -38 -40 -41 -42 -43 -40 -37 -35 -33 -33 -34 -37 -40 -42 -44 -45 -46 -46 -45 -46 -48 -51 -54 -55 -54 -52 -50 -50 -53 -59 -65 -66 -65 -64 -63 -62 -60 -61 -61 -60 -58 -56 -57 -58 -59 -60 -63 -63 -63 -62 -62 -64 -64 -64 -63 -63 -62 -59 -54 -50 -47 -47 -49 -50 -51 -50 -51 -52 -52 -52 -51 -49 -48 -49 -51 -56 -59 -59 -57 -55 -54 -55 -56 -57 -60 -65 -68 -68 -67 -66 -67 -67 -66 -65 -64 -62 -62 -62 -64 -65 -68 -69 -70 -71 -72 -74 -77 -80 -84 -86 -81 -75 -69 -65 -62 -60 -57 -55 -53 -53 -51 -53 -57 -62 -65 -66 -65 -64 -62 -61 -61 -60 -59 -59 -58 -58 -57 -58 -58 -58 -57 -56 -54 -52 -53 -56 -61 -67 -71 -72 -69 -70 -73 -76 -78 -81 -84 -89 -93 -92 -86 -83 -83 -84 -84 -85 -87 -90 -93 -94 -93 -92 -90 -86 -81 -78 -76 -73 -71 -74 -77 -78 -78 -76 -75 -75 -75 -74 -74 -74 -74 -73 -71 -71 -73 -73 -73 -74 -74 -72 -67 -61 -57 -57 -57 -57 -58 -58 -59 -58 -56 -56 -58 -58 -57 -56 -56 -55 -54 -53 -53 -53 -53 -54 -54 -54 -54 -53 -53 -52 -51 -50 -49 -47 -44 -42 -41 -41 -42 -43 -43 -42 -41 -39 -34 -31 -32 -36 -39 -39 -38 -38 -37 -34 -33 -33 -34 -33 -33 -33 -32 -31 -30 -32 -32 -32 -32 -31 -29 -27 -27 -26 -25 -24 -19 -18 -17 -16 -14 -14 -17 -21 -25 -26 -27 -29 -30 -34 -38 -37 -34 -30 -28 -27 -27 -28 -29 -26 -21 -14 -8 -4 -5 -7 -10 -13 -18 -21 -21 -20 -19 -19 -19 -20 -22 -24 -26 -27 -25 -23 -22 -24 -26 -29 -30 -29 -27 -24 -24 -25 -26 -27 -27 -26 -22 -17 -15 -16 -19 -21 -22 -24 -27 -29 -30 -31 -32 -32 -29 -26 -24 -24 -26 -28 -30 -32 -36 -38 -36 -34 -32 -30 -27 -27 -29 -32 -33 -34 -33 -33 -35 -39 -44 -48 -49 -47 -45 -43 -45 -46 -45 -43 -42 -42 -41 -39 -37 -38 -43 -47 -48 -46 -43 -41 -40 -40 -41 -42 -43 -42 -40 -40 -42 -43 -42 -40 -40 -43 -43 -43 -43 -44 -46 -47 -47 -46 -44 -39 -35 -33 -33 -33 -35 -37 -39 -41 -43 -45 -45 -44 -43 -43 -44 -48 -51 -54 -54 -51 -49 -49 -51 -55 -61 -63 -63 -61 -59 -59 -58 -58 -59 -59 -58 -57 -57 -58 -59 -62 -64 -65 -65 -63 -63 -64 -64 -64 -63 -64 -62 -58 -53 -49 -47 -47 -48 -50 -52 -53 -53 -53 -52 -51 -50 -49 -49 -50 -52 -55 -58 -58 -57 -55 -55 -56 -57 -58 -60 -64 -67 -67 -65 -65 -67 -68 -68 -67 -66 -63 -62 -61 -62 -64 -67 -70 -71 -71 -71 -72 -75 -79 -82 -83 -81 -77 -72 -68 -64 -60 -54 -49 -46 -44 -41 -43 -50 -58 -65 -69 -69 -66 -62 -61 -60 -59 -59 -59 -59 -58 -57 -57 -57 -54 -50 -49 -47 -45 -48 -54 -60 -68 -74 -76 -76 -77 -77 -78 -80 -83 -87 -91 -93 -91 -88 -87 -88 -89 -89 -90 -92 -93 -95 -96 -94 -92 -89 -87 -84 -82 -81 -78 -75 -75 -75 -76 -76 -75 -76 -75 -74 -72 -71 -71 -72 -72 -73 -74 -76 -76 -76 -76 -75 -72 -66 -61 -58 -59 -59 -60 -60 -59 -57 -59 -58 -58 -58 -58 -57 -56 -56 -55 -55 -54 -54 -54 -54 -55 -55 -55 -55 -54 -53 -52 -50 -48 -48 -48 -46 -44 -43 -43 -44 -44 -44 -44 -43 -41 -35 -32 -33 -37 -40 -40 -40 -39 -38 -36 -33 -33 -33 -32 -33 -33 -32 -32 -32 -32 -32 -32 -28 -23 -20 -20 -21 -23 -25 -23 -18 -16 -14 -13 -13 -15 -18 -22 -26 -28 -29 -31 -32 -35 -39 -37 -33 -28 -28 -28 -28 -27 -25 -20 -15 -11 -8 -7 -8 -10 -13 -18 -21 -23 -22 -20 -19 -20 -22 -21 -21 -23 -25 -27 -26 -24 -24 -24 -25 -27 -28 -29 -29 -30 -30 -32 -33 -35 -33 -27 -21 -16 -15 -17 -20 -22 -24 -26 -28 -29 -30 -30 -30 -28 -25 -23 -23 -25 -27 -29 -32 -35 -37 -37 -34 -32 -31 -31 -31 -30 -31 -33 -35 -36 -34 -34 -35 -37 -42 -46 -48 -48 -45 -42 -42 -42 -42 -42 -42 -44 -44 -43 -39 -39 -43 -47 -47 -45 -42 -39 -38 -39 -41 -42 -42 -41 -41 -43 -46 -48 -46 -44 -43 -45 -46 -48 -50 -53 -55 -54 -53 -50 -46 -38 -34 -33 -34 -35 -35 -37 -38 -40 -41 -44 -44 -43 -42 -41 -43 -46 -51 -54 -55 -53 -50 -49 -50 -53 -59 -62 -62 -60 -58 -58 -58 -59 -59 -59 -59 -59 -59 -60 -61 -63 -66 -67 -68 -66 -63 -62 -63 -63 -63 -64 -61 -55 -50 -46 -47 -47 -48 -48 -50 -52 -53 -53 -52 -50 -50 -49 -50 -51 -53 -56 -58 -58 -58 -56 -58 -59 -59 -59 -59 -63 -66 -66 -65 -64 -66 -68 -70 -70 -70 -69 -66 -63 -62 -63 -67 -71 -72 -72 -71 -71 -72 -75 -77 -77 -75 -74 -74 -72 -68 -60 -53 -46 -41 -39 -38 -39 -44 -52 -63 -71 -71 -67 -60 -59 -60 -59 -58 -58 -58 -57 -56 -56 -56 -54 -47 -44 -45 -49 -54 -60 -66 -72 -77 -79 -80 -80 -81 -82 -83 -86 -89 -92 -94 -92 -91 -91 -92 -93 -93 -94 -96 -97 -97 -95 -93 -91 -90 -88 -86 -85 -83 -81 -78 -75 -75 -74 -74 -74 -73 -72 -71 -70 -69 -70 -72 -74 -75 -77 -79 -79 -79 -78 -75 -70 -63 -59 -59 -60 -61 -62 -60 -55 -53 -61 -62 -61 -58 -57 -57 -57 -57 -57 -56 -55 -55 -55 -55 -56 -56 -56 -55 -55 -54 -52 -46 -42 -43 -48 -48 -47 -45 -45 -46 -45 -45 -44 -44 -42 -40 -37 -37 -40 -41 -41 -41 -41 -40 -38 -35 -34 -33 -32 -33 -33 -32 -32 -33 -33 -33 -30 -23 -12 -10 -9 -11 -17 -25 -24 -17 -16 -13 -12 -14 -16 -18 -22 -27 -29 -31 -33 -34 -36 -37 -35 -31 -27 -30 -32 -31 -28 -25 -20 -15 -13 -12 -12 -11 -13 -16 -20 -23 -25 -26 -23 -21 -21 -22 -24 -24 -23 -23 -24 -23 -23 -23 -23 -22 -22 -22 -23 -26 -30 -34 -36 -37 -36 -32 -24 -17 -14 -16 -18 -20 -22 -24 -25 -26 -27 -28 -28 -27 -24 -22 -22 -24 -27 -29 -33 -36 -37 -37 -34 -32 -31 -31 -33 -34 -35 -36 -36 -38 -39 -35 -34 -35 -38 -42 -45 -48 -48 -45 -41 -40 -41 -42 -41 -42 -43 -43 -42 -40 -39 -42 -44 -45 -44 -41 -39 -39 -40 -42 -43 -41 -39 -40 -44 -49 -51 -50 -49 -48 -47 -47 -48 -51 -54 -57 -57 -54 -50 -44 -38 -33 -33 -34 -35 -35 -36 -37 -39 -40 -43 -43 -42 -41 -40 -42 -46 -51 -55 -56 -53 -50 -49 -50 -53 -56 -57 -57 -57 -56 -57 -59 -60 -60 -60 -59 -59 -60 -62 -64 -66 -66 -67 -67 -68 -65 -62 -62 -62 -62 -62 -60 -55 -49 -45 -47 -49 -50 -50 -49 -49 -51 -51 -51 -50 -51 -51 -51 -52 -54 -56 -56 -56 -56 -57 -60 -62 -61 -59 -59 -62 -65 -66 -65 -64 -66 -68 -70 -72 -72 -72 -70 -66 -62 -63 -67 -71 -73 -74 -73 -73 -73 -74 -72 -68 -66 -67 -69 -70 -68 -65 -61 -56 -51 -43 -40 -40 -43 -49 -59 -66 -67 -63 -58 -57 -59 -59 -58 -58 -57 -56 -56 -56 -56 -56 -53 -50 -49 -54 -61 -69 -75 -78 -80 -82 -84 -85 -85 -86 -88 -89 -91 -92 -92 -92 -93 -94 -95 -96 -96 -97 -98 -98 -96 -93 -91 -89 -89 -88 -87 -86 -84 -82 -79 -77 -76 -74 -72 -71 -69 -68 -68 -68 -68 -70 -73 -76 -78 -80 -81 -81 -80 -78 -74 -68 -62 -59 -59 -60 -62 -63 -59 -53 -53 -61 -64 -62 -57 -56 -57 -58 -58 -58 -57 -56 -56 -57 -57 -57 -57 -57 -56 -55 -54 -52 -44 -38 -40 -48 -49 -48 -47 -47 -46 -45 -44 -44 -44 -43 -41 -41 -41 -41 -41 -42 -42 -42 -41 -39 -36 -34 -33 -33 -33 -33 -33 -33 -31 -32 -32 -27 -17 -8 -7 -6 -8 -14 -24 -24 -17 -17 -15 -14 -16 -17 -20 -22 -26 -29 -32 -34 -35 -36 -35 -31 -28 -28 -33 -35 -33 -30 -26 -22 -19 -18 -18 -19 -18 -19 -20 -21 -22 -25 -28 -26 -24 -22 -25 -27 -25 -22 -20 -20 -20 -20 -20 -19 -17 -16 -16 -17 -21 -25 -27 -29 -29 -28 -24 -19 -16 -16 -17 -19 -20 -22 -23 -24 -25 -25 -26 -26 -25 -23 -23 -24 -27 -30 -34 -37 -38 -36 -33 -31 -30 -31 -33 -36 -39 -39 -39 -39 -40 -41 -38 -35 -33 -35 -39 -43 -46 -47 -45 -42 -40 -40 -41 -42 -42 -42 -42 -41 -39 -39 -39 -40 -42 -43 -42 -41 -41 -42 -43 -45 -44 -41 -41 -44 -49 -51 -50 -49 -49 -47 -47 -47 -49 -53 -55 -54 -50 -44 -40 -37 -34 -32 -32 -31 -32 -34 -36 -38 -41 -43 -43 -42 -41 -40 -41 -45 -50 -55 -56 -52 -49 -48 -50 -53 -54 -53 -53 -53 -54 -56 -58 -61 -62 -61 -59 -59 -61 -64 -66 -68 -67 -67 -67 -67 -65 -62 -61 -61 -61 -63 -62 -57 -49 -45 -47 -50 -52 -51 -47 -47 -47 -48 -48 -50 -53 -53 -53 -53 -54 -54 -53 -54 -56 -60 -63 -63 -61 -59 -59 -61 -64 -65 -66 -66 -67 -68 -70 -72 -73 -74 -72 -68 -64 -63 -65 -69 -73 -77 -77 -77 -77 -77 -74 -67 -65 -66 -67 -68 -69 -68 -64 -61 -57 -51 -45 -43 -46 -52 -59 -61 -61 -59 -58 -58 -58 -59 -60 -59 -57 -56 -55 -55 -56 -57 -56 -55 -56 -60 -64 -69 -74 -80 -84 -87 -89 -90 -91 -92 -93 -93 -93 -93 -91 -93 -94 -96 -98 -99 -99 -99 -99 -97 -95 -93 -91 -90 -89 -89 -87 -85 -83 -82 -81 -79 -76 -73 -70 -68 -67 -66 -66 -67 -68 -72 -73 -76 -79 -81 -81 -81 -79 -76 -72 -66 -61 -59 -59 -61 -63 -64 -62 -57 -58 -62 -64 -62 -58 -57 -58 -59 -60 -59 -58 -57 -57 -58 -58 -58 -58 -58 -57 -56 -55 -53 -46 -39 -40 -47 -49 -48 -47 -47 -46 -45 -45 -45 -45 -44 -42 -42 -42 -42 -42 -42 -42 -42 -41 -40 -37 -34 -33 -33 -33 -33 -33 -33 -28 -27 -29 -25 -13 -9 -7 -6 -7 -13 -24 -25 -17 -18 -17 -16 -18 -20 -21 -23 -26 -29 -32 -34 -34 -34 -32 -29 -29 -30 -33 -34 -32 -28 -25 -22 -22 -22 -23 -24 -27 -28 -28 -27 -26 -26 -27 -28 -29 -30 -33 -30 -23 -17 -15 -16 -19 -19 -18 -16 -13 -13 -13 -14 -15 -16 -18 -18 -18 -19 -20 -21 -22 -21 -21 -21 -22 -22 -22 -22 -23 -24 -25 -25 -25 -24 -25 -27 -30 -33 -37 -38 -36 -34 -31 -30 -31 -32 -35 -38 -40 -40 -40 -40 -41 -41 -40 -36 -34 -33 -35 -40 -44 -46 -45 -43 -42 -41 -41 -41 -41 -41 -41 -40 -40 -38 -37 -39 -41 -44 -44 -43 -42 -42 -43 -43 -42 -41 -42 -46 -49 -50 -50 -50 -50 -48 -46 -45 -45 -47 -51 -53 -51 -46 -41 -36 -33 -31 -31 -30 -30 -32 -35 -38 -41 -43 -42 -41 -40 -39 -40 -43 -48 -52 -54 -50 -47 -48 -51 -55 -54 -52 -51 -51 -53 -55 -57 -60 -61 -61 -59 -59 -61 -64 -66 -66 -66 -66 -67 -67 -66 -64 -62 -61 -62 -63 -61 -56 -49 -43 -45 -48 -49 -47 -44 -43 -44 -45 -47 -50 -52 -53 -53 -53 -52 -51 -51 -52 -57 -62 -64 -63 -61 -59 -60 -61 -63 -65 -67 -68 -68 -68 -69 -71 -74 -76 -76 -73 -69 -67 -67 -70 -75 -81 -83 -83 -82 -80 -75 -70 -68 -67 -67 -69 -71 -72 -71 -68 -64 -56 -48 -47 -50 -56 -60 -59 -57 -57 -59 -59 -60 -62 -64 -62 -59 -57 -56 -56 -56 -57 -57 -58 -62 -68 -74 -76 -78 -82 -87 -91 -94 -96 -98 -99 -98 -98 -97 -97 -96 -96 -97 -99 -101 -102 -101 -101 -100 -98 -96 -94 -93 -92 -91 -90 -87 -85 -82 -81 -81 -79 -76 -72 -68 -66 -65 -65 -66 -67 -69 -69 -69 -70 -77 -80 -81 -80 -77 -73 -69 -64 -60 -59 -59 -61 -64 -66 -66 -64 -63 -64 -64 -63 -60 -60 -60 -61 -61 -59 -58 -58 -58 -58 -58 -59 -59 -58 -57 -57 -56 -54 -49 -44 -45 -48 -49 -49 -48 -47 -46 -45 -45 -45 -45 -45 -44 -44 -44 -44 -43 -43 -43 -42 -42 -40 -37 -35 -35 -35 -34 -34 -33 -30 -21 -20 -23 -22 -14 -11 -9 -7 -7 -11 -23 -25 -18 -19 -19 -19 -21 -22 -24 -26 -29 -31 -33 -34 -33 -31 -28 -28 -30 -33 -33 -32 -28 -25 -21 -18 -17 -18 -20 -23 -28 -31 -32 -31 -30 -29 -29 -29 -30 -32 -32 -28 -19 -13 -12 -17 -20 -18 -15 -11 -10 -11 -12 -13 -12 -11 -12 -12 -14 -17 -21 -24 -25 -25 -24 -24 -23 -22 -22 -21 -22 -24 -25 -25 -24 -25 -27 -29 -32 -35 -36 -35 -34 -32 -31 -31 -32 -34 -36 -38 -40 -40 -39 -40 -40 -41 -40 -38 -36 -35 -35 -38 -41 -44 -45 -44 -42 -42 -42 -42 -41 -40 -40 -39 -38 -35 -35 -38 -41 -43 -44 -43 -42 -42 -43 -42 -41 -42 -44 -48 -50 -50 -50 -49 -48 -45 -43 -42 -42 -43 -50 -53 -50 -44 -38 -35 -33 -32 -32 -31 -30 -31 -34 -37 -41 -42 -41 -40 -39 -40 -41 -43 -45 -47 -47 -46 -45 -47 -50 -55 -54 -51 -49 -50 -51 -53 -56 -58 -59 -59 -58 -58 -60 -63 -65 -65 -65 -65 -66 -67 -66 -65 -63 -62 -63 -64 -61 -55 -47 -43 -42 -42 -42 -43 -43 -42 -43 -44 -47 -51 -52 -54 -54 -54 -51 -49 -50 -52 -55 -60 -62 -62 -61 -59 -60 -61 -62 -64 -67 -69 -69 -70 -70 -71 -73 -76 -77 -78 -77 -74 -73 -73 -78 -84 -89 -90 -86 -79 -70 -66 -67 -68 -69 -70 -72 -74 -75 -75 -71 -62 -53 -50 -52 -58 -60 -59 -58 -59 -62 -65 -67 -69 -70 -68 -62 -59 -57 -58 -59 -59 -61 -65 -71 -77 -81 -82 -82 -84 -88 -93 -97 -100 -102 -102 -102 -102 -102 -102 -103 -103 -103 -103 -104 -104 -104 -102 -101 -99 -97 -95 -94 -94 -92 -90 -87 -85 -82 -81 -79 -78 -76 -72 -67 -65 -65 -66 -67 -68 -69 -68 -68 -70 -76 -79 -80 -79 -76 -70 -65 -62 -60 -59 -59 -61 -64 -67 -68 -67 -66 -65 -65 -64 -62 -62 -64 -64 -62 -60 -59 -58 -58 -58 -58 -58 -58 -58 -58 -58 -57 -56 -54 -51 -51 -51 -51 -50 -49 -48 -47 -46 -46 -46 -45 -45 -45 -45 -44 -44 -44 -44 -44 -43 -42 -41 -38 -37 -37 -36 -36 -35 -33 -26 -21 -19 -19 -18 -15 -12 -10 -8 -7 -9 -19 -24 -19 -21 -22 -22 -23 -25 -27 -30 -33 -35 -35 -34 -32 -28 -26 -28 -30 -32 -32 -30 -29 -25 -21 -16 -14 -16 -19 -24 -29 -31 -30 -29 -29 -29 -26 -23 -24 -28 -29 -20 -11 -7 -9 -15 -14 -11 -9 -8 -9 -11 -13 -13 -12 -12 -13 -14 -16 -19 -23 -25 -25 -24 -24 -24 -22 -21 -21 -21 -23 -24 -24 -24 -24 -26 -28 -30 -32 -34 -34 -32 -32 -32 -33 -34 -35 -36 -36 -37 -39 -40 -39 -39 -39 -39 -39 -38 -38 -38 -37 -37 -39 -41 -43 -42 -41 -41 -42 -42 -41 -39 -38 -38 -35 -32 -34 -38 -42 -43 -42 -41 -41 -42 -43 -42 -43 -45 -48 -50 -50 -49 -48 -47 -46 -44 -42 -39 -38 -40 -48 -51 -49 -43 -36 -34 -33 -32 -32 -31 -30 -29 -32 -35 -39 -41 -40 -39 -39 -40 -42 -43 -43 -44 -46 -46 -46 -46 -47 -49 -49 -49 -48 -48 -50 -51 -53 -55 -57 -58 -58 -58 -59 -61 -64 -65 -64 -63 -64 -66 -65 -65 -64 -63 -63 -63 -59 -53 -46 -43 -41 -40 -40 -42 -43 -43 -42 -44 -48 -51 -52 -53 -52 -51 -50 -50 -51 -52 -53 -56 -58 -59 -59 -59 -60 -62 -63 -64 -66 -68 -70 -71 -71 -71 -73 -75 -77 -79 -81 -82 -82 -81 -81 -84 -89 -91 -87 -80 -70 -67 -68 -69 -70 -70 -68 -68 -72 -76 -76 -67 -58 -53 -55 -59 -59 -59 -61 -64 -67 -71 -73 -74 -74 -72 -68 -64 -61 -61 -63 -66 -71 -77 -82 -84 -86 -87 -87 -87 -91 -95 -98 -102 -104 -104 -103 -105 -108 -111 -111 -110 -109 -108 -107 -107 -105 -103 -101 -99 -98 -96 -95 -94 -93 -90 -88 -85 -83 -80 -79 -79 -78 -75 -68 -65 -65 -67 -70 -70 -69 -71 -73 -75 -76 -78 -79 -78 -75 -68 -63 -61 -60 -60 -60 -61 -63 -66 -68 -67 -66 -66 -65 -64 -63 -63 -65 -66 -64 -62 -61 -59 -58 -58 -58 -58 -58 -58 -58 -59 -58 -57 -56 -54 -54 -53 -51 -50 -49 -48 -48 -47 -46 -46 -46 -46 -46 -46 -44 -44 -45 -45 -45 -44 -43 -42 -40 -39 -38 -37 -37 -36 -34 -27 -23 -21 -20 -19 -16 -14 -12 -10 -8 -8 -13 -19 -22 -23 -25 -26 -27 -28 -30 -33 -35 -35 -34 -32 -29 -25 -25 -28 -30 -30 -29 -30 -30 -26 -20 -14 -14 -19 -24 -26 -27 -24 -22 -21 -23 -24 -19 -16 -18 -21 -21 -12 -4 -2 -5 -8 -5 -4 -6 -8 -10 -11 -13 -14 -14 -15 -17 -19 -20 -21 -22 -22 -21 -21 -21 -20 -18 -18 -19 -20 -22 -23 -22 -22 -23 -26 -29 -31 -32 -32 -31 -30 -31 -34 -36 -37 -37 -37 -37 -37 -38 -39 -39 -39 -39 -38 -38 -39 -40 -41 -40 -38 -37 -38 -39 -39 -39 -39 -39 -39 -38 -37 -37 -37 -35 -32 -34 -38 -42 -43 -40 -39 -39 -41 -43 -45 -47 -50 -51 -50 -48 -47 -46 -46 -45 -43 -40 -37 -36 -39 -46 -50 -49 -43 -36 -33 -33 -33 -32 -31 -30 -30 -31 -34 -37 -39 -39 -39 -39 -40 -41 -42 -43 -43 -44 -45 -46 -46 -46 -47 -48 -48 -49 -49 -50 -51 -52 -54 -55 -57 -58 -58 -58 -59 -62 -63 -62 -62 -62 -63 -64 -65 -65 -64 -63 -61 -56 -50 -46 -44 -42 -41 -41 -42 -43 -43 -42 -44 -47 -49 -50 -49 -48 -48 -48 -49 -51 -53 -54 -55 -56 -56 -57 -58 -60 -62 -63 -64 -66 -67 -69 -70 -71 -71 -71 -72 -75 -79 -83 -86 -87 -86 -85 -85 -87 -88 -85 -78 -71 -70 -70 -71 -70 -65 -59 -60 -65 -72 -74 -68 -61 -58 -59 -60 -59 -60 -62 -65 -68 -72 -75 -75 -74 -73 -72 -70 -67 -65 -67 -72 -78 -84 -88 -89 -90 -90 -91 -92 -94 -98 -101 -104 -107 -107 -107 -110 -113 -116 -115 -113 -111 -110 -110 -108 -106 -104 -101 -99 -97 -96 -95 -94 -92 -90 -88 -86 -83 -80 -79 -79 -78 -76 -70 -67 -67 -68 -70 -70 -69 -74 -79 -79 -77 -77 -78 -77 -73 -66 -63 -62 -61 -60 -60 -60 -62 -65 -66 -65 -66 -67 -67 -65 -64 -63 -64 -65 -66 -65 -63 -61 -60 -59 -60 -60 -59 -59 -59 -59 -59 -58 -56 -55 -54 -53 -52 -51 -50 -49 -49 -48 -46 -46 -45 -45 -45 -44 -44 -44 -45 -46 -45 -44 -43 -43 -43 -41 -39 -38 -38 -37 -36 -32 -28 -24 -23 -24 -19 -16 -13 -11 -9 -8 -8 -11 -23 -26 -29 -30 -31 -32 -33 -35 -36 -36 -34 -32 -29 -27 -27 -29 -29 -28 -27 -29 -29 -26 -20 -14 -18 -25 -28 -28 -24 -18 -16 -17 -19 -19 -14 -13 -14 -15 -12 -4 -1 -1 -4 -5 -3 -4 -7 -10 -10 -11 -13 -15 -16 -18 -20 -22 -22 -21 -20 -20 -19 -19 -18 -15 -13 -14 -17 -19 -20 -20 -20 -22 -24 -26 -29 -31 -31 -31 -29 -31 -34 -37 -39 -39 -38 -37 -37 -37 -37 -38 -39 -39 -38 -38 -38 -40 -41 -42 -41 -39 -36 -36 -36 -37 -38 -37 -36 -34 -32 -33 -35 -35 -35 -34 -35 -37 -40 -42 -40 -38 -38 -40 -42 -46 -51 -53 -51 -47 -46 -46 -46 -46 -44 -39 -36 -36 -37 -40 -46 -50 -49 -44 -36 -33 -32 -32 -32 -32 -31 -31 -32 -34 -36 -37 -38 -39 -39 -39 -40 -42 -43 -43 -43 -44 -44 -45 -45 -46 -47 -48 -49 -50 -50 -51 -52 -54 -56 -58 -59 -59 -57 -56 -58 -61 -63 -63 -61 -61 -63 -65 -65 -65 -64 -60 -54 -49 -46 -46 -45 -44 -43 -43 -43 -43 -43 -44 -46 -48 -48 -48 -49 -48 -47 -48 -51 -53 -55 -55 -55 -55 -56 -58 -60 -62 -63 -64 -66 -67 -68 -69 -70 -71 -71 -72 -75 -79 -82 -85 -87 -87 -86 -84 -84 -83 -78 -73 -70 -70 -71 -71 -71 -68 -62 -59 -60 -64 -68 -65 -62 -63 -65 -62 -60 -61 -62 -64 -68 -72 -74 -74 -73 -74 -74 -74 -74 -73 -74 -78 -83 -88 -91 -90 -90 -92 -94 -97 -100 -102 -104 -107 -109 -110 -112 -115 -118 -119 -118 -115 -113 -111 -109 -108 -106 -104 -101 -99 -97 -96 -94 -93 -92 -90 -88 -85 -83 -80 -79 -79 -77 -75 -71 -70 -69 -70 -72 -73 -73 -77 -81 -80 -78 -78 -78 -77 -73 -67 -64 -64 -63 -62 -61 -61 -61 -61 -63 -65 -67 -69 -68 -66 -65 -64 -64 -65 -66 -65 -64 -62 -61 -61 -61 -61 -61 -60 -61 -60 -60 -58 -57 -55 -54 -53 -52 -51 -50 -50 -49 -47 -46 -44 -43 -43 -43 -43 -43 -44 -46 -47 -47 -46 -44 -43 -42 -41 -41 -40 -39 -39 -38 -36 -33 -29 -27 -28 -22 -18 -15 -13 -11 -10 -9 -8 -26 -29 -31 -33 -34 -36 -37 -37 -38 -37 -35 -32 -30 -29 -29 -29 -29 -28 -27 -29 -28 -24 -18 -15 -21 -28 -30 -27 -22 -17 -17 -19 -21 -20 -15 -14 -13 -10 -4 1 -0 -5 -11 -12 -9 -8 -9 -10 -10 -13 -15 -16 -17 -18 -20 -20 -20 -18 -16 -16 -16 -16 -14 -11 -11 -14 -17 -19 -18 -18 -20 -22 -25 -26 -28 -30 -30 -31 -32 -35 -38 -39 -40 -40 -38 -37 -36 -37 -37 -38 -38 -37 -38 -38 -38 -38 -38 -38 -38 -38 -36 -35 -35 -36 -37 -36 -35 -33 -31 -30 -30 -32 -34 -36 -38 -39 -40 -40 -40 -38 -37 -38 -40 -47 -52 -53 -50 -45 -45 -47 -48 -46 -41 -35 -35 -37 -40 -43 -48 -52 -51 -47 -38 -34 -33 -32 -32 -32 -32 -32 -33 -34 -35 -35 -37 -38 -39 -38 -39 -41 -43 -44 -44 -43 -43 -43 -44 -44 -46 -48 -49 -50 -50 -51 -52 -55 -57 -58 -58 -58 -57 -57 -58 -60 -61 -60 -60 -61 -63 -64 -65 -66 -64 -58 -52 -47 -46 -47 -47 -46 -44 -43 -44 -44 -44 -45 -46 -47 -48 -49 -49 -49 -48 -48 -49 -51 -53 -54 -55 -56 -56 -57 -59 -61 -63 -64 -65 -65 -65 -66 -69 -73 -75 -76 -77 -78 -79 -81 -82 -83 -84 -84 -83 -80 -75 -69 -66 -68 -69 -70 -72 -71 -70 -69 -69 -68 -67 -64 -62 -63 -65 -62 -60 -61 -63 -65 -68 -71 -72 -72 -73 -73 -74 -76 -78 -79 -80 -81 -83 -87 -91 -92 -92 -93 -95 -101 -105 -106 -107 -108 -109 -113 -116 -118 -120 -120 -119 -116 -113 -109 -106 -105 -105 -103 -101 -99 -97 -95 -94 -92 -91 -90 -88 -85 -83 -81 -79 -78 -77 -75 -74 -73 -72 -72 -74 -77 -80 -82 -82 -80 -78 -79 -79 -78 -75 -70 -68 -66 -66 -66 -65 -64 -63 -63 -65 -68 -71 -72 -70 -66 -65 -65 -64 -65 -66 -65 -64 -63 -63 -64 -64 -64 -64 -63 -63 -62 -61 -60 -57 -55 -54 -54 -53 -53 -52 -51 -50 -47 -46 -42 -42 -43 -43 -43 -44 -45 -48 -50 -52 -51 -48 -44 -40 -36 -39 -40 -41 -40 -39 -38 -36 -34 -32 -32 -27 -22 -17 -14 -13 -12 -11 -10 -28 -31 -33 -35 -37 -39 -39 -38 -38 -36 -34 -33 -31 -30 -30 -30 -29 -29 -30 -31 -27 -22 -17 -15 -20 -26 -28 -25 -21 -18 -19 -21 -22 -20 -17 -16 -13 -8 -1 1 -3 -10 -16 -18 -15 -13 -13 -14 -15 -18 -18 -19 -18 -18 -16 -13 -12 -11 -10 -11 -12 -12 -11 -13 -15 -18 -19 -19 -17 -17 -19 -22 -25 -27 -29 -30 -32 -34 -37 -40 -42 -42 -41 -40 -39 -38 -37 -37 -37 -37 -37 -37 -37 -39 -38 -36 -34 -34 -37 -38 -37 -36 -36 -38 -39 -37 -35 -33 -31 -29 -28 -29 -32 -36 -41 -45 -45 -43 -40 -38 -36 -36 -39 -46 -51 -51 -49 -47 -49 -51 -50 -46 -40 -37 -37 -39 -42 -46 -51 -55 -55 -50 -41 -36 -34 -33 -33 -32 -32 -33 -34 -34 -35 -36 -37 -38 -38 -37 -38 -41 -43 -45 -45 -44 -43 -43 -43 -44 -45 -47 -48 -50 -51 -51 -52 -54 -55 -57 -57 -56 -56 -57 -60 -61 -60 -59 -60 -61 -62 -63 -64 -65 -62 -56 -50 -47 -46 -47 -48 -47 -45 -44 -44 -44 -44 -45 -46 -46 -47 -48 -50 -50 -50 -50 -50 -51 -53 -54 -56 -57 -57 -57 -58 -60 -61 -63 -64 -64 -64 -65 -68 -72 -76 -77 -77 -76 -76 -76 -76 -78 -80 -81 -81 -78 -73 -68 -66 -68 -70 -71 -72 -71 -71 -71 -72 -71 -69 -67 -65 -65 -65 -62 -61 -61 -64 -67 -69 -69 -69 -70 -72 -74 -75 -77 -80 -82 -83 -83 -84 -87 -90 -93 -95 -98 -100 -103 -106 -108 -108 -109 -110 -114 -117 -118 -118 -118 -118 -116 -113 -109 -105 -104 -103 -102 -100 -99 -97 -95 -94 -92 -91 -90 -89 -86 -84 -81 -79 -78 -78 -77 -77 -76 -75 -76 -78 -79 -81 -82 -83 -81 -80 -80 -80 -80 -78 -75 -72 -69 -69 -69 -68 -67 -67 -67 -68 -70 -72 -72 -70 -67 -66 -66 -65 -65 -66 -66 -65 -64 -65 -67 -66 -66 -65 -64 -64 -64 -63 -62 -59 -56 -55 -55 -55 -54 -53 -52 -50 -47 -47 -45 -47 -48 -49 -48 -48 -49 -51 -53 -55 -55 -52 -48 -42 -37 -34 -35 -38 -41 -39 -36 -35 -36 -35 -33 -31 -27 -22 -17 -15 -14 -13 -12 -28 -31 -34 -37 -39 -40 -39 -38 -36 -34 -32 -32 -32 -31 -31 -31 -30 -30 -32 -33 -28 -22 -17 -16 -20 -22 -22 -18 -14 -12 -15 -18 -19 -17 -14 -14 -14 -11 -5 -3 -9 -16 -19 -18 -17 -18 -18 -19 -19 -20 -20 -19 -16 -12 -8 -5 -4 -5 -6 -10 -11 -13 -14 -17 -19 -19 -19 -18 -15 -16 -19 -23 -26 -28 -30 -32 -33 -35 -38 -41 -43 -43 -42 -40 -40 -39 -39 -38 -36 -36 -37 -37 -39 -42 -41 -36 -31 -32 -38 -39 -38 -37 -38 -41 -41 -38 -35 -33 -31 -29 -29 -29 -31 -36 -41 -45 -46 -44 -41 -37 -35 -35 -37 -43 -47 -48 -48 -48 -50 -50 -48 -44 -40 -41 -42 -43 -42 -44 -47 -50 -50 -47 -42 -39 -37 -36 -34 -33 -32 -31 -32 -34 -35 -36 -37 -37 -37 -36 -37 -41 -45 -48 -49 -47 -44 -42 -42 -42 -43 -45 -47 -49 -51 -51 -52 -53 -54 -55 -55 -54 -54 -57 -60 -62 -61 -60 -61 -62 -62 -62 -63 -63 -60 -55 -50 -46 -45 -45 -45 -45 -45 -45 -46 -45 -44 -44 -44 -45 -46 -48 -49 -50 -51 -50 -50 -50 -52 -54 -56 -58 -58 -57 -57 -58 -60 -61 -63 -64 -64 -64 -67 -71 -75 -76 -75 -73 -71 -71 -71 -72 -74 -76 -76 -75 -72 -68 -69 -71 -73 -74 -73 -71 -70 -70 -71 -72 -73 -73 -70 -65 -62 -62 -62 -64 -67 -69 -70 -68 -68 -69 -72 -74 -76 -77 -80 -83 -85 -85 -86 -88 -90 -93 -97 -101 -105 -107 -109 -110 -110 -110 -111 -113 -115 -117 -117 -116 -115 -114 -113 -110 -106 -103 -101 -100 -100 -99 -98 -97 -96 -95 -93 -91 -89 -87 -85 -82 -80 -79 -79 -80 -80 -79 -79 -79 -81 -81 -81 -82 -82 -82 -82 -82 -81 -81 -80 -78 -75 -73 -72 -72 -70 -69 -69 -69 -69 -70 -71 -71 -70 -69 -68 -66 -65 -65 -67 -67 -67 -67 -68 -68 -67 -66 -65 -65 -64 -64 -63 -62 -60 -58 -57 -56 -56 -56 -55 -52 -49 -47 -49 -49 -50 -51 -50 -50 -50 -52 -53 -54 -56 -55 -53 -50 -46 -40 -35 -32 -33 -37 -38 -33 -30 -33 -33 -32 -32 -31 -28 -23 -19 -16 -15 -14 -28 -31 -34 -36 -38 -38 -38 -36 -34 -32 -31 -31 -31 -32 -31 -30 -29 -31 -34 -35 -29 -22 -17 -17 -21 -23 -20 -15 -11 -9 -11 -13 -15 -16 -14 -12 -12 -11 -8 -8 -11 -14 -16 -16 -18 -19 -20 -19 -18 -19 -19 -17 -13 -7 -3 -1 -2 -4 -8 -11 -14 -15 -17 -20 -20 -20 -18 -15 -14 -17 -21 -25 -27 -30 -32 -34 -35 -36 -38 -40 -42 -43 -42 -42 -42 -42 -41 -40 -37 -38 -38 -40 -42 -46 -45 -39 -32 -30 -36 -38 -38 -39 -42 -44 -42 -38 -34 -33 -33 -31 -30 -31 -33 -37 -41 -45 -46 -45 -42 -40 -39 -38 -39 -41 -42 -43 -45 -49 -51 -49 -45 -42 -42 -45 -46 -44 -41 -39 -43 -47 -49 -48 -45 -44 -41 -37 -33 -31 -29 -29 -30 -32 -34 -34 -35 -36 -36 -35 -37 -41 -47 -52 -53 -50 -46 -42 -40 -40 -41 -43 -45 -48 -51 -52 -52 -53 -54 -54 -54 -53 -54 -56 -59 -60 -61 -61 -63 -63 -62 -62 -61 -61 -58 -54 -49 -46 -45 -45 -45 -45 -45 -46 -48 -48 -46 -44 -44 -45 -46 -47 -48 -50 -50 -48 -47 -47 -50 -52 -55 -57 -57 -56 -56 -57 -59 -61 -63 -63 -63 -64 -65 -69 -72 -75 -75 -73 -70 -69 -69 -69 -70 -70 -71 -71 -70 -69 -71 -73 -76 -76 -75 -72 -70 -69 -71 -72 -75 -75 -71 -65 -61 -62 -64 -66 -70 -72 -70 -68 -67 -68 -71 -72 -74 -76 -80 -84 -86 -87 -88 -90 -92 -96 -100 -103 -104 -105 -107 -107 -105 -104 -105 -108 -111 -114 -115 -114 -112 -111 -110 -110 -107 -103 -100 -99 -99 -99 -100 -100 -100 -98 -95 -92 -89 -87 -85 -83 -81 -81 -81 -82 -82 -82 -82 -82 -84 -83 -83 -83 -83 -83 -84 -83 -82 -81 -80 -79 -78 -76 -76 -74 -72 -72 -72 -72 -70 -69 -70 -71 -72 -71 -70 -68 -67 -67 -68 -68 -68 -69 -70 -69 -68 -67 -67 -66 -66 -65 -64 -63 -61 -59 -58 -57 -58 -58 -56 -53 -48 -48 -50 -51 -51 -51 -50 -50 -51 -52 -53 -54 -55 -53 -51 -49 -46 -43 -38 -34 -31 -32 -34 -31 -27 -27 -27 -28 -31 -33 -33 -29 -24 -21 -19 -17 -29 -31 -33 -33 -33 -33 -34 -33 -32 -31 -31 -32 -32 -32 -31 -29 -29 -31 -33 -32 -26 -21 -18 -20 -25 -25 -22 -18 -13 -10 -11 -13 -14 -15 -14 -13 -12 -11 -10 -10 -12 -14 -15 -14 -14 -15 -15 -15 -15 -17 -19 -18 -14 -8 -3 -1 -3 -6 -10 -13 -15 -16 -18 -21 -20 -18 -16 -14 -15 -19 -23 -27 -29 -31 -33 -34 -36 -36 -38 -40 -42 -42 -42 -43 -44 -44 -43 -41 -40 -40 -41 -43 -45 -48 -47 -41 -35 -30 -34 -37 -39 -41 -44 -46 -42 -38 -35 -35 -36 -34 -33 -34 -37 -39 -42 -45 -47 -47 -45 -44 -44 -45 -44 -43 -42 -41 -43 -46 -47 -46 -43 -43 -45 -48 -48 -46 -44 -43 -43 -45 -47 -46 -45 -44 -40 -35 -32 -30 -29 -29 -29 -30 -31 -33 -34 -34 -34 -36 -39 -43 -47 -52 -54 -52 -48 -43 -41 -41 -41 -42 -44 -48 -52 -53 -53 -53 -53 -53 -52 -53 -54 -56 -56 -58 -59 -61 -64 -63 -62 -62 -61 -60 -56 -53 -49 -46 -45 -45 -45 -45 -45 -46 -48 -49 -47 -45 -44 -45 -45 -45 -45 -45 -46 -46 -46 -46 -47 -50 -52 -54 -55 -55 -55 -57 -59 -61 -63 -63 -63 -63 -64 -67 -71 -73 -74 -73 -71 -69 -67 -66 -67 -68 -70 -71 -72 -71 -70 -73 -75 -77 -76 -73 -70 -70 -71 -73 -75 -75 -73 -67 -62 -62 -65 -68 -72 -73 -71 -69 -69 -71 -74 -75 -76 -78 -81 -85 -87 -89 -90 -94 -97 -100 -103 -103 -101 -101 -104 -105 -104 -103 -104 -106 -109 -112 -113 -111 -108 -107 -107 -107 -106 -103 -101 -99 -99 -99 -101 -102 -103 -101 -97 -92 -89 -86 -85 -84 -84 -83 -83 -83 -84 -84 -84 -84 -85 -85 -85 -85 -85 -85 -85 -84 -82 -81 -80 -79 -78 -78 -77 -76 -75 -74 -74 -73 -71 -70 -71 -72 -73 -74 -72 -70 -68 -69 -68 -68 -68 -70 -72 -71 -70 -69 -68 -68 -67 -67 -66 -65 -61 -56 -53 -54 -59 -59 -58 -54 -49 -48 -50 -51 -51 -50 -50 -50 -51 -52 -54 -54 -54 -52 -49 -46 -44 -43 -40 -37 -33 -31 -31 -29 -28 -28 -29 -31 -33 -34 -36 -34 -30 -27 -25 -21 -31 -32 -31 -30 -29 -29 -30 -31 -31 -31 -32 -33 -33 -32 -30 -27 -27 -27 -28 -27 -23 -21 -20 -21 -24 -26 -25 -22 -19 -15 -15 -16 -16 -15 -15 -17 -16 -14 -12 -12 -14 -16 -16 -13 -11 -11 -10 -11 -13 -18 -20 -20 -17 -13 -8 -6 -6 -8 -10 -13 -14 -16 -18 -20 -18 -16 -14 -14 -17 -21 -25 -28 -30 -32 -34 -35 -37 -37 -38 -40 -41 -42 -43 -44 -45 -45 -44 -42 -41 -41 -42 -43 -45 -47 -46 -42 -36 -32 -34 -38 -41 -42 -45 -45 -42 -40 -39 -39 -40 -39 -38 -39 -41 -42 -44 -47 -49 -50 -48 -46 -46 -48 -49 -48 -46 -43 -41 -41 -41 -41 -42 -45 -47 -48 -46 -44 -44 -45 -45 -46 -46 -46 -45 -43 -39 -34 -31 -29 -30 -30 -30 -30 -32 -33 -34 -35 -37 -40 -44 -46 -48 -51 -54 -52 -48 -45 -43 -42 -42 -42 -43 -47 -49 -51 -52 -53 -52 -49 -49 -52 -54 -55 -55 -56 -57 -60 -63 -63 -62 -61 -60 -58 -56 -54 -51 -47 -45 -45 -45 -45 -44 -46 -48 -49 -48 -45 -45 -45 -46 -45 -44 -45 -47 -48 -49 -49 -50 -51 -52 -53 -54 -55 -55 -57 -59 -61 -63 -63 -63 -63 -64 -67 -70 -72 -73 -73 -72 -70 -68 -66 -67 -68 -69 -71 -73 -72 -72 -73 -75 -76 -75 -71 -70 -71 -74 -75 -75 -76 -76 -72 -67 -66 -67 -70 -74 -74 -72 -71 -71 -73 -76 -77 -79 -81 -84 -87 -88 -89 -92 -98 -102 -105 -106 -104 -99 -97 -100 -104 -106 -107 -109 -110 -110 -110 -109 -107 -105 -104 -105 -106 -106 -104 -102 -100 -99 -100 -101 -103 -105 -103 -99 -93 -88 -86 -86 -86 -85 -83 -83 -85 -85 -85 -85 -86 -88 -88 -88 -88 -87 -86 -85 -84 -83 -82 -81 -79 -77 -76 -76 -76 -77 -77 -76 -73 -72 -72 -73 -73 -74 -74 -73 -71 -69 -71 -72 -71 -70 -72 -74 -74 -72 -71 -70 -69 -68 -68 -67 -66 -62 -52 -45 -45 -52 -55 -58 -56 -49 -47 -48 -49 -50 -50 -50 -50 -52 -53 -54 -54 -53 -50 -47 -43 -42 -41 -40 -38 -35 -32 -31 -30 -30 -31 -34 -37 -39 -38 -37 -36 -34 -32 -30 -27 -33 -32 -30 -28 -27 -27 -28 -29 -30 -32 -33 -34 -33 -31 -28 -27 -26 -26 -25 -22 -22 -23 -24 -24 -24 -27 -28 -27 -24 -21 -21 -21 -21 -19 -19 -20 -21 -20 -18 -17 -17 -18 -17 -15 -11 -9 -8 -10 -13 -20 -22 -22 -21 -19 -16 -13 -11 -10 -10 -11 -13 -14 -16 -17 -17 -16 -16 -17 -19 -22 -25 -27 -30 -33 -36 -38 -39 -39 -40 -42 -42 -43 -44 -45 -46 -47 -46 -43 -41 -41 -40 -41 -42 -44 -45 -41 -36 -33 -35 -40 -42 -42 -43 -44 -43 -43 -44 -44 -43 -42 -42 -42 -43 -43 -45 -48 -50 -51 -49 -46 -45 -46 -49 -52 -51 -47 -41 -38 -37 -39 -42 -45 -47 -46 -43 -41 -42 -43 -44 -44 -45 -46 -45 -43 -40 -36 -32 -31 -31 -31 -31 -31 -32 -34 -36 -38 -41 -44 -46 -47 -49 -51 -52 -52 -51 -49 -47 -44 -42 -41 -42 -44 -45 -47 -49 -50 -48 -46 -47 -50 -52 -53 -53 -54 -56 -59 -62 -63 -62 -60 -57 -56 -56 -56 -54 -50 -46 -45 -44 -44 -44 -46 -48 -48 -47 -45 -44 -44 -45 -45 -45 -46 -47 -49 -50 -50 -50 -51 -52 -52 -53 -54 -56 -58 -60 -61 -62 -62 -62 -62 -63 -67 -70 -72 -73 -73 -72 -72 -70 -68 -67 -67 -68 -70 -72 -71 -72 -73 -75 -77 -75 -71 -72 -75 -80 -78 -77 -77 -77 -75 -72 -70 -71 -73 -75 -74 -74 -73 -74 -75 -77 -79 -81 -84 -85 -86 -88 -90 -94 -100 -105 -108 -109 -107 -100 -96 -98 -103 -109 -113 -117 -116 -113 -107 -104 -103 -103 -103 -104 -105 -105 -104 -103 -100 -100 -100 -102 -104 -105 -104 -100 -93 -87 -85 -87 -87 -86 -83 -84 -86 -87 -87 -87 -87 -91 -92 -92 -90 -89 -88 -87 -86 -84 -84 -83 -81 -78 -76 -76 -77 -77 -77 -76 -74 -73 -73 -74 -74 -75 -75 -74 -73 -72 -73 -74 -73 -73 -73 -74 -75 -74 -73 -71 -70 -69 -69 -68 -67 -62 -52 -41 -39 -42 -45 -49 -53 -50 -46 -45 -47 -48 -49 -49 -50 -52 -54 -54 -53 -51 -49 -45 -42 -40 -39 -39 -37 -35 -34 -34 -35 -35 -36 -39 -40 -41 -40 -39 -37 -36 -34 -33 -31 -35 -32 -29 -27 -26 -25 -25 -26 -28 -32 -33 -33 -31 -29 -27 -27 -27 -26 -25 -23 -23 -25 -27 -27 -27 -28 -28 -27 -26 -24 -23 -24 -24 -24 -23 -24 -24 -24 -23 -22 -21 -20 -19 -18 -14 -12 -10 -11 -15 -21 -23 -23 -23 -23 -22 -20 -17 -13 -11 -9 -9 -11 -13 -16 -18 -20 -22 -22 -23 -24 -25 -27 -30 -34 -37 -40 -41 -41 -43 -45 -46 -46 -46 -46 -46 -47 -45 -42 -39 -38 -40 -41 -41 -42 -43 -42 -38 -33 -35 -39 -41 -42 -42 -43 -45 -47 -48 -47 -45 -45 -45 -44 -44 -45 -45 -47 -49 -50 -51 -49 -47 -45 -47 -51 -51 -48 -43 -39 -39 -41 -44 -46 -46 -45 -43 -42 -40 -40 -39 -40 -42 -44 -44 -45 -43 -40 -36 -33 -33 -33 -33 -33 -34 -34 -37 -40 -44 -45 -47 -48 -50 -51 -51 -52 -52 -51 -48 -45 -43 -42 -41 -41 -43 -46 -49 -49 -46 -44 -46 -49 -51 -52 -52 -53 -55 -57 -61 -62 -61 -59 -56 -54 -54 -55 -54 -50 -47 -45 -43 -43 -43 -45 -47 -47 -46 -45 -44 -44 -45 -46 -48 -48 -48 -48 -49 -49 -49 -49 -50 -52 -53 -54 -55 -56 -59 -60 -60 -61 -61 -61 -62 -65 -69 -73 -74 -74 -73 -73 -72 -71 -68 -67 -68 -69 -71 -71 -72 -74 -76 -78 -77 -75 -75 -78 -83 -81 -77 -76 -75 -74 -72 -73 -75 -77 -77 -75 -75 -75 -75 -76 -78 -80 -84 -87 -88 -89 -90 -92 -96 -101 -106 -109 -110 -108 -103 -99 -99 -104 -111 -117 -119 -116 -110 -101 -97 -99 -102 -103 -104 -105 -105 -105 -103 -101 -100 -100 -102 -103 -104 -103 -99 -92 -86 -84 -86 -87 -86 -85 -85 -87 -90 -92 -90 -90 -93 -95 -94 -92 -91 -91 -90 -88 -86 -85 -84 -82 -80 -78 -78 -77 -76 -75 -75 -75 -74 -73 -74 -75 -76 -77 -77 -76 -74 -74 -74 -75 -75 -74 -75 -75 -75 -74 -73 -72 -70 -69 -68 -67 -64 -54 -42 -38 -38 -39 -42 -48 -53 -49 -45 -44 -45 -47 -48 -49 -51 -53 -54 -52 -50 -47 -44 -41 -39 -38 -38 -38 -36 -36 -39 -42 -42 -43 -43 -43 -42 -41 -40 -39 -37 -36 -34 -32 -36 -32 -29 -27 -26 -24 -24 -24 -27 -30 -32 -30 -28 -26 -26 -28 -28 -28 -27 -26 -26 -28 -28 -28 -28 -28 -26 -26 -25 -24 -22 -22 -23 -24 -25 -26 -25 -25 -25 -23 -22 -22 -22 -22 -19 -16 -15 -15 -17 -20 -22 -24 -25 -26 -27 -27 -24 -20 -16 -14 -12 -12 -13 -15 -18 -21 -25 -28 -29 -28 -28 -29 -31 -35 -38 -40 -42 -44 -45 -46 -47 -47 -45 -42 -42 -43 -42 -39 -35 -38 -41 -41 -40 -43 -45 -44 -42 -38 -35 -36 -39 -42 -44 -46 -49 -50 -50 -48 -46 -46 -46 -46 -46 -45 -45 -46 -48 -50 -52 -51 -50 -48 -46 -46 -46 -46 -44 -40 -41 -43 -46 -47 -45 -45 -47 -47 -44 -38 -36 -37 -39 -42 -44 -46 -45 -42 -38 -36 -35 -34 -33 -34 -34 -35 -36 -40 -44 -45 -46 -48 -49 -49 -49 -49 -49 -48 -46 -43 -42 -41 -40 -40 -43 -46 -48 -47 -44 -43 -45 -47 -49 -50 -51 -53 -54 -56 -59 -61 -61 -58 -55 -53 -53 -53 -52 -51 -47 -45 -43 -42 -42 -44 -45 -45 -45 -45 -45 -45 -47 -49 -50 -50 -49 -48 -48 -47 -47 -48 -50 -53 -54 -53 -53 -55 -57 -58 -58 -59 -60 -60 -60 -63 -67 -71 -74 -75 -75 -75 -74 -71 -68 -67 -68 -69 -70 -71 -72 -74 -76 -79 -80 -78 -78 -79 -83 -81 -77 -74 -73 -73 -73 -75 -77 -78 -77 -77 -77 -76 -77 -79 -81 -84 -87 -89 -90 -91 -92 -93 -96 -101 -106 -109 -111 -109 -104 -100 -100 -104 -112 -116 -113 -107 -100 -93 -91 -94 -99 -104 -104 -105 -105 -104 -102 -100 -99 -100 -101 -102 -102 -100 -97 -91 -85 -83 -84 -86 -86 -86 -86 -88 -91 -94 -94 -94 -96 -97 -95 -93 -93 -92 -91 -90 -87 -85 -84 -83 -81 -80 -79 -78 -76 -74 -73 -74 -74 -74 -75 -75 -76 -78 -80 -79 -77 -75 -75 -75 -75 -75 -76 -76 -76 -75 -74 -73 -72 -70 -69 -68 -65 -57 -44 -39 -38 -38 -39 -44 -54 -53 -49 -44 -43 -44 -45 -47 -50 -52 -52 -51 -48 -46 -43 -40 -38 -39 -42 -42 -42 -43 -45 -48 -48 -47 -46 -45 -44 -42 -41 -40 -39 -37 -36 -34 -37 -33 -30 -27 -25 -24 -23 -24 -27 -29 -29 -27 -24 -24 -25 -28 -29 -29 -29 -29 -28 -26 -24 -23 -23 -23 -24 -25 -26 -24 -20 -18 -18 -21 -23 -25 -25 -25 -25 -22 -20 -21 -24 -26 -24 -24 -24 -24 -25 -27 -30 -34 -37 -39 -39 -36 -32 -28 -27 -24 -19 -14 -12 -12 -15 -20 -24 -28 -31 -33 -34 -36 -37 -38 -38 -40 -42 -44 -44 -45 -46 -45 -42 -39 -39 -39 -39 -37 -37 -39 -40 -39 -38 -41 -44 -45 -44 -41 -38 -37 -39 -41 -44 -46 -47 -49 -50 -50 -48 -47 -47 -47 -47 -46 -46 -46 -47 -49 -52 -52 -51 -49 -49 -49 -48 -46 -44 -41 -41 -44 -46 -46 -45 -45 -47 -46 -43 -37 -36 -38 -43 -48 -50 -48 -45 -42 -39 -38 -36 -33 -32 -33 -35 -35 -36 -38 -42 -44 -45 -46 -46 -46 -46 -46 -46 -44 -41 -39 -39 -39 -39 -40 -43 -45 -46 -44 -42 -42 -43 -46 -47 -49 -51 -53 -54 -56 -58 -60 -59 -57 -54 -52 -52 -53 -54 -52 -48 -45 -43 -41 -41 -41 -43 -45 -47 -47 -47 -47 -48 -50 -51 -49 -48 -47 -47 -45 -46 -47 -50 -52 -53 -52 -52 -53 -55 -56 -57 -57 -58 -58 -59 -62 -65 -70 -74 -77 -78 -78 -75 -71 -67 -67 -68 -70 -69 -70 -72 -74 -77 -81 -82 -81 -80 -81 -84 -82 -78 -75 -74 -72 -70 -70 -71 -73 -76 -79 -80 -80 -80 -82 -85 -88 -89 -90 -91 -91 -91 -92 -94 -99 -103 -107 -108 -107 -104 -103 -105 -109 -115 -116 -110 -100 -90 -85 -85 -90 -97 -103 -104 -104 -104 -103 -101 -99 -99 -99 -100 -101 -100 -98 -94 -89 -84 -84 -84 -85 -86 -87 -88 -90 -92 -94 -95 -98 -99 -98 -96 -95 -94 -93 -91 -90 -87 -85 -84 -83 -82 -82 -81 -79 -76 -74 -74 -74 -75 -76 -76 -76 -77 -79 -82 -81 -78 -76 -76 -76 -75 -76 -77 -78 -77 -75 -74 -74 -73 -71 -70 -69 -67 -60 -47 -40 -38 -38 -39 -42 -52 -54 -52 -48 -44 -41 -41 -44 -47 -50 -50 -49 -46 -44 -42 -40 -40 -43 -48 -50 -50 -50 -50 -50 -49 -48 -47 -46 -45 -43 -42 -42 -41 -39 -38 -36 -37 -34 -30 -26 -24 -23 -23 -25 -28 -30 -28 -24 -22 -22 -25 -28 -29 -29 -28 -28 -25 -21 -18 -18 -19 -18 -20 -24 -26 -22 -18 -16 -17 -19 -22 -22 -20 -19 -19 -16 -17 -20 -23 -24 -24 -24 -27 -29 -32 -34 -35 -37 -38 -40 -41 -40 -38 -36 -36 -35 -30 -24 -18 -15 -16 -19 -22 -26 -30 -35 -39 -42 -43 -42 -40 -40 -41 -42 -42 -43 -43 -42 -39 -37 -38 -38 -39 -40 -42 -42 -40 -39 -38 -39 -42 -45 -45 -43 -41 -40 -40 -41 -42 -43 -45 -47 -50 -52 -51 -50 -50 -50 -49 -49 -48 -48 -47 -48 -49 -50 -50 -49 -50 -51 -51 -48 -44 -41 -42 -44 -46 -48 -48 -47 -46 -45 -44 -42 -39 -39 -42 -47 -51 -51 -47 -41 -37 -36 -34 -32 -32 -34 -37 -38 -39 -40 -42 -43 -44 -43 -42 -42 -45 -46 -45 -42 -37 -35 -35 -35 -37 -38 -41 -42 -42 -41 -39 -39 -41 -44 -46 -47 -49 -52 -54 -56 -58 -59 -59 -57 -53 -51 -52 -54 -54 -52 -47 -44 -42 -41 -42 -44 -45 -48 -50 -51 -50 -49 -48 -48 -48 -47 -47 -46 -45 -44 -44 -46 -48 -50 -51 -51 -51 -52 -53 -55 -56 -56 -56 -57 -59 -61 -64 -69 -74 -77 -78 -78 -75 -70 -67 -67 -69 -70 -70 -70 -71 -74 -78 -81 -83 -83 -83 -83 -84 -82 -78 -73 -70 -69 -68 -67 -68 -69 -72 -77 -82 -85 -87 -87 -88 -89 -89 -89 -90 -89 -89 -89 -92 -96 -100 -104 -106 -105 -104 -106 -108 -112 -116 -118 -111 -98 -85 -81 -84 -90 -96 -101 -103 -103 -102 -102 -102 -99 -98 -97 -98 -100 -100 -97 -93 -89 -85 -84 -84 -84 -85 -87 -89 -91 -93 -94 -96 -99 -100 -100 -99 -97 -95 -94 -92 -90 -88 -86 -84 -84 -83 -83 -83 -81 -78 -75 -75 -77 -78 -78 -78 -77 -79 -81 -84 -83 -81 -78 -77 -76 -75 -76 -78 -79 -77 -75 -75 -74 -73 -72 -71 -71 -69 -65 -54 -44 -39 -38 -39 -42 -50 -53 -52 -51 -47 -41 -39 -40 -44 -47 -48 -47 -45 -42 -42 -42 -44 -47 -52 -53 -53 -53 -52 -50 -49 -48 -48 -47 -46 -44 -44 -43 -42 -40 -39 -37 -37 -34 -30 -26 -23 -22 -23 -26 -29 -31 -28 -23 -20 -21 -25 -28 -28 -27 -26 -25 -23 -19 -17 -15 -15 -15 -18 -23 -27 -26 -23 -23 -24 -25 -23 -19 -17 -17 -16 -15 -15 -17 -19 -21 -23 -26 -29 -32 -34 -35 -35 -35 -36 -36 -37 -39 -39 -39 -40 -41 -40 -35 -29 -23 -22 -24 -26 -27 -30 -37 -43 -47 -48 -47 -44 -42 -41 -40 -39 -40 -41 -40 -38 -36 -37 -38 -39 -41 -43 -42 -40 -39 -39 -39 -43 -46 -47 -46 -45 -44 -42 -41 -41 -41 -43 -46 -49 -52 -53 -52 -51 -51 -50 -49 -48 -48 -47 -47 -48 -48 -48 -48 -49 -50 -50 -47 -42 -38 -39 -42 -46 -51 -53 -50 -46 -45 -48 -50 -47 -44 -44 -48 -54 -52 -46 -40 -36 -34 -31 -30 -31 -34 -39 -41 -41 -41 -40 -40 -40 -39 -38 -39 -43 -45 -45 -41 -36 -32 -30 -31 -33 -35 -37 -38 -39 -38 -37 -38 -39 -41 -44 -46 -48 -51 -53 -56 -57 -58 -57 -55 -52 -50 -52 -53 -53 -51 -46 -44 -42 -41 -43 -46 -48 -49 -50 -50 -49 -48 -47 -46 -46 -46 -46 -45 -44 -43 -43 -44 -45 -47 -48 -49 -50 -51 -52 -54 -54 -54 -55 -56 -58 -60 -63 -67 -72 -76 -77 -76 -74 -70 -68 -68 -69 -70 -70 -69 -71 -74 -78 -81 -83 -83 -84 -84 -84 -81 -76 -72 -68 -66 -66 -67 -70 -73 -75 -77 -80 -85 -89 -89 -88 -87 -87 -88 -88 -87 -87 -88 -91 -94 -97 -99 -101 -103 -105 -108 -110 -111 -112 -113 -108 -98 -87 -85 -87 -91 -94 -99 -103 -103 -102 -100 -102 -99 -97 -96 -97 -99 -100 -98 -94 -89 -83 -83 -83 -83 -85 -87 -88 -91 -93 -96 -98 -101 -103 -103 -102 -99 -96 -95 -93 -91 -89 -87 -86 -85 -84 -85 -84 -83 -81 -77 -77 -79 -81 -81 -80 -79 -81 -83 -86 -84 -81 -78 -77 -76 -76 -77 -79 -79 -77 -75 -75 -74 -74 -74 -74 -72 -71 -69 -64 -52 -43 -40 -41 -46 -50 -51 -51 -50 -49 -44 -39 -38 -40 -44 -45 -45 -43 -41 -42 -46 -50 -51 -54 -54 -53 -53 -52 -51 -50 -49 -48 -47 -46 -45 -44 -44 -42 -41 -39 -38 -36 -33 -29 -25 -22 -21 -23 -26 -29 -32 -31 -24 -19 -19 -23 -26 -26 -25 -23 -21 -19 -16 -15 -14 -13 -14 -18 -22 -23 -21 -23 -25 -28 -28 -27 -21 -18 -18 -20 -18 -16 -16 -17 -20 -23 -28 -33 -35 -36 -36 -36 -35 -33 -33 -34 -36 -37 -38 -40 -42 -44 -43 -38 -32 -29 -31 -33 -35 -36 -42 -48 -52 -52 -50 -47 -44 -41 -39 -37 -38 -40 -40 -38 -37 -37 -37 -37 -39 -41 -41 -39 -39 -40 -41 -44 -46 -47 -47 -49 -48 -47 -45 -44 -42 -43 -45 -48 -51 -51 -50 -49 -48 -48 -47 -46 -45 -46 -47 -47 -47 -46 -47 -49 -50 -49 -47 -43 -40 -40 -42 -44 -47 -50 -50 -48 -47 -48 -50 -49 -47 -48 -51 -54 -52 -47 -42 -38 -35 -33 -32 -33 -35 -39 -41 -41 -40 -40 -38 -36 -36 -37 -40 -43 -45 -46 -45 -39 -32 -28 -28 -31 -33 -34 -35 -35 -35 -35 -37 -38 -40 -42 -44 -47 -50 -53 -55 -56 -57 -56 -54 -51 -50 -51 -52 -52 -49 -44 -42 -41 -41 -44 -46 -48 -49 -49 -47 -46 -46 -46 -45 -45 -44 -44 -43 -43 -42 -42 -42 -44 -45 -45 -46 -48 -50 -52 -53 -54 -53 -53 -55 -57 -58 -61 -65 -70 -74 -76 -75 -73 -72 -70 -69 -69 -70 -71 -71 -72 -73 -76 -78 -80 -81 -82 -83 -82 -80 -77 -73 -69 -66 -66 -69 -74 -78 -79 -79 -79 -80 -82 -83 -82 -82 -84 -87 -88 -88 -88 -90 -93 -93 -93 -94 -97 -101 -105 -108 -110 -108 -108 -108 -106 -99 -93 -91 -92 -94 -95 -98 -101 -102 -100 -98 -99 -97 -96 -95 -96 -98 -99 -99 -96 -91 -85 -83 -83 -83 -84 -86 -88 -90 -93 -98 -102 -105 -106 -106 -103 -100 -98 -97 -95 -93 -91 -89 -88 -87 -86 -86 -86 -85 -83 -79 -80 -81 -83 -82 -81 -81 -83 -85 -86 -83 -81 -79 -78 -77 -77 -78 -79 -80 -77 -75 -75 -75 -75 -75 -75 -74 -73 -72 -68 -59 -51 -46 -47 -51 -53 -52 -52 -51 -51 -48 -45 -40 -39 -42 -43 -44 -43 -42 -46 -52 -56 -56 -54 -53 -53 -53 -53 -52 -50 -49 -49 -48 -47 -47 -46 -44 -43 -41 -39 -38 -35 -32 -27 -23 -21 -21 -23 -26 -29 -32 -32 -25 -20 -18 -21 -23 -24 -23 -22 -18 -16 -14 -12 -11 -11 -13 -17 -18 -17 -16 -19 -24 -28 -30 -29 -24 -21 -22 -24 -23 -19 -17 -17 -19 -23 -30 -35 -38 -37 -37 -36 -33 -31 -30 -32 -34 -36 -38 -40 -42 -44 -44 -43 -39 -36 -37 -40 -44 -46 -49 -52 -55 -54 -50 -45 -42 -40 -39 -37 -37 -38 -39 -39 -38 -37 -36 -36 -38 -40 -39 -38 -38 -39 -42 -44 -45 -46 -48 -51 -52 -51 -49 -47 -45 -44 -45 -46 -47 -47 -47 -45 -44 -44 -43 -43 -43 -44 -46 -47 -46 -46 -46 -47 -49 -49 -47 -44 -42 -43 -43 -44 -44 -46 -47 -48 -47 -48 -50 -51 -51 -53 -55 -56 -54 -50 -46 -41 -37 -36 -36 -36 -37 -39 -40 -40 -39 -38 -36 -35 -36 -38 -41 -43 -45 -48 -49 -44 -35 -29 -27 -29 -32 -33 -34 -34 -34 -35 -36 -38 -39 -41 -43 -47 -51 -53 -54 -56 -56 -56 -54 -51 -49 -49 -50 -49 -46 -42 -40 -40 -41 -44 -47 -48 -48 -47 -45 -45 -45 -45 -45 -44 -44 -44 -44 -44 -42 -41 -42 -43 -44 -43 -43 -45 -48 -52 -54 -54 -54 -52 -53 -55 -57 -59 -62 -67 -72 -74 -75 -74 -73 -71 -70 -69 -70 -71 -72 -73 -74 -76 -78 -79 -81 -82 -84 -83 -82 -79 -76 -71 -66 -66 -70 -76 -81 -82 -81 -80 -80 -79 -79 -79 -80 -82 -85 -87 -88 -90 -92 -95 -95 -94 -95 -97 -101 -105 -108 -109 -106 -105 -105 -105 -102 -99 -98 -98 -99 -99 -99 -99 -99 -97 -94 -95 -95 -95 -95 -96 -98 -98 -98 -96 -93 -88 -84 -83 -83 -84 -86 -88 -91 -94 -100 -106 -109 -109 -107 -104 -102 -100 -99 -98 -95 -93 -92 -91 -89 -87 -87 -87 -87 -86 -82 -82 -82 -82 -81 -82 -83 -84 -85 -85 -83 -81 -80 -80 -79 -79 -79 -80 -81 -79 -77 -76 -76 -76 -76 -76 -76 -75 -74 -70 -63 -57 -55 -54 -55 -55 -55 -55 -54 -54 -54 -52 -47 -43 -44 -45 -45 -46 -47 -51 -55 -57 -56 -54 -53 -52 -53 -53 -52 -51 -50 -49 -48 -48 -48 -47 -45 -43 -41 -40 -38 -34 -30 -26 -23 -21 -22 -24 -25 -27 -30 -32 -27 -21 -18 -19 -20 -22 -23 -22 -18 -14 -12 -10 -9 -10 -12 -14 -14 -13 -13 -16 -21 -27 -30 -29 -25 -23 -23 -24 -24 -21 -19 -18 -19 -21 -28 -34 -37 -36 -34 -32 -30 -29 -30 -31 -34 -38 -41 -42 -41 -41 -42 -43 -44 -42 -42 -45 -49 -53 -54 -55 -55 -52 -44 -38 -38 -38 -38 -38 -38 -37 -37 -37 -38 -36 -35 -35 -38 -39 -38 -36 -36 -38 -43 -45 -45 -46 -48 -51 -51 -50 -50 -50 -48 -46 -44 -43 -43 -43 -44 -43 -43 -42 -42 -42 -42 -43 -45 -46 -47 -47 -45 -44 -45 -46 -45 -42 -42 -44 -46 -45 -44 -45 -46 -47 -48 -49 -52 -54 -55 -55 -57 -57 -56 -53 -49 -43 -38 -37 -37 -38 -39 -39 -40 -40 -38 -36 -34 -35 -37 -39 -41 -43 -45 -46 -46 -42 -36 -31 -28 -29 -31 -32 -33 -33 -33 -34 -36 -37 -40 -41 -44 -47 -51 -53 -54 -55 -55 -55 -54 -52 -50 -49 -48 -47 -44 -41 -40 -40 -41 -44 -47 -48 -47 -44 -43 -43 -44 -44 -43 -43 -44 -44 -45 -45 -43 -42 -42 -43 -43 -41 -41 -43 -47 -52 -56 -56 -55 -52 -50 -52 -54 -56 -58 -64 -69 -73 -75 -75 -74 -72 -70 -69 -69 -71 -73 -75 -76 -78 -78 -79 -80 -83 -85 -85 -83 -80 -74 -69 -64 -65 -69 -76 -81 -82 -82 -82 -82 -80 -78 -77 -78 -81 -85 -88 -91 -93 -95 -96 -97 -97 -98 -101 -104 -107 -109 -110 -107 -103 -103 -105 -105 -103 -102 -102 -102 -101 -99 -97 -98 -98 -97 -94 -94 -94 -96 -98 -98 -98 -96 -94 -93 -89 -85 -83 -83 -83 -86 -90 -93 -95 -100 -106 -109 -109 -108 -106 -104 -103 -102 -99 -96 -94 -92 -91 -89 -89 -90 -90 -88 -87 -85 -83 -83 -83 -83 -85 -86 -86 -86 -86 -84 -82 -81 -81 -80 -79 -79 -80 -82 -82 -80 -78 -78 -78 -77 -77 -77 -77 -75 -71 -66 -62 -60 -58 -58 -57 -58 -59 -58 -57 -57 -57 -54 -51 -50 -50 -51 -52 -53 -55 -56 -57 -56 -55 -53 -52 -52 -52 -52 -51 -50 -49 -49 -48 -48 -47 -45 -44 -42 -40 -39 -32 -27 -24 -22 -23 -25 -26 -26 -27 -29 -32 -29 -23 -18 -17 -18 -21 -23 -23 -20 -16 -12 -9 -8 -9 -11 -11 -11 -11 -13 -15 -19 -23 -27 -28 -24 -21 -20 -21 -22 -22 -21 -20 -20 -20 -23 -29 -30 -27 -22 -23 -28 -33 -37 -38 -38 -39 -40 -39 -36 -35 -37 -40 -44 -47 -48 -50 -52 -54 -55 -56 -55 -51 -41 -35 -35 -37 -38 -39 -38 -36 -34 -33 -35 -36 -35 -35 -37 -38 -38 -38 -38 -39 -42 -46 -48 -49 -49 -50 -50 -50 -49 -49 -48 -45 -41 -39 -39 -41 -42 -43 -43 -43 -42 -41 -41 -41 -42 -45 -46 -46 -45 -44 -43 -43 -42 -42 -42 -43 -45 -46 -45 -46 -48 -50 -52 -53 -54 -55 -54 -53 -54 -56 -56 -55 -52 -46 -39 -37 -37 -39 -40 -41 -41 -40 -38 -35 -34 -34 -36 -39 -40 -40 -40 -42 -42 -40 -35 -31 -29 -30 -32 -32 -32 -33 -32 -34 -36 -39 -41 -42 -44 -47 -49 -52 -53 -55 -55 -54 -54 -54 -52 -51 -50 -48 -44 -41 -39 -40 -41 -44 -47 -46 -44 -41 -41 -42 -43 -43 -42 -42 -42 -43 -44 -44 -43 -43 -43 -43 -43 -41 -41 -42 -46 -51 -55 -57 -56 -53 -48 -47 -48 -50 -54 -61 -68 -72 -74 -75 -75 -73 -71 -69 -68 -71 -74 -76 -78 -80 -80 -81 -82 -83 -85 -84 -82 -79 -73 -67 -63 -63 -68 -74 -79 -81 -82 -82 -83 -83 -81 -79 -78 -81 -85 -90 -94 -96 -98 -99 -99 -99 -100 -103 -106 -107 -109 -111 -109 -103 -101 -103 -107 -106 -104 -104 -103 -102 -100 -97 -94 -93 -93 -93 -93 -94 -96 -100 -100 -97 -94 -92 -90 -87 -85 -84 -84 -84 -87 -91 -96 -99 -103 -106 -108 -109 -109 -108 -107 -106 -104 -100 -96 -93 -91 -90 -89 -91 -92 -91 -90 -89 -88 -86 -85 -87 -88 -88 -88 -88 -88 -87 -85 -83 -82 -82 -81 -79 -79 -81 -84 -84 -81 -79 -78 -78 -78 -78 -78 -77 -75 -71 -68 -65 -64 -62 -61 -60 -61 -62 -62 -62 -61 -60 -59 -58 -56 -55 -56 -56 -56 -56 -56 -57 -57 -55 -54 -52 -51 -52 -52 -51 -50 -49 -49 -48 -47 -46 -45 -44 -43 -42 -40 -30 -24 -21 -22 -24 -28 -30 -28 -27 -28 -31 -29 -23 -18 -15 -17 -21 -24 -26 -24 -19 -14 -10 -8 -9 -10 -10 -10 -12 -14 -15 -16 -19 -21 -23 -21 -18 -17 -19 -24 -30 -29 -24 -18 -18 -24 -25 -21 -15 -12 -17 -25 -33 -38 -40 -38 -34 -30 -27 -29 -32 -35 -39 -45 -51 -54 -56 -56 -53 -52 -53 -53 -48 -39 -35 -35 -37 -38 -39 -38 -36 -34 -33 -35 -37 -37 -36 -36 -37 -38 -39 -39 -41 -44 -47 -50 -51 -50 -48 -47 -47 -48 -47 -45 -41 -38 -38 -40 -42 -43 -44 -44 -44 -42 -40 -38 -37 -38 -41 -44 -45 -46 -45 -44 -43 -43 -42 -42 -42 -43 -45 -46 -49 -53 -56 -57 -57 -57 -55 -53 -52 -53 -55 -57 -57 -54 -46 -40 -37 -37 -38 -40 -41 -40 -39 -38 -35 -33 -34 -36 -37 -37 -36 -36 -36 -37 -37 -34 -31 -30 -32 -32 -32 -32 -32 -32 -34 -36 -39 -40 -41 -42 -45 -48 -51 -52 -54 -54 -54 -55 -56 -55 -53 -50 -45 -41 -41 -41 -41 -41 -44 -46 -44 -41 -39 -40 -41 -42 -42 -41 -40 -41 -42 -43 -43 -43 -44 -45 -45 -44 -43 -42 -43 -45 -50 -54 -57 -56 -52 -47 -45 -46 -48 -53 -59 -65 -70 -73 -74 -75 -74 -71 -68 -68 -71 -75 -78 -80 -82 -83 -83 -83 -83 -84 -83 -82 -79 -75 -69 -66 -65 -68 -73 -78 -80 -81 -81 -82 -84 -84 -82 -80 -80 -84 -90 -95 -99 -100 -100 -100 -100 -101 -104 -107 -108 -109 -111 -107 -100 -98 -102 -107 -106 -104 -103 -103 -103 -102 -98 -94 -90 -90 -92 -92 -93 -96 -100 -100 -97 -93 -88 -87 -86 -85 -85 -85 -86 -88 -92 -97 -100 -102 -104 -106 -108 -108 -107 -107 -106 -104 -100 -95 -91 -89 -89 -91 -93 -94 -92 -91 -92 -90 -88 -87 -90 -91 -91 -89 -89 -89 -88 -86 -83 -82 -81 -81 -81 -81 -82 -85 -85 -82 -80 -79 -79 -79 -79 -79 -77 -74 -71 -69 -68 -67 -65 -64 -63 -63 -64 -65 -65 -65 -64 -62 -60 -58 -57 -57 -57 -56 -56 -56 -57 -57 -56 -54 -53 -52 -51 -51 -51 -51 -50 -49 -48 -47 -46 -46 -45 -44 -43 -42 -31 -22 -20 -21 -26 -31 -33 -32 -29 -28 -30 -29 -22 -17 -14 -17 -20 -24 -27 -27 -24 -18 -12 -10 -10 -10 -11 -13 -14 -14 -14 -16 -19 -21 -23 -23 -19 -18 -19 -26 -34 -38 -38 -33 -27 -27 -27 -25 -22 -21 -22 -24 -26 -29 -31 -31 -29 -26 -26 -32 -38 -41 -44 -48 -53 -57 -59 -57 -53 -49 -48 -47 -44 -38 -36 -37 -38 -39 -38 -37 -36 -35 -33 -33 -35 -36 -37 -37 -38 -39 -40 -41 -43 -46 -49 -52 -54 -54 -50 -47 -47 -47 -45 -43 -40 -39 -41 -43 -45 -45 -45 -44 -43 -41 -39 -37 -36 -38 -40 -42 -44 -45 -44 -43 -42 -42 -41 -41 -44 -47 -50 -52 -55 -58 -60 -61 -61 -60 -57 -54 -52 -52 -54 -56 -55 -50 -42 -37 -36 -36 -37 -39 -40 -39 -38 -36 -34 -33 -34 -35 -36 -35 -35 -35 -35 -34 -34 -33 -31 -31 -32 -33 -32 -32 -33 -34 -35 -37 -39 -40 -41 -42 -44 -47 -50 -52 -54 -55 -56 -57 -58 -56 -51 -45 -39 -39 -42 -43 -42 -41 -44 -45 -43 -40 -38 -39 -40 -40 -41 -40 -40 -40 -40 -41 -42 -43 -45 -46 -46 -45 -44 -43 -43 -46 -50 -54 -57 -58 -55 -49 -45 -45 -49 -55 -59 -64 -68 -71 -73 -75 -74 -72 -70 -70 -73 -76 -79 -82 -84 -85 -85 -85 -84 -84 -83 -82 -79 -75 -71 -69 -69 -71 -74 -78 -81 -82 -82 -81 -81 -83 -84 -83 -81 -83 -88 -94 -98 -100 -101 -101 -100 -101 -103 -105 -106 -108 -109 -104 -99 -99 -103 -107 -104 -102 -102 -103 -105 -106 -103 -98 -92 -91 -92 -92 -92 -95 -99 -100 -96 -91 -85 -84 -84 -85 -85 -86 -87 -89 -93 -97 -100 -100 -101 -103 -105 -105 -106 -106 -105 -102 -98 -94 -92 -91 -91 -93 -95 -94 -93 -91 -92 -90 -89 -89 -92 -93 -92 -90 -89 -89 -87 -86 -84 -83 -81 -82 -83 -84 -84 -86 -85 -83 -81 -80 -80 -80 -80 -78 -76 -73 -71 -70 -69 -68 -67 -66 -65 -65 -65 -66 -67 -66 -65 -63 -60 -58 -57 -58 -57 -56 -56 -56 -56 -56 -56 -55 -53 -52 -52 -51 -51 -51 -50 -50 -48 -47 -47 -47 -46 -45 -44 -43 -31 -22 -21 -22 -26 -31 -35 -36 -33 -31 -30 -28 -21 -16 -15 -17 -20 -23 -27 -28 -26 -21 -15 -11 -10 -10 -12 -14 -16 -16 -15 -17 -20 -22 -24 -23 -21 -19 -20 -22 -28 -35 -40 -41 -39 -36 -31 -27 -23 -22 -23 -24 -25 -27 -29 -31 -31 -31 -33 -40 -47 -51 -53 -54 -55 -56 -57 -55 -50 -45 -44 -43 -41 -40 -41 -41 -41 -40 -38 -38 -38 -37 -35 -33 -34 -37 -39 -39 -39 -39 -40 -42 -43 -46 -49 -53 -56 -58 -55 -51 -48 -45 -44 -43 -42 -43 -45 -46 -46 -46 -45 -44 -42 -40 -38 -37 -37 -38 -39 -41 -43 -44 -43 -42 -42 -42 -42 -43 -46 -49 -52 -55 -59 -61 -62 -61 -60 -60 -59 -58 -56 -55 -56 -57 -54 -46 -38 -35 -34 -35 -35 -36 -37 -37 -36 -35 -33 -33 -34 -36 -37 -36 -36 -37 -37 -37 -36 -34 -33 -32 -32 -32 -32 -33 -34 -36 -37 -38 -39 -40 -42 -43 -45 -47 -49 -52 -54 -55 -57 -59 -59 -56 -49 -42 -37 -38 -40 -42 -43 -43 -43 -43 -42 -40 -38 -39 -39 -40 -41 -41 -41 -40 -39 -39 -40 -42 -44 -45 -46 -46 -46 -45 -44 -46 -51 -55 -58 -59 -57 -51 -46 -45 -49 -55 -59 -63 -67 -71 -73 -74 -74 -73 -71 -72 -74 -77 -79 -83 -85 -87 -87 -87 -86 -85 -84 -82 -78 -73 -70 -69 -70 -73 -76 -79 -82 -84 -85 -83 -82 -82 -83 -85 -85 -86 -88 -91 -96 -99 -101 -101 -100 -99 -101 -102 -103 -105 -108 -103 -99 -99 -102 -105 -103 -102 -102 -105 -107 -109 -108 -105 -99 -94 -93 -92 -93 -95 -99 -100 -96 -90 -83 -83 -84 -84 -83 -85 -86 -89 -93 -97 -99 -99 -99 -100 -100 -102 -104 -104 -103 -100 -96 -94 -93 -93 -93 -94 -94 -93 -92 -90 -91 -91 -90 -91 -94 -94 -93 -91 -89 -89 -88 -87 -86 -87 -84 -84 -85 -85 -84 -85 -85 -83 -81 -80 -81 -80 -78 -76 -75 -73 -72 -71 -70 -70 -69 -68 -67 -67 -67 -67 -67 -67 -67 -65 -63 -61 -59 -58 -57 -56 -56 -55 -56 -56 -56 -55 -54 -53 -52 -52 -52 -52 -52 -51 -49 -48 -47 -47 -47 -46 -45 -44 -32 -24 -22 -23 -26 -30 -35 -38 -40 -39 -35 -29 -22 -17 -16 -18 -19 -22 -26 -29 -29 -23 -16 -11 -9 -10 -12 -15 -15 -14 -13 -16 -21 -24 -27 -27 -26 -25 -25 -26 -25 -28 -35 -42 -45 -45 -41 -37 -32 -28 -28 -29 -31 -33 -35 -37 -39 -40 -43 -48 -53 -57 -58 -58 -55 -54 -51 -48 -43 -43 -44 -43 -40 -39 -43 -44 -44 -42 -40 -40 -40 -39 -37 -34 -36 -39 -41 -41 -40 -40 -41 -42 -43 -45 -47 -51 -55 -59 -58 -55 -51 -46 -44 -43 -44 -46 -50 -50 -48 -46 -45 -43 -41 -39 -38 -38 -39 -39 -40 -40 -41 -42 -42 -41 -42 -43 -44 -47 -50 -53 -55 -57 -59 -61 -61 -60 -59 -60 -61 -61 -60 -59 -58 -57 -53 -46 -39 -35 -33 -33 -35 -37 -38 -37 -36 -34 -33 -34 -37 -39 -38 -36 -35 -35 -35 -35 -35 -34 -33 -31 -31 -32 -33 -34 -36 -38 -39 -39 -40 -41 -42 -44 -45 -47 -49 -51 -53 -55 -58 -60 -58 -53 -46 -40 -37 -37 -39 -42 -44 -45 -45 -44 -42 -39 -39 -39 -40 -41 -42 -43 -43 -43 -42 -40 -41 -42 -44 -45 -46 -47 -47 -46 -46 -47 -51 -55 -58 -60 -57 -51 -47 -46 -50 -55 -59 -63 -67 -71 -74 -76 -77 -76 -73 -73 -74 -76 -78 -82 -86 -88 -88 -88 -88 -87 -85 -83 -78 -72 -69 -70 -72 -74 -77 -80 -83 -86 -87 -86 -84 -83 -83 -84 -87 -88 -90 -92 -95 -97 -99 -101 -100 -98 -97 -98 -100 -104 -106 -103 -99 -98 -100 -104 -105 -104 -104 -105 -105 -106 -108 -109 -105 -99 -95 -93 -94 -96 -99 -100 -97 -91 -83 -82 -82 -83 -84 -84 -84 -87 -91 -95 -99 -99 -97 -96 -95 -98 -100 -101 -100 -96 -93 -92 -93 -94 -96 -94 -92 -91 -91 -91 -93 -93 -93 -93 -94 -94 -92 -90 -89 -89 -88 -88 -88 -88 -85 -84 -84 -84 -84 -85 -84 -82 -80 -80 -80 -79 -76 -75 -74 -73 -72 -72 -72 -71 -70 -69 -68 -69 -69 -68 -68 -69 -69 -68 -65 -63 -60 -59 -58 -58 -58 -56 -56 -56 -55 -55 -54 -54 -53 -52 -52 -52 -52 -51 -50 -49 -48 -47 -47 -46 -45 -44 -38 -28 -25 -23 -24 -26 -31 -38 -44 -46 -44 -36 -25 -18 -16 -18 -18 -20 -24 -28 -29 -23 -16 -11 -8 -10 -14 -17 -16 -13 -12 -15 -21 -27 -31 -31 -31 -32 -33 -33 -27 -24 -30 -39 -47 -49 -49 -47 -43 -40 -40 -41 -43 -46 -49 -50 -51 -51 -52 -55 -57 -59 -60 -59 -53 -49 -44 -40 -37 -42 -46 -43 -38 -36 -42 -46 -46 -44 -41 -41 -41 -40 -38 -36 -38 -41 -42 -42 -42 -42 -42 -42 -44 -46 -46 -48 -51 -55 -57 -56 -54 -50 -47 -45 -46 -49 -53 -55 -52 -48 -44 -41 -40 -39 -38 -39 -40 -40 -40 -40 -40 -41 -41 -42 -43 -46 -49 -54 -59 -61 -60 -59 -58 -59 -60 -60 -60 -61 -61 -60 -60 -59 -60 -58 -54 -48 -42 -39 -36 -35 -35 -37 -38 -37 -35 -32 -32 -35 -38 -39 -38 -37 -35 -34 -33 -32 -33 -34 -33 -32 -30 -32 -35 -37 -39 -40 -40 -40 -40 -41 -42 -44 -46 -47 -48 -50 -52 -55 -58 -60 -56 -49 -43 -38 -37 -37 -39 -41 -44 -46 -47 -45 -42 -39 -39 -40 -41 -42 -44 -45 -46 -45 -44 -42 -42 -42 -42 -43 -44 -46 -48 -49 -48 -49 -52 -56 -59 -61 -58 -52 -48 -48 -51 -55 -59 -63 -68 -72 -75 -77 -78 -77 -75 -75 -76 -77 -78 -80 -84 -88 -90 -90 -89 -88 -86 -83 -78 -73 -71 -72 -74 -76 -78 -82 -85 -87 -87 -86 -85 -84 -84 -83 -84 -87 -92 -97 -99 -97 -97 -99 -101 -97 -94 -95 -99 -103 -105 -104 -101 -98 -98 -100 -103 -106 -107 -107 -105 -105 -106 -108 -107 -103 -99 -96 -95 -97 -100 -101 -99 -92 -84 -81 -81 -82 -83 -83 -83 -86 -90 -94 -97 -97 -94 -91 -91 -94 -95 -96 -95 -92 -90 -90 -91 -93 -95 -94 -92 -90 -90 -93 -96 -98 -98 -97 -95 -93 -91 -89 -88 -88 -88 -88 -88 -87 -85 -84 -84 -84 -84 -86 -85 -83 -81 -80 -79 -78 -76 -75 -74 -73 -72 -72 -72 -71 -71 -69 -69 -70 -70 -69 -69 -70 -71 -70 -67 -65 -62 -61 -60 -60 -59 -58 -57 -56 -55 -54 -55 -55 -54 -53 -52 -53 -53 -52 -51 -50 -49 -48 -47 -46 -45 -45 -46 -39 -35 -31 -27 -24 -26 -34 -42 -47 -49 -42 -32 -23 -18 -17 -18 -20 -23 -26 -27 -23 -16 -10 -7 -10 -17 -20 -19 -15 -12 -14 -20 -28 -33 -34 -35 -36 -38 -38 -30 -24 -27 -36 -46 -49 -51 -52 -51 -51 -53 -55 -58 -61 -65 -65 -63 -61 -59 -60 -60 -61 -61 -57 -48 -42 -37 -35 -35 -41 -43 -41 -37 -38 -44 -47 -47 -44 -40 -40 -40 -39 -36 -34 -36 -38 -40 -42 -43 -43 -44 -45 -45 -46 -46 -47 -48 -50 -52 -53 -55 -55 -52 -49 -49 -52 -56 -58 -56 -50 -44 -40 -39 -38 -38 -39 -41 -41 -41 -41 -41 -41 -41 -43 -46 -50 -55 -62 -67 -68 -65 -60 -57 -58 -59 -61 -61 -61 -59 -58 -57 -58 -59 -58 -56 -52 -49 -45 -42 -38 -37 -38 -38 -37 -34 -31 -32 -35 -38 -38 -37 -36 -35 -33 -32 -31 -32 -33 -33 -32 -31 -33 -36 -39 -41 -42 -42 -43 -43 -43 -43 -43 -44 -46 -47 -49 -51 -55 -57 -57 -53 -47 -41 -38 -38 -39 -41 -42 -44 -45 -46 -45 -43 -41 -40 -41 -42 -44 -46 -47 -48 -48 -46 -44 -42 -42 -42 -43 -43 -45 -47 -49 -49 -49 -53 -56 -60 -62 -61 -57 -52 -50 -52 -55 -59 -64 -69 -72 -75 -77 -78 -77 -76 -76 -77 -78 -78 -81 -85 -89 -90 -90 -89 -88 -85 -82 -79 -76 -75 -75 -75 -76 -80 -84 -87 -88 -87 -85 -85 -85 -85 -85 -85 -88 -92 -98 -99 -96 -95 -96 -99 -97 -94 -93 -97 -101 -104 -104 -103 -100 -98 -99 -101 -104 -107 -109 -107 -105 -105 -108 -109 -107 -104 -100 -96 -96 -99 -100 -99 -94 -86 -82 -81 -81 -83 -83 -84 -86 -90 -94 -97 -95 -92 -89 -89 -90 -89 -89 -89 -88 -87 -87 -88 -91 -94 -94 -93 -91 -91 -93 -97 -99 -100 -98 -94 -91 -90 -89 -88 -89 -89 -89 -88 -87 -86 -85 -85 -84 -84 -85 -85 -84 -82 -81 -79 -78 -76 -75 -74 -73 -72 -71 -71 -71 -71 -70 -69 -69 -69 -70 -70 -72 -71 -70 -69 -66 -63 -62 -61 -61 -60 -58 -57 -57 -56 -55 -56 -55 -55 -54 -53 -53 -52 -52 -51 -50 -50 -49 -48 -46 -46 -45 -48 -46 -45 -42 -36 -28 -25 -29 -35 -42 -46 -44 -37 -29 -23 -19 -19 -21 -23 -25 -26 -24 -18 -11 -7 -10 -18 -23 -23 -19 -14 -14 -19 -26 -32 -34 -34 -35 -35 -35 -29 -24 -25 -33 -41 -46 -49 -51 -54 -56 -59 -62 -66 -68 -70 -70 -70 -68 -65 -62 -60 -59 -56 -50 -40 -34 -33 -34 -35 -37 -36 -36 -39 -45 -49 -49 -46 -43 -40 -39 -37 -35 -33 -31 -33 -38 -43 -45 -45 -46 -47 -48 -49 -48 -47 -47 -47 -48 -51 -52 -53 -54 -56 -55 -55 -55 -56 -59 -57 -51 -44 -39 -39 -39 -41 -42 -42 -42 -42 -42 -42 -43 -44 -46 -49 -54 -61 -68 -71 -70 -66 -59 -55 -56 -59 -61 -61 -59 -56 -54 -54 -55 -55 -55 -55 -55 -54 -49 -45 -41 -39 -39 -38 -37 -35 -31 -31 -34 -37 -38 -37 -37 -35 -33 -30 -29 -30 -32 -32 -33 -34 -37 -40 -42 -43 -43 -44 -46 -46 -44 -41 -40 -40 -42 -44 -47 -51 -53 -55 -53 -51 -47 -43 -39 -40 -42 -43 -44 -44 -44 -44 -44 -44 -43 -42 -42 -44 -45 -47 -48 -49 -49 -47 -43 -40 -39 -40 -42 -44 -45 -47 -48 -48 -50 -53 -57 -61 -63 -63 -60 -55 -52 -52 -55 -59 -63 -68 -71 -74 -75 -75 -74 -75 -77 -78 -78 -79 -82 -86 -89 -91 -91 -90 -87 -84 -82 -80 -80 -79 -77 -76 -77 -82 -87 -89 -89 -87 -85 -84 -85 -86 -85 -86 -89 -94 -98 -100 -98 -97 -96 -98 -97 -94 -92 -91 -94 -99 -103 -105 -103 -99 -99 -101 -103 -105 -108 -108 -107 -106 -108 -109 -108 -106 -103 -99 -96 -97 -98 -98 -96 -90 -86 -84 -83 -82 -83 -84 -87 -91 -95 -96 -95 -92 -90 -89 -87 -86 -86 -86 -86 -85 -85 -86 -89 -92 -94 -93 -92 -92 -94 -96 -98 -98 -95 -92 -90 -89 -89 -88 -89 -89 -90 -89 -88 -86 -86 -86 -86 -85 -85 -85 -84 -82 -81 -79 -77 -76 -75 -74 -73 -72 -71 -71 -71 -71 -70 -69 -69 -69 -69 -70 -72 -71 -71 -70 -67 -65 -64 -62 -61 -60 -59 -58 -58 -58 -57 -57 -57 -56 -55 -53 -52 -52 -51 -51 -51 -51 -50 -49 -48 -47 -46 -48 -50 -52 -51 -45 -38 -30 -29 -31 -36 -41 -42 -39 -34 -29 -24 -24 -25 -25 -25 -25 -26 -22 -16 -11 -11 -18 -24 -25 -23 -19 -17 -19 -24 -28 -30 -30 -30 -29 -27 -22 -19 -23 -30 -37 -41 -44 -48 -52 -54 -57 -60 -63 -65 -67 -67 -66 -64 -63 -62 -58 -53 -46 -39 -32 -31 -31 -33 -35 -36 -35 -36 -40 -45 -48 -47 -45 -43 -42 -40 -39 -36 -34 -32 -35 -42 -49 -52 -50 -50 -51 -53 -53 -52 -50 -49 -48 -48 -50 -52 -54 -55 -57 -59 -59 -58 -57 -58 -56 -51 -44 -38 -38 -41 -43 -43 -43 -42 -42 -43 -45 -49 -51 -53 -54 -58 -64 -69 -70 -68 -65 -59 -54 -54 -58 -61 -60 -55 -53 -52 -52 -52 -50 -50 -52 -55 -55 -50 -45 -42 -41 -40 -39 -38 -36 -32 -31 -33 -36 -37 -38 -37 -35 -31 -28 -28 -30 -31 -33 -34 -37 -39 -41 -42 -43 -43 -45 -47 -48 -46 -42 -40 -38 -39 -42 -45 -45 -46 -48 -52 -53 -52 -47 -41 -40 -42 -43 -44 -45 -43 -42 -42 -43 -44 -44 -44 -44 -46 -48 -49 -50 -50 -47 -42 -38 -38 -39 -40 -42 -44 -47 -49 -49 -50 -54 -59 -62 -65 -64 -61 -56 -53 -53 -55 -58 -62 -65 -68 -71 -72 -71 -70 -73 -75 -77 -79 -80 -84 -88 -91 -93 -94 -92 -89 -86 -83 -81 -80 -78 -77 -76 -79 -84 -88 -91 -91 -89 -86 -84 -84 -85 -86 -88 -90 -93 -96 -97 -97 -97 -97 -97 -95 -92 -91 -91 -94 -98 -101 -102 -101 -99 -100 -101 -103 -105 -108 -109 -109 -108 -108 -108 -108 -107 -105 -100 -97 -96 -97 -98 -97 -92 -89 -87 -85 -83 -83 -85 -88 -92 -96 -96 -94 -92 -91 -90 -87 -85 -86 -88 -87 -86 -85 -85 -88 -91 -92 -93 -92 -92 -94 -95 -96 -95 -93 -91 -90 -89 -89 -88 -89 -90 -90 -90 -89 -87 -87 -87 -86 -86 -85 -84 -83 -83 -81 -79 -77 -77 -75 -74 -73 -72 -71 -71 -71 -70 -69 -68 -68 -69 -69 -70 -71 -71 -71 -70 -68 -66 -65 -64 -62 -61 -60 -59 -59 -59 -59 -59 -58 -57 -56 -54 -53 -52 -52 -52 -52 -52 -51 -50 -49 -48 -47 -47 -51 -54 -54 -51 -46 -39 -33 -31 -32 -35 -38 -38 -36 -34 -31 -30 -31 -30 -28 -27 -29 -28 -25 -21 -19 -21 -24 -26 -27 -26 -24 -24 -25 -25 -24 -23 -24 -24 -22 -16 -14 -19 -27 -35 -39 -44 -48 -51 -54 -57 -59 -61 -63 -65 -65 -63 -62 -60 -57 -50 -41 -34 -30 -28 -28 -30 -32 -35 -36 -36 -38 -40 -43 -44 -43 -42 -41 -41 -42 -42 -40 -38 -36 -37 -42 -48 -54 -56 -55 -55 -56 -57 -55 -53 -50 -49 -49 -50 -53 -55 -56 -57 -59 -61 -61 -60 -57 -54 -49 -43 -39 -39 -42 -43 -44 -44 -44 -45 -47 -50 -53 -56 -58 -60 -62 -66 -70 -68 -64 -60 -57 -55 -55 -56 -58 -55 -51 -48 -49 -50 -51 -49 -48 -49 -53 -54 -52 -48 -44 -43 -43 -42 -39 -36 -33 -31 -31 -33 -35 -37 -37 -34 -30 -26 -26 -28 -31 -33 -34 -35 -36 -38 -39 -42 -44 -46 -48 -48 -47 -44 -41 -39 -38 -39 -39 -39 -41 -46 -52 -55 -54 -48 -41 -40 -42 -44 -45 -45 -42 -41 -42 -44 -46 -45 -44 -45 -47 -49 -50 -50 -50 -47 -41 -38 -37 -37 -38 -40 -44 -48 -50 -50 -52 -55 -60 -64 -67 -65 -61 -57 -55 -56 -57 -58 -60 -62 -66 -68 -69 -69 -69 -70 -72 -75 -77 -80 -84 -89 -92 -95 -96 -94 -90 -87 -85 -82 -79 -76 -75 -77 -82 -86 -90 -92 -94 -92 -87 -84 -83 -84 -87 -90 -91 -90 -89 -90 -93 -96 -97 -95 -92 -89 -89 -91 -93 -92 -93 -95 -98 -97 -99 -101 -104 -106 -108 -110 -110 -109 -108 -108 -108 -107 -105 -100 -96 -95 -95 -96 -96 -96 -94 -92 -90 -86 -86 -87 -89 -93 -97 -97 -94 -92 -92 -90 -87 -85 -86 -91 -92 -90 -87 -85 -87 -89 -90 -91 -92 -92 -94 -95 -95 -93 -91 -90 -89 -89 -89 -88 -89 -90 -91 -91 -90 -89 -87 -86 -86 -86 -85 -84 -83 -83 -81 -80 -79 -78 -77 -75 -74 -73 -71 -71 -70 -70 -68 -67 -67 -69 -70 -71 -70 -71 -71 -70 -68 -68 -66 -65 -63 -62 -61 -61 -60 -60 -61 -60 -60 -59 -58 -56 -55 -54 -54 -53 -53 -53 -52 -51 -50 -49 -47 -44 -47 -51 -53 -52 -50 -45 -39 -34 -32 -32 -34 -36 -36 -36 -35 -35 -34 -33 -33 -32 -32 -33 -33 -32 -32 -31 -29 -28 -29 -31 -33 -33 -32 -29 -24 -21 -22 -22 -21 -14 -12 -18 -27 -35 -41 -46 -51 -55 -57 -58 -56 -56 -58 -61 -60 -59 -58 -56 -50 -39 -30 -26 -25 -26 -28 -30 -33 -36 -37 -38 -39 -39 -39 -40 -40 -40 -40 -41 -42 -43 -43 -42 -40 -39 -40 -43 -48 -51 -53 -56 -59 -60 -57 -54 -52 -51 -51 -51 -53 -55 -56 -57 -59 -61 -61 -60 -57 -52 -48 -44 -42 -43 -46 -47 -47 -48 -50 -52 -55 -55 -54 -54 -57 -61 -65 -71 -71 -66 -60 -56 -56 -55 -53 -52 -52 -52 -47 -43 -44 -49 -51 -48 -46 -46 -50 -53 -53 -51 -49 -49 -49 -46 -42 -37 -34 -31 -30 -31 -35 -39 -39 -35 -29 -24 -22 -25 -29 -32 -32 -32 -32 -34 -37 -41 -45 -47 -48 -48 -47 -45 -44 -41 -38 -34 -29 -27 -31 -40 -50 -55 -53 -47 -41 -39 -40 -41 -41 -40 -38 -38 -40 -43 -46 -45 -44 -44 -47 -50 -50 -49 -48 -46 -42 -39 -37 -36 -36 -40 -45 -50 -52 -53 -54 -58 -62 -66 -68 -66 -62 -58 -55 -56 -57 -57 -59 -62 -65 -68 -71 -72 -71 -68 -69 -71 -75 -80 -85 -90 -92 -93 -94 -92 -90 -87 -85 -83 -80 -78 -77 -79 -83 -87 -90 -93 -94 -94 -90 -86 -84 -84 -89 -91 -90 -87 -84 -84 -87 -91 -94 -93 -89 -86 -86 -87 -88 -89 -91 -93 -96 -97 -98 -100 -103 -105 -107 -108 -109 -110 -109 -108 -107 -106 -105 -99 -96 -94 -94 -93 -94 -98 -101 -100 -96 -91 -89 -90 -92 -95 -98 -97 -94 -91 -91 -89 -87 -85 -86 -90 -91 -89 -87 -85 -86 -86 -86 -88 -90 -92 -95 -97 -95 -92 -91 -89 -88 -88 -88 -88 -89 -90 -91 -90 -90 -90 -88 -86 -86 -86 -85 -84 -83 -83 -81 -80 -79 -78 -76 -75 -74 -73 -71 -70 -69 -68 -67 -67 -67 -68 -70 -70 -70 -70 -71 -69 -69 -69 -67 -65 -64 -63 -63 -62 -62 -62 -62 -61 -60 -60 -59 -57 -56 -55 -55 -54 -54 -54 -52 -52 -51 -50 -48 -41 -44 -47 -50 -51 -49 -47 -44 -40 -37 -35 -34 -35 -35 -35 -33 -32 -30 -29 -31 -34 -36 -37 -38 -39 -40 -40 -38 -36 -34 -35 -38 -40 -40 -38 -34 -29 -28 -29 -29 -23 -19 -21 -27 -35 -43 -50 -54 -57 -60 -60 -55 -50 -48 -50 -53 -53 -52 -48 -40 -29 -24 -23 -25 -27 -29 -32 -34 -36 -38 -38 -37 -37 -38 -39 -40 -40 -41 -41 -42 -44 -44 -44 -41 -38 -36 -37 -39 -43 -48 -54 -59 -62 -59 -56 -54 -53 -52 -53 -53 -55 -56 -58 -59 -60 -59 -58 -56 -51 -48 -47 -47 -48 -50 -51 -51 -51 -54 -57 -59 -58 -54 -51 -54 -60 -69 -75 -74 -67 -59 -54 -54 -53 -51 -49 -47 -44 -40 -38 -40 -47 -50 -47 -44 -43 -46 -49 -51 -50 -48 -48 -50 -50 -46 -40 -34 -30 -29 -30 -34 -38 -38 -35 -28 -22 -21 -24 -27 -30 -31 -31 -32 -34 -37 -41 -45 -47 -47 -46 -45 -45 -44 -41 -37 -29 -22 -20 -24 -34 -47 -54 -54 -48 -41 -38 -39 -40 -40 -40 -39 -40 -41 -43 -45 -45 -44 -44 -46 -47 -46 -45 -44 -44 -43 -41 -38 -35 -35 -39 -46 -52 -55 -55 -57 -61 -65 -69 -69 -66 -60 -56 -55 -56 -56 -57 -60 -63 -66 -68 -73 -77 -78 -72 -69 -70 -75 -81 -86 -89 -90 -89 -89 -89 -87 -86 -85 -83 -82 -80 -80 -80 -83 -87 -90 -93 -94 -93 -91 -88 -86 -85 -87 -90 -91 -90 -86 -83 -83 -85 -89 -90 -86 -84 -83 -84 -86 -88 -92 -95 -98 -99 -99 -99 -101 -104 -105 -107 -108 -109 -108 -106 -105 -105 -104 -99 -95 -94 -93 -91 -93 -98 -102 -102 -97 -93 -92 -94 -97 -100 -100 -99 -95 -90 -86 -85 -83 -83 -85 -87 -86 -85 -83 -83 -84 -85 -85 -85 -88 -91 -95 -96 -94 -91 -89 -88 -87 -87 -88 -88 -89 -89 -90 -89 -89 -89 -88 -86 -86 -86 -86 -85 -83 -82 -81 -80 -78 -76 -75 -75 -74 -73 -71 -70 -69 -68 -67 -66 -67 -68 -69 -69 -69 -70 -70 -69 -70 -70 -69 -67 -65 -64 -64 -63 -63 -63 -63 -62 -61 -60 -59 -57 -55 -53 -53 -54 -54 -54 -53 -52 -51 -50 -49 -40 -42 -45 -48 -49 -48 -45 -44 -43 -42 -40 -36 -35 -33 -30 -27 -25 -27 -29 -31 -33 -34 -36 -38 -41 -42 -43 -43 -42 -41 -41 -42 -44 -46 -47 -46 -43 -41 -41 -42 -39 -34 -32 -34 -39 -45 -52 -56 -58 -60 -62 -57 -48 -40 -39 -43 -46 -46 -41 -31 -24 -23 -25 -28 -30 -32 -34 -35 -36 -36 -36 -36 -37 -39 -41 -41 -41 -42 -42 -42 -43 -44 -43 -39 -35 -32 -32 -34 -39 -45 -52 -58 -62 -61 -58 -56 -55 -54 -54 -55 -55 -56 -58 -59 -59 -58 -56 -54 -50 -49 -50 -51 -52 -54 -54 -53 -51 -53 -56 -58 -59 -56 -53 -55 -62 -70 -76 -75 -68 -59 -53 -52 -52 -51 -47 -43 -37 -35 -36 -40 -45 -48 -46 -43 -41 -43 -46 -48 -48 -47 -47 -49 -51 -49 -43 -35 -31 -29 -29 -30 -32 -32 -30 -26 -24 -23 -24 -26 -28 -29 -30 -32 -35 -39 -42 -45 -45 -44 -43 -42 -42 -40 -36 -31 -25 -23 -22 -26 -33 -44 -52 -54 -50 -44 -39 -38 -39 -40 -40 -41 -42 -43 -44 -44 -44 -44 -43 -44 -46 -46 -46 -46 -46 -45 -41 -38 -36 -35 -39 -46 -52 -56 -58 -61 -65 -70 -73 -71 -64 -58 -56 -56 -57 -57 -59 -62 -65 -66 -69 -74 -79 -79 -74 -70 -70 -74 -79 -84 -86 -86 -83 -81 -82 -83 -84 -84 -84 -83 -82 -81 -81 -83 -86 -89 -92 -94 -93 -91 -89 -86 -84 -85 -88 -91 -93 -91 -87 -84 -83 -85 -86 -85 -84 -83 -84 -86 -89 -92 -97 -100 -101 -101 -101 -101 -102 -103 -104 -105 -106 -106 -105 -105 -105 -104 -98 -95 -93 -92 -91 -92 -96 -99 -100 -98 -97 -97 -99 -102 -103 -103 -101 -97 -89 -82 -78 -78 -81 -84 -83 -82 -81 -81 -81 -82 -83 -83 -84 -86 -90 -94 -95 -92 -90 -88 -87 -86 -87 -87 -88 -89 -89 -89 -88 -89 -89 -88 -86 -85 -85 -86 -86 -83 -81 -80 -79 -76 -75 -74 -73 -73 -72 -71 -70 -70 -68 -67 -67 -66 -66 -67 -69 -69 -69 -70 -69 -69 -70 -70 -68 -66 -65 -64 -64 -63 -63 -63 -62 -61 -61 -60 -57 -55 -53 -52 -54 -55 -55 -54 -53 -52 -51 -49 -38 -40 -43 -46 -48 -47 -44 -42 -40 -39 -38 -36 -34 -30 -26 -23 -21 -25 -29 -31 -32 -33 -35 -37 -38 -41 -42 -43 -44 -44 -44 -45 -47 -49 -52 -53 -53 -52 -52 -53 -52 -49 -46 -45 -46 -50 -54 -57 -58 -58 -60 -59 -52 -42 -34 -35 -40 -41 -37 -27 -24 -25 -28 -31 -33 -34 -35 -35 -35 -35 -36 -37 -39 -41 -42 -41 -40 -40 -40 -41 -42 -43 -41 -36 -32 -30 -30 -33 -38 -44 -50 -56 -61 -62 -61 -59 -57 -57 -57 -57 -57 -58 -58 -58 -58 -58 -56 -54 -52 -51 -52 -53 -54 -56 -55 -52 -49 -47 -50 -53 -57 -59 -59 -62 -66 -71 -74 -72 -66 -58 -54 -53 -53 -51 -47 -40 -35 -35 -38 -41 -44 -46 -45 -42 -41 -41 -44 -46 -47 -47 -46 -47 -48 -47 -44 -37 -32 -29 -28 -28 -28 -28 -27 -26 -26 -26 -27 -29 -31 -33 -35 -35 -36 -38 -41 -43 -44 -43 -43 -43 -41 -37 -31 -25 -25 -28 -29 -31 -35 -42 -48 -52 -53 -48 -42 -39 -39 -40 -41 -42 -44 -45 -45 -45 -45 -44 -44 -45 -45 -46 -46 -45 -44 -42 -41 -39 -38 -37 -39 -45 -53 -59 -61 -65 -70 -75 -77 -71 -63 -58 -57 -59 -59 -60 -61 -64 -67 -69 -72 -75 -78 -78 -75 -73 -73 -75 -79 -84 -87 -86 -81 -78 -79 -80 -82 -83 -84 -83 -82 -81 -80 -81 -84 -88 -91 -94 -93 -91 -88 -86 -84 -84 -86 -88 -90 -90 -88 -85 -83 -82 -84 -86 -87 -87 -84 -85 -88 -93 -97 -101 -104 -105 -105 -103 -102 -101 -101 -102 -103 -105 -106 -107 -106 -104 -98 -93 -90 -91 -90 -92 -94 -97 -98 -99 -101 -104 -105 -106 -108 -107 -105 -100 -92 -83 -78 -76 -77 -78 -79 -80 -81 -80 -79 -79 -80 -81 -82 -85 -89 -93 -93 -90 -88 -86 -85 -85 -86 -87 -88 -89 -89 -89 -89 -88 -87 -87 -87 -87 -86 -86 -86 -83 -81 -79 -78 -76 -75 -73 -72 -72 -72 -71 -70 -70 -69 -68 -67 -67 -66 -67 -68 -68 -68 -69 -68 -68 -69 -69 -68 -67 -66 -65 -64 -64 -64 -63 -63 -62 -61 -60 -58 -57 -54 -54 -56 -57 -56 -54 -54 -53 -51 -50 -36 -38 -41 -45 -45 -45 -43 -40 -37 -36 -36 -34 -32 -28 -24 -21 -20 -26 -30 -31 -31 -32 -33 -33 -35 -37 -39 -41 -42 -42 -42 -43 -45 -48 -51 -54 -55 -56 -56 -57 -58 -57 -55 -54 -55 -57 -59 -59 -57 -55 -56 -58 -56 -48 -36 -31 -34 -36 -33 -26 -24 -26 -29 -32 -34 -35 -35 -35 -35 -36 -38 -39 -39 -39 -38 -38 -39 -39 -40 -40 -41 -40 -37 -33 -31 -30 -31 -33 -38 -45 -51 -55 -58 -61 -62 -63 -63 -64 -62 -61 -60 -59 -59 -58 -58 -58 -58 -57 -57 -56 -54 -54 -55 -54 -53 -52 -49 -45 -45 -49 -54 -58 -62 -67 -71 -72 -70 -67 -62 -58 -55 -56 -55 -53 -48 -41 -37 -37 -39 -41 -43 -45 -44 -43 -41 -41 -43 -45 -46 -47 -47 -46 -45 -44 -42 -38 -34 -30 -28 -27 -26 -26 -26 -27 -27 -29 -31 -33 -35 -38 -39 -39 -38 -37 -38 -41 -44 -45 -45 -44 -40 -33 -26 -21 -26 -33 -38 -40 -41 -43 -47 -51 -53 -51 -46 -43 -42 -42 -42 -44 -46 -47 -46 -45 -45 -45 -46 -46 -46 -47 -48 -47 -45 -44 -43 -43 -42 -41 -43 -48 -56 -62 -65 -69 -74 -78 -78 -71 -63 -59 -60 -62 -62 -62 -63 -66 -69 -71 -74 -76 -78 -78 -76 -74 -74 -76 -80 -83 -84 -84 -83 -80 -80 -80 -81 -81 -80 -80 -79 -77 -75 -78 -82 -87 -90 -92 -91 -89 -87 -85 -84 -84 -85 -86 -86 -86 -85 -84 -82 -82 -81 -83 -85 -87 -85 -85 -88 -92 -98 -102 -106 -108 -108 -106 -101 -99 -98 -100 -101 -104 -107 -109 -107 -104 -99 -93 -89 -88 -89 -92 -94 -96 -97 -101 -105 -109 -109 -109 -110 -109 -107 -102 -95 -87 -81 -77 -76 -76 -79 -81 -81 -80 -79 -78 -79 -79 -81 -85 -89 -92 -92 -89 -86 -85 -84 -84 -84 -86 -87 -88 -88 -89 -90 -89 -87 -87 -88 -88 -87 -86 -86 -86 -84 -82 -80 -77 -76 -74 -72 -72 -71 -71 -70 -69 -69 -68 -67 -66 -66 -67 -68 -68 -68 -68 -67 -67 -67 -68 -68 -68 -67 -66 -66 -64 -64 -63 -63 -62 -61 -60 -59 -59 -57 -56 -57 -58 -57 -55 -55 -54 -52 -51 -35 -37 -40 -42 -42 -41 -40 -38 -35 -34 -34 -33 -31 -27 -23 -20 -22 -27 -29 -30 -30 -30 -29 -30 -31 -33 -35 -37 -38 -38 -37 -38 -41 -44 -47 -50 -51 -52 -54 -55 -57 -59 -60 -60 -61 -61 -60 -59 -57 -55 -55 -56 -54 -47 -35 -28 -29 -29 -27 -24 -25 -27 -29 -31 -32 -34 -34 -35 -36 -38 -38 -37 -35 -35 -36 -37 -38 -39 -38 -38 -39 -38 -35 -32 -31 -31 -31 -34 -39 -45 -50 -54 -56 -59 -62 -63 -64 -63 -62 -62 -62 -63 -63 -61 -60 -60 -60 -60 -59 -59 -57 -55 -52 -51 -52 -52 -51 -49 -47 -46 -48 -53 -62 -69 -72 -71 -67 -62 -59 -57 -55 -56 -55 -53 -49 -44 -39 -36 -36 -38 -42 -45 -45 -43 -41 -40 -43 -46 -47 -48 -48 -46 -43 -41 -39 -37 -34 -31 -29 -28 -27 -26 -27 -29 -30 -31 -33 -35 -37 -39 -40 -39 -38 -37 -38 -40 -42 -43 -43 -43 -40 -36 -29 -23 -23 -25 -28 -32 -39 -46 -51 -54 -55 -53 -51 -48 -45 -44 -45 -46 -47 -47 -46 -46 -46 -46 -47 -48 -49 -49 -50 -50 -48 -47 -47 -47 -47 -47 -47 -51 -56 -62 -67 -72 -77 -79 -77 -68 -60 -57 -60 -64 -66 -67 -67 -68 -69 -70 -72 -75 -77 -78 -76 -74 -75 -79 -82 -82 -81 -80 -81 -80 -81 -82 -83 -81 -80 -78 -77 -74 -73 -76 -80 -84 -88 -89 -88 -86 -85 -85 -85 -86 -86 -85 -84 -82 -82 -82 -83 -83 -81 -81 -81 -83 -83 -84 -87 -92 -98 -102 -106 -108 -109 -107 -101 -97 -96 -97 -100 -105 -109 -109 -106 -103 -98 -94 -91 -89 -89 -91 -93 -94 -97 -103 -108 -110 -109 -110 -110 -109 -106 -102 -96 -89 -84 -81 -79 -78 -80 -82 -82 -81 -80 -79 -80 -81 -83 -86 -89 -90 -90 -88 -86 -84 -83 -82 -83 -84 -85 -86 -86 -88 -91 -91 -89 -89 -89 -88 -87 -86 -87 -85 -84 -82 -80 -78 -76 -75 -72 -72 -71 -71 -70 -70 -69 -68 -67 -66 -66 -67 -68 -68 -67 -67 -67 -67 -67 -68 -69 -68 -67 -66 -66 -65 -65 -64 -64 -63 -63 -61 -60 -60 -59 -58 -59 -58 -57 -56 -55 -54 -53 -53 -33 -34 -37 -37 -37 -37 -37 -35 -33 -33 -33 -32 -29 -26 -23 -21 -23 -26 -27 -28 -29 -28 -26 -27 -29 -32 -33 -35 -35 -35 -36 -37 -40 -41 -42 -43 -44 -46 -48 -50 -52 -54 -57 -59 -61 -60 -58 -55 -52 -51 -52 -54 -54 -47 -34 -27 -26 -26 -26 -26 -28 -30 -31 -32 -32 -33 -33 -34 -36 -38 -37 -35 -34 -34 -36 -37 -38 -37 -36 -36 -37 -37 -35 -33 -32 -32 -33 -36 -41 -46 -50 -53 -55 -58 -60 -62 -62 -61 -61 -62 -63 -64 -64 -63 -63 -62 -62 -62 -61 -61 -60 -57 -52 -49 -49 -51 -53 -53 -52 -49 -48 -51 -59 -66 -71 -70 -65 -58 -55 -55 -55 -53 -52 -51 -48 -44 -40 -37 -37 -40 -44 -46 -45 -42 -39 -40 -45 -48 -49 -49 -49 -47 -43 -40 -37 -35 -33 -31 -30 -29 -28 -28 -29 -32 -34 -34 -35 -37 -39 -40 -41 -40 -39 -39 -40 -41 -41 -42 -42 -42 -41 -38 -32 -25 -24 -26 -29 -33 -41 -47 -50 -52 -54 -54 -52 -49 -47 -45 -46 -47 -47 -47 -47 -48 -48 -48 -49 -50 -51 -52 -52 -52 -51 -50 -50 -51 -52 -53 -54 -55 -58 -63 -68 -74 -78 -78 -73 -65 -61 -60 -61 -64 -66 -67 -68 -68 -68 -68 -70 -72 -74 -76 -76 -75 -76 -80 -83 -83 -81 -80 -79 -79 -81 -83 -84 -83 -80 -78 -77 -75 -75 -76 -79 -84 -88 -88 -85 -83 -83 -85 -87 -88 -88 -86 -84 -81 -80 -81 -82 -83 -82 -81 -80 -81 -83 -86 -90 -94 -97 -100 -103 -106 -107 -105 -101 -96 -94 -96 -101 -106 -110 -109 -105 -102 -99 -96 -94 -92 -91 -90 -90 -92 -98 -105 -108 -108 -107 -109 -108 -106 -104 -101 -95 -89 -84 -81 -80 -79 -81 -82 -82 -80 -79 -80 -81 -83 -84 -85 -86 -87 -88 -87 -86 -85 -83 -81 -81 -82 -83 -84 -84 -87 -91 -92 -91 -90 -89 -89 -88 -87 -87 -85 -82 -81 -81 -79 -77 -75 -73 -73 -73 -72 -70 -70 -70 -69 -68 -67 -66 -67 -67 -67 -67 -67 -66 -66 -66 -67 -69 -68 -67 -65 -65 -65 -66 -66 -65 -64 -63 -62 -60 -59 -59 -59 -59 -59 -58 -57 -56 -55 -55 -54 -31 -31 -32 -33 -33 -33 -33 -32 -31 -31 -31 -30 -27 -24 -21 -21 -23 -24 -25 -26 -26 -26 -24 -25 -27 -29 -31 -32 -32 -32 -34 -37 -38 -38 -39 -41 -41 -43 -45 -46 -47 -48 -51 -54 -56 -55 -52 -49 -49 -49 -51 -53 -54 -51 -43 -32 -27 -25 -26 -29 -31 -32 -33 -33 -34 -34 -34 -35 -36 -37 -36 -34 -33 -34 -36 -36 -36 -34 -34 -35 -36 -36 -35 -34 -33 -33 -34 -38 -44 -47 -50 -51 -54 -56 -58 -60 -60 -59 -59 -61 -63 -64 -63 -63 -63 -64 -65 -66 -66 -64 -60 -56 -52 -50 -50 -51 -53 -54 -53 -51 -50 -52 -58 -64 -67 -66 -59 -54 -51 -50 -50 -50 -50 -48 -45 -43 -42 -42 -43 -45 -48 -47 -43 -38 -37 -40 -46 -50 -51 -51 -51 -49 -44 -39 -35 -33 -33 -32 -31 -29 -28 -29 -32 -36 -38 -38 -38 -39 -40 -41 -42 -41 -41 -41 -41 -42 -43 -43 -43 -44 -44 -41 -35 -28 -28 -31 -35 -40 -45 -49 -50 -52 -52 -52 -51 -49 -46 -44 -45 -46 -47 -48 -50 -51 -51 -50 -51 -52 -54 -55 -54 -54 -53 -53 -53 -55 -57 -59 -60 -60 -62 -65 -71 -77 -79 -77 -69 -63 -60 -61 -62 -64 -66 -67 -68 -68 -68 -68 -68 -69 -71 -73 -74 -74 -75 -80 -83 -85 -85 -84 -81 -79 -80 -82 -82 -81 -79 -78 -78 -78 -77 -77 -78 -81 -82 -82 -81 -81 -83 -87 -90 -91 -91 -89 -86 -83 -81 -80 -81 -83 -83 -83 -82 -81 -84 -88 -92 -95 -96 -98 -101 -104 -106 -106 -103 -99 -97 -98 -103 -108 -111 -109 -104 -102 -100 -99 -96 -94 -92 -90 -90 -92 -98 -103 -105 -106 -108 -109 -107 -104 -100 -98 -94 -89 -84 -80 -78 -78 -80 -82 -82 -81 -80 -80 -81 -81 -80 -81 -82 -84 -86 -86 -86 -85 -83 -80 -80 -80 -81 -83 -83 -85 -88 -90 -91 -90 -90 -90 -89 -88 -88 -85 -82 -81 -81 -80 -79 -77 -75 -74 -74 -73 -71 -70 -70 -69 -69 -68 -67 -67 -66 -66 -66 -66 -65 -65 -65 -66 -67 -67 -66 -65 -65 -66 -67 -67 -66 -64 -62 -61 -60 -59 -59 -59 -59 -59 -58 -57 -57 -56 -56 -55 -29 -29 -29 -30 -30 -30 -29 -28 -27 -27 -28 -26 -22 -20 -19 -20 -22 -22 -24 -25 -26 -25 -23 -23 -24 -26 -28 -30 -31 -31 -32 -34 -34 -35 -36 -38 -39 -42 -43 -42 -42 -42 -46 -49 -50 -48 -46 -45 -46 -49 -51 -52 -51 -48 -42 -33 -28 -26 -27 -30 -32 -33 -34 -35 -35 -35 -35 -35 -36 -36 -34 -33 -33 -34 -35 -34 -33 -33 -32 -33 -34 -35 -36 -35 -34 -34 -35 -39 -44 -47 -49 -50 -53 -55 -56 -57 -58 -58 -59 -60 -61 -62 -62 -63 -64 -65 -66 -68 -68 -65 -60 -56 -56 -56 -55 -55 -55 -54 -54 -54 -54 -55 -59 -63 -64 -61 -53 -49 -48 -47 -45 -44 -45 -44 -43 -42 -42 -44 -47 -49 -50 -46 -41 -36 -36 -40 -46 -49 -51 -51 -50 -48 -43 -39 -35 -32 -32 -32 -32 -31 -31 -33 -37 -41 -42 -41 -40 -41 -42 -42 -43 -42 -42 -41 -42 -43 -44 -44 -45 -47 -46 -42 -36 -32 -34 -37 -41 -44 -47 -49 -51 -52 -51 -51 -50 -49 -47 -48 -50 -50 -51 -52 -52 -52 -52 -52 -52 -54 -55 -56 -56 -55 -55 -55 -56 -58 -61 -63 -63 -64 -66 -69 -75 -78 -78 -74 -65 -60 -60 -62 -63 -64 -68 -70 -71 -70 -69 -68 -66 -65 -67 -69 -71 -73 -75 -81 -85 -89 -91 -90 -84 -80 -80 -80 -79 -77 -77 -78 -79 -79 -79 -78 -78 -77 -77 -77 -78 -80 -84 -87 -89 -90 -91 -91 -87 -84 -81 -80 -80 -82 -84 -84 -84 -83 -85 -90 -95 -98 -98 -99 -101 -104 -107 -107 -105 -103 -104 -107 -108 -110 -110 -107 -103 -102 -102 -102 -99 -96 -94 -93 -93 -94 -99 -102 -106 -108 -109 -108 -106 -102 -98 -95 -92 -89 -85 -82 -80 -79 -80 -82 -83 -81 -81 -81 -81 -79 -78 -78 -79 -81 -83 -84 -84 -84 -82 -79 -78 -78 -79 -80 -82 -84 -85 -87 -89 -89 -89 -90 -89 -88 -88 -87 -84 -82 -81 -80 -79 -79 -77 -76 -75 -74 -72 -71 -70 -69 -69 -69 -68 -67 -66 -66 -66 -66 -66 -66 -65 -65 -66 -66 -66 -65 -66 -67 -67 -67 -66 -64 -62 -61 -61 -61 -61 -61 -60 -59 -59 -58 -57 -57 -56 -55 -30 -29 -28 -28 -28 -27 -27 -25 -24 -23 -22 -21 -19 -17 -17 -18 -19 -19 -23 -26 -28 -25 -22 -22 -24 -26 -28 -30 -31 -31 -30 -30 -31 -32 -33 -35 -37 -40 -41 -39 -37 -37 -40 -43 -44 -42 -42 -43 -45 -48 -51 -50 -46 -40 -35 -30 -28 -27 -28 -30 -32 -34 -35 -35 -35 -35 -34 -34 -34 -34 -33 -32 -33 -33 -33 -32 -32 -31 -31 -32 -33 -35 -36 -37 -37 -36 -35 -37 -42 -45 -48 -50 -53 -55 -55 -56 -57 -58 -59 -60 -60 -60 -62 -63 -64 -64 -65 -67 -67 -64 -60 -57 -59 -59 -58 -55 -54 -53 -54 -55 -56 -58 -60 -61 -60 -55 -48 -45 -45 -44 -43 -41 -41 -41 -41 -41 -42 -45 -47 -50 -50 -45 -39 -36 -36 -40 -45 -48 -50 -50 -49 -47 -43 -38 -35 -33 -33 -34 -34 -33 -33 -35 -37 -40 -41 -41 -42 -42 -43 -44 -44 -43 -43 -42 -40 -41 -42 -44 -47 -50 -47 -41 -37 -37 -40 -42 -43 -45 -47 -49 -50 -51 -51 -50 -50 -50 -50 -51 -53 -54 -55 -56 -55 -55 -54 -53 -52 -53 -54 -56 -56 -56 -56 -57 -59 -60 -62 -63 -63 -65 -68 -73 -77 -79 -77 -70 -62 -58 -58 -60 -60 -63 -68 -72 -74 -75 -73 -70 -65 -62 -63 -66 -69 -72 -75 -79 -85 -91 -94 -93 -88 -84 -82 -80 -77 -75 -75 -77 -80 -80 -80 -79 -77 -75 -73 -74 -76 -80 -85 -87 -88 -90 -91 -91 -88 -85 -83 -82 -80 -81 -83 -85 -86 -85 -88 -93 -98 -100 -100 -101 -102 -105 -107 -107 -107 -108 -110 -114 -114 -112 -108 -104 -102 -102 -104 -105 -103 -99 -97 -96 -95 -96 -99 -102 -105 -108 -110 -109 -106 -101 -97 -94 -92 -90 -88 -86 -83 -82 -82 -82 -82 -81 -80 -81 -81 -78 -77 -76 -77 -78 -81 -83 -84 -83 -81 -78 -77 -78 -78 -80 -82 -83 -84 -85 -88 -89 -88 -87 -85 -86 -87 -87 -85 -84 -82 -81 -80 -80 -78 -77 -76 -74 -72 -70 -69 -69 -69 -68 -67 -67 -66 -67 -67 -66 -66 -66 -66 -65 -66 -66 -66 -65 -66 -66 -67 -67 -66 -65 -64 -63 -63 -62 -63 -62 -61 -59 -59 -59 -58 -57 -56 -55 -33 -32 -31 -29 -29 -28 -26 -24 -22 -21 -19 -18 -16 -16 -17 -18 -17 -17 -22 -26 -28 -25 -20 -21 -25 -29 -30 -31 -32 -30 -27 -25 -27 -29 -31 -33 -36 -38 -39 -36 -33 -33 -35 -37 -37 -36 -39 -43 -47 -48 -49 -46 -39 -32 -29 -28 -28 -27 -27 -29 -32 -34 -35 -35 -35 -34 -34 -33 -32 -32 -32 -33 -34 -34 -33 -33 -32 -31 -30 -30 -32 -34 -37 -39 -39 -38 -36 -36 -39 -44 -49 -52 -53 -55 -57 -57 -58 -58 -59 -59 -60 -60 -62 -63 -64 -64 -64 -65 -64 -63 -62 -60 -59 -57 -54 -51 -49 -49 -50 -53 -56 -58 -59 -57 -54 -49 -44 -42 -42 -43 -42 -41 -39 -39 -39 -40 -42 -44 -46 -49 -49 -43 -38 -35 -36 -41 -45 -47 -48 -48 -47 -45 -42 -39 -35 -33 -33 -34 -35 -35 -36 -36 -36 -38 -39 -41 -42 -43 -44 -44 -44 -45 -45 -43 -39 -37 -39 -43 -48 -48 -46 -43 -41 -41 -43 -44 -44 -43 -44 -47 -50 -51 -50 -50 -50 -51 -52 -53 -55 -57 -58 -58 -57 -56 -55 -54 -52 -52 -53 -55 -57 -58 -58 -58 -59 -61 -62 -63 -64 -65 -69 -75 -79 -79 -75 -66 -58 -55 -55 -55 -55 -60 -66 -72 -76 -77 -76 -72 -66 -62 -62 -64 -67 -69 -72 -77 -84 -90 -93 -94 -91 -88 -85 -82 -77 -75 -75 -76 -79 -80 -80 -78 -76 -74 -72 -73 -76 -80 -86 -89 -91 -92 -94 -93 -91 -90 -89 -86 -82 -81 -83 -86 -88 -88 -91 -96 -100 -101 -101 -102 -103 -106 -108 -109 -110 -111 -114 -116 -115 -113 -109 -106 -104 -105 -106 -108 -106 -102 -99 -97 -96 -97 -100 -102 -104 -105 -106 -105 -103 -100 -96 -95 -93 -91 -89 -88 -86 -84 -82 -82 -81 -81 -80 -80 -79 -77 -76 -76 -76 -78 -81 -83 -84 -84 -81 -79 -77 -77 -79 -81 -83 -84 -84 -85 -87 -88 -87 -85 -83 -85 -86 -87 -85 -84 -83 -82 -81 -80 -79 -77 -76 -74 -73 -71 -69 -69 -69 -68 -67 -67 -67 -68 -67 -66 -66 -67 -66 -66 -66 -66 -66 -66 -66 -66 -66 -66 -66 -66 -65 -65 -64 -64 -64 -63 -62 -61 -60 -60 -59 -58 -57 -55 -36 -35 -34 -33 -33 -31 -29 -26 -23 -20 -18 -15 -14 -15 -18 -20 -18 -17 -21 -26 -27 -23 -17 -18 -23 -29 -32 -32 -32 -29 -25 -21 -22 -26 -30 -33 -36 -37 -37 -35 -32 -32 -33 -32 -31 -30 -35 -43 -49 -50 -45 -39 -33 -29 -28 -28 -26 -26 -26 -28 -31 -33 -35 -36 -36 -37 -37 -36 -34 -33 -34 -35 -36 -36 -36 -37 -36 -34 -32 -31 -32 -34 -36 -39 -41 -41 -39 -38 -40 -46 -51 -54 -55 -57 -58 -58 -58 -57 -59 -60 -61 -61 -62 -62 -60 -60 -60 -61 -61 -62 -63 -62 -58 -54 -50 -46 -43 -44 -47 -51 -56 -59 -57 -52 -47 -43 -40 -40 -41 -41 -42 -41 -40 -38 -37 -38 -41 -43 -46 -49 -48 -41 -36 -34 -37 -41 -45 -46 -45 -44 -44 -43 -42 -39 -36 -33 -33 -34 -34 -35 -36 -37 -37 -37 -38 -41 -43 -45 -45 -44 -44 -46 -47 -45 -38 -34 -35 -40 -42 -40 -40 -40 -42 -41 -43 -44 -43 -40 -41 -44 -48 -51 -52 -51 -51 -52 -53 -55 -57 -59 -58 -57 -56 -56 -56 -56 -55 -53 -54 -56 -58 -59 -59 -58 -58 -59 -60 -61 -63 -66 -71 -76 -79 -79 -74 -64 -55 -51 -50 -52 -53 -57 -63 -70 -74 -75 -74 -71 -67 -64 -65 -67 -68 -69 -71 -76 -82 -87 -90 -90 -88 -87 -87 -86 -82 -78 -75 -74 -75 -78 -79 -78 -76 -74 -73 -74 -77 -82 -88 -91 -93 -94 -96 -96 -96 -96 -96 -96 -91 -87 -87 -89 -90 -90 -92 -96 -101 -102 -101 -101 -102 -105 -108 -109 -111 -112 -114 -116 -115 -112 -109 -108 -108 -106 -106 -107 -106 -104 -102 -100 -99 -99 -100 -101 -102 -104 -104 -103 -101 -98 -96 -95 -94 -92 -90 -89 -86 -83 -81 -81 -81 -81 -80 -79 -77 -77 -77 -77 -77 -78 -81 -82 -84 -84 -83 -80 -77 -76 -79 -83 -85 -85 -85 -85 -85 -86 -86 -85 -82 -84 -85 -85 -83 -83 -82 -81 -81 -80 -79 -77 -76 -75 -74 -72 -70 -69 -69 -69 -68 -68 -68 -68 -67 -66 -66 -66 -66 -65 -65 -66 -66 -66 -66 -65 -66 -65 -66 -66 -66 -65 -66 -66 -66 -65 -63 -61 -60 -60 -60 -59 -57 -55 -35 -36 -36 -36 -36 -35 -33 -29 -25 -21 -17 -13 -11 -14 -18 -21 -20 -17 -21 -25 -26 -22 -16 -16 -21 -27 -30 -33 -33 -31 -26 -20 -19 -23 -28 -32 -35 -36 -35 -34 -32 -34 -35 -32 -29 -28 -33 -40 -47 -50 -44 -36 -32 -31 -32 -29 -26 -24 -26 -28 -31 -33 -36 -38 -39 -41 -43 -43 -41 -38 -37 -38 -38 -39 -39 -41 -42 -41 -40 -38 -35 -32 -32 -35 -39 -42 -42 -42 -44 -50 -54 -56 -57 -59 -60 -59 -57 -56 -58 -60 -61 -62 -62 -60 -59 -59 -61 -63 -61 -61 -61 -60 -56 -51 -45 -41 -39 -42 -48 -55 -60 -60 -52 -44 -39 -38 -39 -39 -39 -40 -42 -42 -40 -37 -35 -35 -38 -43 -47 -50 -47 -39 -35 -35 -38 -42 -44 -45 -44 -42 -41 -41 -40 -37 -33 -32 -33 -34 -35 -35 -35 -36 -37 -38 -39 -41 -44 -46 -47 -46 -46 -46 -45 -40 -34 -32 -32 -34 -37 -39 -41 -42 -42 -43 -43 -41 -40 -39 -40 -43 -47 -51 -54 -53 -53 -53 -54 -56 -58 -58 -58 -56 -55 -55 -56 -57 -58 -56 -56 -58 -59 -60 -59 -57 -56 -57 -59 -60 -63 -67 -73 -77 -80 -80 -75 -64 -53 -49 -49 -51 -53 -55 -60 -65 -70 -71 -71 -70 -69 -68 -70 -72 -72 -72 -73 -78 -83 -86 -86 -85 -85 -85 -85 -85 -84 -82 -78 -74 -72 -74 -78 -79 -78 -75 -75 -77 -80 -84 -89 -92 -94 -95 -97 -98 -99 -99 -100 -100 -96 -92 -89 -87 -88 -89 -91 -95 -99 -100 -99 -98 -100 -103 -106 -109 -111 -112 -113 -114 -112 -110 -107 -107 -107 -106 -105 -105 -105 -104 -104 -103 -102 -100 -99 -99 -101 -102 -103 -102 -99 -96 -94 -94 -92 -91 -91 -89 -86 -83 -80 -80 -81 -81 -80 -77 -77 -78 -78 -78 -77 -78 -80 -81 -82 -82 -82 -80 -77 -76 -78 -81 -83 -84 -85 -85 -85 -85 -86 -85 -82 -83 -84 -84 -82 -81 -81 -81 -82 -80 -79 -78 -77 -75 -75 -73 -71 -70 -70 -69 -69 -68 -68 -68 -67 -67 -66 -66 -66 -65 -65 -65 -66 -66 -65 -65 -65 -66 -67 -67 -66 -65 -66 -67 -67 -66 -65 -63 -61 -61 -61 -60 -57 -55 -33 -34 -36 -36 -37 -37 -35 -32 -27 -22 -17 -12 -9 -12 -17 -21 -22 -19 -21 -25 -26 -23 -17 -16 -18 -23 -27 -32 -34 -34 -31 -24 -20 -21 -26 -32 -35 -35 -34 -33 -35 -39 -39 -35 -30 -30 -35 -39 -44 -46 -43 -37 -33 -32 -32 -27 -24 -25 -27 -29 -30 -32 -34 -36 -38 -41 -45 -47 -48 -46 -43 -41 -41 -41 -40 -42 -44 -47 -49 -46 -40 -33 -30 -32 -36 -39 -42 -45 -49 -52 -55 -56 -58 -60 -60 -58 -57 -57 -58 -60 -61 -63 -62 -60 -59 -59 -60 -61 -61 -62 -62 -60 -54 -47 -42 -40 -40 -44 -51 -56 -56 -50 -43 -39 -37 -37 -37 -38 -39 -40 -41 -42 -40 -37 -34 -32 -36 -41 -46 -48 -44 -37 -34 -35 -38 -41 -43 -43 -42 -41 -40 -38 -35 -32 -30 -31 -33 -34 -35 -34 -35 -36 -38 -39 -41 -43 -45 -47 -49 -48 -47 -46 -43 -37 -33 -32 -32 -32 -35 -39 -41 -43 -43 -43 -44 -43 -41 -39 -41 -44 -47 -50 -52 -52 -53 -54 -56 -58 -59 -59 -58 -57 -55 -55 -56 -58 -59 -59 -58 -59 -60 -61 -59 -57 -56 -57 -59 -62 -66 -70 -75 -78 -81 -81 -77 -66 -54 -49 -49 -51 -53 -56 -59 -62 -66 -71 -73 -73 -72 -73 -77 -78 -78 -77 -77 -81 -84 -85 -83 -82 -81 -82 -84 -85 -85 -84 -81 -78 -73 -73 -78 -82 -83 -80 -79 -80 -82 -85 -88 -90 -92 -95 -97 -98 -99 -100 -101 -101 -98 -93 -88 -85 -84 -86 -88 -91 -95 -96 -95 -95 -96 -100 -104 -108 -110 -110 -111 -111 -109 -106 -105 -105 -104 -104 -104 -104 -104 -103 -103 -103 -102 -100 -99 -99 -99 -100 -100 -99 -97 -95 -94 -93 -92 -92 -92 -90 -85 -80 -77 -77 -79 -80 -79 -78 -77 -78 -78 -78 -78 -79 -80 -80 -80 -80 -80 -79 -77 -77 -79 -80 -80 -81 -83 -85 -85 -85 -86 -84 -82 -83 -84 -84 -83 -82 -82 -82 -81 -80 -79 -78 -76 -75 -75 -73 -72 -70 -70 -70 -69 -69 -69 -69 -68 -67 -67 -68 -67 -66 -65 -66 -67 -66 -65 -65 -65 -67 -67 -67 -66 -64 -66 -67 -67 -67 -66 -64 -63 -62 -63 -61 -58 -55 -30 -32 -34 -36 -37 -37 -36 -33 -29 -24 -19 -14 -10 -11 -15 -19 -21 -22 -24 -26 -26 -24 -19 -17 -18 -19 -20 -23 -27 -29 -29 -26 -22 -23 -26 -31 -34 -35 -34 -34 -34 -34 -33 -31 -30 -32 -37 -41 -45 -46 -43 -38 -36 -35 -34 -28 -27 -29 -31 -31 -31 -31 -33 -35 -38 -41 -43 -46 -49 -51 -50 -48 -47 -46 -45 -46 -47 -50 -53 -52 -46 -39 -34 -32 -34 -37 -41 -44 -48 -53 -57 -60 -62 -62 -60 -58 -58 -58 -59 -60 -61 -61 -60 -58 -58 -59 -60 -59 -60 -61 -61 -60 -55 -48 -42 -40 -41 -47 -52 -53 -49 -42 -38 -36 -36 -36 -35 -36 -37 -38 -39 -40 -38 -36 -34 -33 -35 -39 -43 -44 -40 -35 -34 -35 -37 -39 -41 -42 -42 -39 -36 -33 -31 -30 -30 -32 -33 -33 -34 -34 -36 -39 -41 -42 -41 -43 -44 -46 -47 -45 -43 -42 -40 -37 -35 -34 -32 -32 -34 -37 -40 -43 -43 -43 -44 -45 -45 -43 -43 -45 -48 -50 -52 -52 -53 -53 -55 -57 -58 -58 -57 -56 -55 -55 -57 -58 -60 -60 -60 -60 -61 -62 -61 -60 -60 -61 -63 -66 -70 -73 -76 -78 -79 -80 -79 -70 -57 -49 -47 -49 -52 -55 -58 -62 -65 -69 -71 -72 -73 -78 -83 -85 -84 -82 -80 -81 -82 -82 -81 -80 -80 -81 -84 -87 -86 -85 -84 -81 -75 -75 -79 -84 -86 -83 -81 -81 -82 -83 -85 -88 -91 -94 -95 -96 -98 -100 -101 -101 -96 -91 -86 -84 -82 -82 -84 -87 -90 -91 -92 -93 -94 -96 -101 -105 -107 -108 -108 -107 -105 -104 -103 -103 -103 -102 -102 -103 -102 -102 -102 -101 -101 -99 -98 -98 -97 -96 -96 -95 -94 -94 -94 -93 -93 -92 -91 -89 -85 -80 -75 -76 -78 -79 -79 -78 -77 -77 -78 -78 -78 -79 -80 -79 -78 -78 -78 -78 -77 -77 -78 -78 -78 -78 -81 -83 -84 -85 -85 -83 -82 -82 -84 -84 -83 -82 -82 -82 -81 -80 -80 -79 -77 -75 -73 -73 -72 -71 -70 -70 -70 -70 -71 -70 -69 -68 -68 -69 -69 -67 -66 -66 -67 -66 -66 -66 -66 -67 -67 -67 -65 -64 -65 -67 -67 -67 -66 -65 -64 -63 -63 -61 -59 -57 -29 -31 -33 -35 -37 -37 -36 -33 -29 -25 -20 -16 -14 -15 -17 -19 -22 -24 -27 -28 -28 -26 -22 -18 -17 -17 -17 -19 -22 -24 -25 -24 -24 -26 -29 -33 -35 -36 -36 -35 -34 -32 -29 -28 -29 -32 -35 -40 -43 -44 -40 -36 -36 -36 -37 -34 -37 -38 -37 -34 -33 -33 -34 -35 -37 -40 -43 -47 -51 -54 -55 -55 -54 -52 -51 -50 -49 -49 -50 -52 -50 -46 -42 -40 -40 -40 -41 -43 -46 -51 -56 -61 -64 -62 -60 -58 -58 -58 -59 -59 -59 -58 -58 -58 -59 -60 -60 -58 -58 -58 -59 -58 -56 -50 -45 -42 -44 -49 -50 -49 -44 -38 -35 -34 -35 -34 -33 -33 -34 -36 -38 -38 -37 -36 -36 -36 -38 -41 -44 -43 -37 -33 -32 -34 -36 -37 -39 -40 -40 -37 -33 -29 -27 -28 -31 -32 -33 -35 -36 -38 -41 -44 -46 -44 -42 -39 -37 -37 -39 -37 -35 -35 -36 -38 -38 -37 -34 -33 -35 -37 -39 -41 -43 -43 -44 -45 -47 -47 -47 -49 -51 -52 -53 -54 -54 -54 -55 -57 -58 -59 -58 -58 -57 -57 -57 -58 -60 -61 -62 -63 -62 -62 -62 -63 -65 -67 -68 -70 -72 -74 -75 -75 -77 -78 -80 -74 -62 -53 -48 -49 -51 -54 -56 -59 -61 -64 -66 -68 -70 -76 -82 -85 -83 -79 -76 -77 -79 -80 -82 -81 -80 -81 -84 -86 -85 -84 -82 -79 -74 -74 -78 -83 -85 -82 -80 -80 -81 -83 -85 -87 -90 -93 -94 -95 -97 -99 -100 -99 -94 -89 -85 -83 -81 -79 -80 -83 -87 -89 -91 -94 -96 -97 -100 -103 -106 -108 -107 -104 -103 -103 -102 -102 -101 -100 -100 -101 -100 -100 -100 -100 -99 -98 -97 -96 -95 -94 -93 -92 -92 -94 -95 -94 -94 -92 -91 -89 -86 -82 -78 -78 -79 -79 -78 -78 -77 -76 -76 -77 -78 -79 -79 -78 -77 -76 -76 -76 -76 -75 -75 -75 -75 -76 -79 -81 -82 -82 -81 -79 -80 -82 -84 -83 -82 -82 -81 -81 -80 -80 -80 -79 -77 -75 -73 -72 -73 -72 -71 -70 -70 -71 -72 -71 -70 -68 -69 -70 -69 -68 -67 -67 -67 -67 -66 -66 -67 -68 -67 -66 -64 -63 -65 -67 -67 -67 -66 -66 -65 -63 -62 -61 -59 -58 -28 -30 -32 -35 -37 -37 -35 -31 -28 -25 -22 -20 -19 -22 -25 -27 -26 -28 -32 -32 -29 -26 -21 -18 -17 -17 -18 -20 -24 -26 -27 -25 -25 -29 -34 -37 -40 -41 -40 -38 -36 -33 -30 -28 -28 -30 -33 -38 -42 -43 -38 -35 -34 -36 -37 -40 -46 -48 -46 -41 -39 -39 -40 -40 -41 -43 -47 -51 -55 -57 -57 -57 -56 -54 -52 -50 -49 -47 -47 -49 -51 -51 -50 -50 -48 -45 -44 -44 -47 -49 -54 -58 -61 -60 -57 -57 -57 -57 -56 -56 -56 -57 -57 -58 -59 -59 -59 -58 -57 -56 -55 -55 -53 -50 -47 -45 -47 -49 -49 -46 -41 -36 -34 -34 -33 -33 -32 -32 -33 -34 -36 -36 -37 -37 -38 -39 -42 -44 -45 -40 -32 -27 -29 -33 -35 -37 -38 -39 -38 -35 -30 -26 -26 -28 -33 -35 -37 -37 -38 -40 -43 -45 -46 -44 -39 -34 -31 -30 -32 -33 -34 -35 -37 -40 -41 -39 -35 -33 -35 -36 -38 -40 -42 -43 -44 -45 -48 -49 -51 -53 -54 -54 -54 -55 -56 -57 -57 -58 -59 -60 -60 -60 -60 -60 -61 -61 -61 -62 -63 -63 -63 -63 -63 -65 -67 -69 -70 -72 -73 -74 -74 -73 -73 -76 -78 -77 -69 -60 -53 -51 -53 -54 -55 -57 -58 -60 -61 -64 -67 -74 -79 -81 -81 -78 -75 -75 -77 -81 -85 -84 -82 -81 -81 -82 -81 -80 -79 -76 -71 -72 -77 -81 -82 -80 -79 -79 -80 -84 -88 -91 -92 -92 -92 -93 -95 -96 -97 -97 -93 -88 -85 -83 -80 -78 -77 -80 -84 -88 -91 -93 -95 -96 -100 -105 -108 -109 -106 -103 -101 -100 -99 -99 -99 -99 -99 -99 -98 -98 -98 -98 -97 -96 -95 -94 -94 -93 -93 -93 -93 -94 -96 -96 -95 -95 -93 -91 -88 -85 -83 -82 -81 -80 -78 -77 -76 -75 -74 -75 -75 -76 -76 -76 -76 -75 -75 -74 -74 -73 -72 -72 -73 -75 -78 -80 -81 -81 -78 -77 -78 -80 -82 -82 -82 -81 -80 -80 -80 -80 -80 -78 -77 -76 -74 -73 -73 -73 -72 -70 -70 -71 -71 -71 -70 -69 -70 -70 -69 -68 -67 -67 -67 -66 -66 -66 -67 -67 -66 -64 -63 -63 -64 -66 -67 -67 -66 -65 -64 -62 -62 -60 -59 -58 -27 -28 -30 -34 -37 -36 -33 -28 -25 -23 -22 -21 -22 -26 -30 -32 -32 -32 -36 -38 -37 -33 -30 -25 -22 -20 -18 -18 -20 -22 -22 -23 -27 -32 -35 -37 -41 -44 -43 -41 -38 -35 -33 -31 -30 -29 -31 -37 -42 -43 -40 -36 -34 -35 -38 -45 -52 -56 -55 -51 -48 -49 -50 -50 -50 -51 -54 -58 -60 -57 -54 -52 -51 -49 -48 -47 -46 -46 -46 -49 -51 -52 -53 -54 -53 -50 -46 -46 -47 -49 -52 -55 -56 -55 -54 -54 -55 -55 -53 -53 -54 -56 -57 -57 -57 -57 -57 -56 -55 -53 -52 -52 -51 -49 -47 -46 -49 -50 -49 -44 -38 -35 -34 -33 -33 -31 -30 -31 -32 -33 -35 -36 -37 -38 -39 -41 -45 -47 -45 -37 -27 -24 -26 -30 -34 -36 -37 -37 -36 -34 -30 -27 -27 -30 -35 -38 -38 -38 -40 -42 -44 -44 -43 -42 -37 -31 -28 -30 -33 -34 -34 -35 -37 -40 -40 -38 -35 -32 -33 -35 -37 -39 -41 -43 -44 -46 -49 -51 -53 -55 -57 -57 -56 -57 -57 -58 -59 -59 -60 -61 -61 -62 -62 -63 -64 -64 -63 -62 -62 -63 -64 -64 -63 -64 -65 -68 -70 -72 -73 -73 -71 -70 -71 -73 -76 -78 -74 -68 -61 -57 -56 -55 -55 -55 -58 -59 -60 -62 -66 -73 -78 -81 -81 -79 -75 -75 -78 -83 -87 -88 -86 -82 -78 -76 -76 -77 -77 -74 -71 -72 -75 -78 -78 -78 -78 -79 -81 -84 -89 -91 -92 -92 -91 -91 -92 -93 -94 -94 -92 -89 -86 -84 -80 -77 -76 -77 -81 -85 -88 -90 -91 -95 -100 -106 -110 -111 -108 -104 -100 -98 -97 -98 -99 -99 -98 -97 -96 -96 -97 -96 -95 -94 -93 -92 -92 -93 -93 -93 -94 -95 -96 -97 -98 -97 -96 -93 -89 -86 -86 -85 -84 -82 -79 -77 -76 -74 -73 -72 -73 -74 -74 -76 -77 -76 -74 -73 -73 -71 -69 -69 -71 -74 -76 -78 -80 -80 -77 -75 -75 -77 -78 -79 -80 -80 -79 -79 -80 -80 -80 -78 -77 -77 -76 -75 -75 -73 -71 -70 -70 -71 -71 -70 -70 -70 -71 -71 -70 -69 -68 -67 -66 -66 -66 -65 -65 -66 -65 -63 -63 -63 -64 -65 -66 -66 -65 -64 -62 -61 -61 -60 -59 -58 -26 -27 -30 -33 -34 -33 -30 -26 -22 -20 -20 -21 -22 -26 -30 -34 -35 -33 -37 -40 -41 -42 -41 -37 -33 -27 -21 -20 -20 -18 -17 -20 -29 -34 -34 -33 -37 -40 -42 -42 -42 -39 -36 -35 -34 -33 -34 -38 -43 -45 -42 -39 -36 -36 -40 -48 -55 -58 -59 -57 -56 -58 -59 -60 -60 -59 -61 -63 -62 -55 -48 -45 -44 -43 -44 -45 -46 -47 -49 -53 -54 -53 -51 -49 -49 -48 -46 -44 -45 -50 -53 -54 -52 -50 -50 -52 -54 -56 -54 -54 -56 -56 -56 -55 -55 -55 -55 -54 -52 -51 -51 -52 -51 -47 -45 -46 -50 -52 -48 -42 -35 -33 -33 -33 -32 -31 -30 -31 -32 -34 -36 -37 -37 -37 -38 -41 -46 -48 -45 -35 -24 -22 -24 -28 -32 -34 -35 -34 -33 -31 -30 -30 -31 -33 -36 -37 -37 -37 -39 -42 -42 -43 -43 -44 -40 -34 -32 -34 -39 -40 -39 -38 -38 -39 -39 -38 -36 -34 -34 -35 -37 -39 -41 -42 -44 -46 -49 -52 -55 -57 -59 -60 -59 -58 -57 -58 -59 -60 -60 -61 -62 -63 -64 -64 -64 -64 -63 -61 -61 -61 -62 -62 -62 -63 -63 -65 -67 -69 -71 -71 -70 -70 -70 -71 -74 -76 -76 -73 -67 -62 -59 -58 -56 -56 -58 -59 -61 -62 -65 -70 -75 -78 -80 -80 -78 -78 -80 -83 -86 -86 -84 -80 -75 -73 -74 -75 -75 -71 -70 -71 -73 -75 -76 -77 -79 -81 -81 -83 -87 -89 -91 -92 -91 -92 -92 -93 -93 -93 -91 -88 -86 -84 -80 -76 -74 -75 -78 -81 -85 -87 -89 -92 -98 -104 -109 -110 -108 -105 -101 -97 -95 -96 -97 -98 -98 -95 -94 -93 -94 -94 -93 -93 -93 -92 -91 -91 -92 -93 -95 -96 -96 -97 -98 -98 -96 -93 -89 -85 -85 -85 -85 -83 -80 -77 -75 -73 -71 -70 -71 -72 -73 -74 -75 -74 -73 -72 -71 -70 -69 -68 -69 -71 -73 -75 -77 -77 -74 -73 -73 -74 -76 -78 -79 -79 -79 -79 -80 -80 -81 -80 -79 -78 -77 -76 -75 -73 -71 -69 -69 -70 -71 -71 -70 -70 -71 -71 -71 -70 -69 -67 -66 -66 -66 -65 -65 -64 -63 -62 -63 -63 -63 -64 -65 -65 -65 -64 -62 -61 -61 -60 -59 -58 -26 -26 -29 -32 -31 -30 -27 -24 -21 -19 -19 -19 -21 -24 -28 -33 -36 -35 -39 -39 -40 -42 -44 -44 -41 -36 -31 -28 -23 -19 -17 -21 -31 -34 -32 -29 -31 -34 -36 -39 -42 -42 -39 -38 -39 -42 -43 -45 -46 -45 -42 -39 -36 -37 -42 -52 -57 -60 -60 -60 -59 -60 -61 -63 -63 -63 -64 -63 -59 -51 -45 -42 -40 -40 -43 -46 -49 -50 -52 -55 -56 -56 -54 -52 -50 -49 -48 -47 -48 -52 -54 -54 -51 -48 -49 -51 -54 -57 -58 -58 -57 -56 -54 -54 -54 -54 -54 -53 -51 -50 -50 -50 -48 -45 -44 -47 -54 -54 -48 -40 -32 -31 -32 -32 -32 -31 -30 -31 -33 -36 -38 -38 -37 -36 -36 -38 -44 -47 -44 -34 -24 -22 -23 -26 -29 -31 -31 -30 -29 -29 -30 -32 -34 -35 -36 -37 -37 -38 -40 -42 -42 -42 -42 -43 -40 -36 -33 -33 -35 -37 -38 -39 -38 -39 -39 -38 -36 -34 -34 -36 -37 -38 -41 -44 -47 -49 -51 -54 -55 -58 -60 -62 -62 -60 -59 -59 -60 -61 -60 -61 -62 -63 -64 -64 -63 -62 -60 -59 -59 -60 -61 -62 -62 -61 -62 -62 -65 -67 -68 -69 -69 -68 -68 -69 -71 -71 -70 -68 -66 -63 -61 -60 -60 -60 -60 -61 -62 -64 -66 -69 -71 -74 -78 -80 -80 -80 -80 -81 -82 -82 -80 -78 -74 -72 -73 -75 -74 -70 -70 -71 -73 -74 -75 -77 -80 -82 -81 -81 -83 -86 -90 -91 -92 -92 -93 -94 -94 -92 -90 -88 -86 -82 -78 -74 -73 -74 -76 -79 -82 -86 -88 -91 -96 -102 -107 -108 -106 -103 -100 -96 -94 -95 -97 -100 -98 -94 -91 -90 -91 -92 -92 -92 -93 -92 -90 -90 -90 -91 -93 -93 -95 -96 -97 -98 -98 -96 -92 -86 -83 -82 -83 -83 -80 -78 -75 -72 -70 -69 -69 -69 -70 -72 -73 -72 -71 -70 -70 -69 -68 -67 -67 -69 -70 -72 -74 -74 -72 -71 -71 -72 -73 -75 -77 -77 -77 -78 -79 -80 -80 -80 -79 -78 -77 -76 -76 -73 -71 -70 -69 -70 -71 -71 -70 -71 -72 -71 -71 -71 -69 -68 -67 -66 -65 -65 -64 -63 -62 -62 -62 -63 -63 -64 -65 -65 -65 -65 -63 -62 -61 -60 -59 -57 -26 -27 -28 -31 -30 -27 -24 -22 -20 -19 -18 -19 -21 -23 -27 -32 -36 -37 -40 -38 -36 -36 -38 -41 -41 -42 -43 -36 -26 -21 -21 -25 -30 -32 -31 -31 -32 -33 -32 -32 -35 -39 -39 -39 -43 -51 -57 -58 -55 -50 -44 -40 -37 -37 -42 -51 -56 -58 -60 -61 -60 -60 -60 -62 -65 -66 -66 -64 -59 -51 -44 -41 -41 -44 -49 -52 -52 -52 -51 -53 -54 -55 -53 -49 -45 -43 -44 -48 -52 -56 -57 -55 -51 -49 -50 -52 -55 -57 -58 -58 -56 -55 -54 -54 -55 -54 -52 -50 -48 -47 -47 -46 -45 -43 -44 -49 -55 -56 -50 -41 -32 -29 -30 -31 -31 -30 -30 -31 -34 -38 -40 -39 -37 -35 -34 -37 -42 -46 -44 -34 -25 -23 -24 -26 -26 -26 -27 -27 -27 -29 -32 -34 -36 -36 -37 -38 -39 -40 -41 -42 -42 -41 -41 -40 -39 -37 -36 -35 -34 -34 -35 -36 -36 -37 -37 -36 -34 -33 -34 -36 -38 -40 -44 -49 -52 -54 -54 -56 -58 -61 -64 -65 -64 -63 -62 -61 -61 -62 -61 -60 -60 -62 -62 -62 -61 -59 -57 -56 -58 -61 -62 -62 -61 -61 -61 -62 -64 -66 -67 -69 -70 -70 -68 -65 -63 -64 -65 -65 -66 -67 -68 -68 -68 -67 -66 -65 -66 -68 -70 -71 -72 -75 -78 -80 -80 -79 -79 -79 -78 -77 -76 -73 -69 -68 -70 -73 -74 -71 -71 -73 -75 -75 -74 -75 -77 -80 -81 -80 -81 -84 -88 -91 -91 -92 -94 -95 -94 -92 -89 -86 -83 -79 -75 -72 -73 -76 -78 -80 -82 -85 -88 -90 -94 -99 -104 -105 -103 -100 -98 -96 -95 -96 -98 -100 -98 -94 -90 -89 -89 -91 -91 -92 -92 -93 -91 -90 -90 -91 -91 -91 -93 -95 -96 -97 -97 -96 -92 -87 -81 -79 -79 -81 -80 -78 -75 -72 -70 -70 -69 -68 -68 -69 -71 -71 -70 -69 -69 -68 -68 -67 -66 -66 -69 -71 -72 -71 -70 -70 -69 -69 -69 -72 -74 -75 -75 -77 -78 -79 -79 -78 -78 -77 -75 -75 -75 -73 -72 -70 -69 -70 -71 -71 -71 -73 -73 -71 -71 -71 -69 -68 -67 -66 -65 -65 -64 -63 -62 -62 -62 -62 -62 -63 -65 -65 -66 -65 -64 -63 -62 -61 -60 -59 -27 -28 -29 -30 -29 -25 -22 -20 -19 -19 -18 -19 -22 -26 -29 -32 -35 -38 -40 -38 -35 -33 -33 -35 -38 -41 -44 -37 -27 -22 -21 -23 -28 -31 -31 -30 -30 -32 -30 -29 -33 -39 -41 -42 -45 -53 -59 -61 -61 -57 -50 -43 -39 -38 -41 -46 -49 -52 -56 -59 -60 -60 -62 -65 -67 -66 -65 -61 -57 -49 -44 -43 -45 -50 -55 -57 -57 -55 -53 -51 -49 -46 -42 -40 -39 -41 -45 -48 -50 -52 -54 -53 -51 -49 -50 -52 -54 -56 -57 -57 -56 -55 -55 -55 -55 -54 -51 -47 -45 -44 -44 -45 -45 -44 -46 -51 -57 -58 -53 -43 -32 -28 -29 -31 -31 -31 -31 -33 -36 -38 -39 -38 -36 -34 -34 -36 -41 -44 -41 -33 -25 -23 -24 -26 -27 -25 -24 -25 -27 -30 -33 -35 -36 -35 -36 -37 -39 -41 -43 -43 -42 -41 -39 -39 -39 -38 -38 -38 -37 -35 -34 -34 -35 -35 -34 -34 -33 -33 -34 -37 -40 -43 -47 -52 -56 -57 -57 -59 -61 -64 -65 -66 -65 -65 -65 -64 -64 -63 -61 -60 -59 -60 -60 -60 -59 -57 -56 -56 -59 -63 -64 -63 -61 -61 -61 -62 -64 -66 -67 -68 -66 -64 -63 -62 -64 -69 -72 -71 -68 -71 -73 -73 -73 -72 -71 -70 -70 -71 -72 -73 -75 -77 -79 -79 -77 -76 -76 -77 -77 -75 -73 -71 -67 -66 -68 -71 -72 -72 -74 -77 -77 -75 -72 -72 -75 -79 -83 -84 -85 -86 -88 -90 -90 -91 -93 -94 -93 -90 -87 -83 -81 -77 -74 -74 -75 -79 -81 -83 -85 -86 -87 -89 -92 -95 -99 -101 -100 -99 -98 -98 -97 -98 -99 -100 -98 -95 -92 -90 -89 -90 -90 -90 -91 -92 -93 -92 -92 -92 -91 -91 -92 -94 -95 -95 -96 -95 -93 -87 -81 -76 -75 -78 -78 -77 -75 -74 -72 -71 -69 -68 -67 -67 -67 -68 -68 -68 -68 -68 -68 -67 -66 -66 -68 -69 -70 -69 -69 -69 -69 -67 -66 -68 -71 -73 -73 -75 -77 -78 -78 -78 -76 -75 -74 -73 -73 -73 -72 -71 -70 -70 -70 -71 -72 -72 -71 -70 -70 -70 -70 -69 -68 -66 -66 -65 -64 -63 -62 -62 -62 -62 -62 -63 -65 -66 -66 -66 -64 -63 -62 -62 -62 -60 -28 -29 -30 -30 -28 -24 -21 -19 -18 -18 -18 -20 -25 -31 -33 -34 -35 -37 -38 -37 -36 -34 -33 -33 -35 -37 -38 -34 -30 -26 -24 -23 -27 -32 -32 -29 -27 -31 -32 -33 -33 -36 -40 -43 -47 -53 -58 -59 -58 -56 -51 -47 -44 -43 -43 -43 -46 -50 -55 -59 -62 -63 -64 -66 -68 -65 -62 -57 -52 -47 -46 -48 -52 -57 -62 -62 -61 -59 -57 -54 -49 -43 -40 -39 -43 -46 -49 -50 -50 -51 -52 -53 -53 -50 -50 -51 -54 -56 -57 -57 -56 -57 -58 -57 -54 -50 -47 -44 -42 -44 -46 -47 -47 -48 -50 -55 -58 -58 -54 -44 -33 -27 -28 -30 -31 -32 -32 -34 -36 -37 -37 -36 -35 -33 -32 -35 -39 -40 -37 -29 -25 -24 -26 -27 -29 -28 -26 -25 -26 -28 -30 -32 -33 -33 -33 -34 -37 -42 -46 -46 -44 -40 -37 -37 -38 -38 -37 -38 -38 -35 -34 -34 -35 -35 -34 -33 -33 -34 -35 -38 -42 -46 -50 -55 -58 -59 -59 -61 -63 -65 -67 -67 -69 -70 -70 -70 -69 -65 -60 -57 -56 -57 -58 -58 -58 -57 -56 -57 -60 -63 -64 -63 -62 -62 -63 -64 -66 -67 -67 -65 -59 -58 -60 -65 -71 -77 -78 -75 -70 -71 -73 -75 -76 -75 -75 -75 -75 -75 -75 -75 -76 -77 -78 -76 -74 -74 -74 -75 -75 -74 -72 -70 -67 -66 -68 -70 -70 -71 -74 -77 -78 -75 -73 -74 -77 -81 -85 -87 -88 -90 -91 -92 -91 -91 -91 -92 -92 -90 -86 -82 -79 -78 -77 -78 -80 -83 -85 -87 -88 -90 -90 -91 -92 -93 -94 -96 -98 -99 -98 -97 -98 -98 -98 -98 -97 -96 -94 -92 -90 -89 -89 -89 -90 -91 -92 -93 -93 -93 -92 -91 -92 -93 -93 -93 -94 -93 -92 -88 -80 -74 -71 -73 -75 -75 -75 -73 -72 -70 -69 -67 -65 -64 -64 -65 -65 -66 -67 -67 -67 -67 -66 -67 -68 -68 -68 -68 -69 -69 -69 -66 -64 -65 -67 -69 -71 -73 -75 -77 -78 -77 -76 -75 -73 -72 -71 -71 -71 -71 -70 -70 -70 -71 -73 -72 -70 -70 -71 -71 -71 -70 -69 -67 -66 -65 -64 -63 -62 -62 -63 -63 -63 -64 -65 -66 -66 -66 -64 -63 -63 -63 -63 -60 -28 -29 -30 -29 -26 -22 -19 -18 -18 -18 -19 -22 -26 -31 -32 -34 -35 -36 -36 -36 -36 -35 -34 -34 -35 -36 -35 -34 -32 -31 -30 -27 -28 -32 -33 -31 -28 -30 -33 -33 -32 -32 -37 -43 -48 -53 -55 -54 -53 -52 -49 -44 -42 -42 -42 -42 -47 -52 -57 -61 -63 -64 -65 -67 -68 -65 -60 -54 -49 -46 -48 -53 -58 -63 -66 -65 -65 -64 -64 -61 -57 -53 -51 -51 -51 -51 -51 -51 -51 -51 -52 -54 -54 -50 -48 -50 -54 -57 -57 -57 -57 -58 -59 -56 -51 -47 -44 -42 -43 -45 -47 -48 -49 -51 -54 -57 -58 -56 -50 -41 -32 -28 -28 -28 -30 -31 -32 -35 -37 -37 -36 -34 -33 -31 -31 -35 -38 -38 -34 -28 -26 -26 -27 -28 -30 -29 -29 -29 -29 -30 -31 -32 -33 -34 -33 -34 -36 -40 -45 -47 -44 -38 -33 -30 -31 -31 -32 -35 -35 -34 -33 -34 -35 -35 -35 -35 -36 -36 -36 -38 -42 -47 -53 -56 -59 -60 -61 -63 -65 -67 -68 -70 -72 -73 -74 -74 -72 -66 -60 -56 -56 -58 -59 -59 -59 -58 -57 -57 -58 -60 -62 -63 -63 -64 -66 -68 -68 -68 -67 -61 -55 -56 -63 -72 -78 -81 -80 -77 -74 -74 -74 -76 -78 -78 -77 -77 -79 -81 -82 -80 -79 -77 -76 -74 -73 -72 -72 -73 -73 -73 -71 -69 -67 -67 -68 -70 -71 -72 -73 -76 -77 -76 -76 -77 -80 -83 -85 -87 -89 -91 -93 -93 -93 -92 -91 -90 -90 -89 -86 -82 -79 -79 -80 -82 -83 -86 -88 -91 -92 -93 -94 -93 -92 -91 -91 -93 -95 -96 -97 -97 -97 -97 -97 -97 -96 -96 -95 -93 -91 -90 -89 -89 -89 -89 -89 -90 -91 -91 -91 -91 -92 -92 -91 -91 -91 -91 -91 -88 -81 -74 -68 -69 -73 -76 -77 -76 -73 -70 -68 -66 -65 -63 -62 -62 -62 -64 -65 -66 -66 -66 -66 -66 -67 -68 -69 -68 -69 -69 -67 -64 -63 -63 -65 -66 -68 -71 -73 -74 -75 -75 -75 -74 -73 -71 -70 -70 -71 -71 -71 -70 -70 -71 -73 -71 -71 -71 -71 -71 -72 -72 -71 -68 -66 -65 -64 -63 -62 -62 -63 -64 -64 -64 -66 -67 -67 -67 -64 -63 -63 -63 -62 -60 -28 -29 -29 -28 -25 -21 -18 -18 -18 -19 -21 -23 -26 -30 -32 -33 -35 -36 -36 -38 -38 -38 -37 -38 -38 -37 -36 -36 -34 -34 -34 -34 -32 -35 -36 -36 -33 -34 -36 -37 -35 -32 -36 -43 -50 -54 -54 -52 -50 -48 -44 -39 -40 -42 -44 -46 -51 -56 -61 -63 -64 -64 -66 -67 -67 -64 -59 -54 -50 -49 -53 -58 -62 -65 -67 -67 -67 -67 -69 -68 -66 -65 -64 -61 -57 -52 -49 -50 -52 -52 -54 -55 -53 -47 -46 -48 -53 -56 -56 -56 -57 -58 -58 -55 -51 -47 -45 -44 -45 -47 -48 -48 -50 -53 -56 -57 -55 -50 -44 -37 -33 -29 -29 -29 -30 -31 -34 -36 -38 -37 -35 -33 -32 -32 -34 -37 -38 -35 -32 -28 -27 -27 -29 -30 -31 -31 -31 -31 -32 -31 -32 -34 -35 -35 -33 -32 -34 -39 -45 -46 -43 -36 -29 -27 -28 -28 -29 -29 -30 -31 -32 -33 -35 -36 -37 -38 -38 -37 -36 -38 -41 -46 -52 -56 -59 -61 -62 -64 -66 -69 -70 -72 -74 -75 -76 -76 -73 -67 -61 -57 -57 -58 -60 -60 -60 -58 -56 -55 -56 -58 -61 -64 -67 -70 -71 -71 -70 -67 -61 -53 -52 -58 -67 -77 -83 -83 -81 -78 -79 -77 -76 -76 -78 -79 -79 -80 -82 -85 -87 -86 -82 -78 -75 -73 -72 -71 -70 -70 -71 -71 -70 -68 -65 -65 -67 -71 -73 -72 -73 -74 -76 -76 -78 -80 -82 -84 -85 -88 -90 -92 -93 -94 -93 -91 -90 -89 -90 -89 -86 -81 -78 -78 -81 -83 -85 -87 -90 -92 -94 -95 -94 -93 -91 -89 -89 -90 -91 -93 -94 -95 -96 -97 -96 -95 -95 -95 -95 -94 -92 -91 -90 -90 -89 -89 -89 -88 -88 -89 -91 -92 -92 -91 -90 -89 -89 -88 -89 -87 -82 -75 -69 -68 -71 -76 -79 -78 -74 -71 -69 -67 -65 -63 -61 -60 -60 -62 -64 -65 -66 -66 -66 -66 -66 -68 -68 -68 -68 -68 -66 -65 -63 -63 -63 -63 -65 -68 -70 -71 -71 -72 -72 -72 -71 -69 -69 -69 -70 -70 -70 -70 -70 -71 -72 -71 -71 -72 -71 -72 -72 -72 -71 -69 -67 -66 -65 -64 -62 -62 -62 -63 -63 -64 -65 -67 -68 -67 -64 -63 -63 -62 -61 -61 -28 -28 -27 -26 -22 -20 -18 -18 -20 -21 -23 -25 -26 -29 -32 -34 -35 -36 -38 -41 -43 -43 -40 -38 -38 -38 -38 -37 -36 -36 -37 -38 -38 -40 -41 -41 -39 -39 -41 -42 -41 -38 -39 -45 -52 -56 -55 -53 -50 -46 -39 -36 -41 -46 -49 -52 -56 -60 -63 -66 -67 -67 -67 -66 -63 -60 -57 -55 -54 -55 -59 -62 -64 -66 -68 -68 -68 -68 -68 -67 -65 -64 -62 -59 -55 -51 -50 -52 -54 -56 -57 -56 -52 -45 -44 -46 -51 -54 -55 -56 -56 -57 -58 -57 -54 -51 -49 -49 -48 -48 -49 -51 -53 -55 -56 -56 -52 -44 -39 -35 -33 -32 -31 -32 -32 -34 -36 -38 -38 -37 -34 -33 -33 -35 -38 -40 -37 -34 -30 -28 -27 -27 -28 -30 -32 -31 -32 -32 -31 -32 -34 -36 -37 -35 -32 -32 -35 -40 -46 -47 -43 -36 -28 -26 -26 -27 -28 -29 -30 -31 -33 -34 -35 -35 -37 -39 -41 -38 -37 -37 -40 -44 -50 -55 -59 -62 -63 -64 -66 -69 -71 -73 -75 -76 -77 -75 -72 -68 -63 -59 -57 -59 -61 -61 -59 -57 -55 -55 -55 -57 -61 -66 -70 -72 -73 -71 -66 -59 -52 -51 -59 -69 -77 -83 -87 -87 -84 -80 -77 -77 -76 -76 -77 -79 -80 -82 -84 -86 -87 -86 -82 -78 -74 -73 -71 -70 -68 -68 -70 -70 -69 -67 -65 -64 -66 -70 -72 -72 -72 -74 -76 -77 -79 -81 -83 -84 -85 -87 -90 -92 -93 -94 -93 -91 -88 -87 -88 -87 -84 -80 -76 -76 -79 -83 -86 -88 -90 -92 -94 -94 -93 -91 -88 -87 -87 -88 -88 -90 -91 -93 -94 -94 -94 -94 -94 -95 -96 -95 -93 -92 -90 -89 -89 -88 -88 -87 -87 -88 -90 -91 -91 -89 -88 -87 -87 -86 -86 -86 -84 -79 -74 -70 -71 -74 -78 -78 -75 -72 -70 -67 -65 -63 -61 -60 -60 -61 -63 -64 -65 -66 -66 -65 -66 -67 -67 -67 -67 -66 -65 -64 -63 -63 -62 -62 -63 -64 -66 -67 -67 -68 -70 -70 -69 -68 -67 -68 -68 -69 -70 -70 -70 -70 -70 -71 -72 -72 -71 -72 -72 -72 -71 -69 -67 -66 -66 -65 -62 -61 -61 -61 -61 -62 -64 -66 -68 -67 -64 -63 -62 -62 -62 -62 -27 -27 -26 -25 -21 -20 -19 -19 -20 -22 -26 -28 -28 -29 -33 -34 -34 -35 -39 -44 -47 -47 -42 -35 -34 -36 -37 -37 -37 -38 -39 -40 -41 -42 -43 -43 -43 -43 -44 -45 -45 -44 -45 -49 -55 -58 -58 -55 -50 -43 -35 -35 -41 -46 -49 -51 -55 -59 -63 -67 -70 -71 -70 -67 -61 -55 -54 -56 -58 -61 -64 -66 -68 -69 -70 -68 -66 -66 -65 -64 -62 -60 -58 -57 -56 -54 -53 -54 -56 -58 -60 -59 -55 -47 -43 -44 -48 -51 -53 -55 -56 -57 -57 -59 -59 -57 -56 -54 -51 -51 -52 -55 -55 -55 -55 -53 -49 -41 -36 -34 -34 -33 -34 -35 -36 -38 -40 -40 -39 -37 -35 -35 -36 -39 -42 -41 -36 -31 -28 -27 -26 -26 -27 -29 -31 -32 -32 -31 -31 -33 -35 -37 -36 -32 -31 -34 -38 -43 -47 -48 -44 -38 -31 -26 -25 -26 -27 -28 -30 -31 -33 -34 -35 -35 -36 -38 -40 -39 -40 -40 -42 -46 -52 -56 -58 -61 -62 -63 -65 -68 -71 -74 -77 -78 -77 -74 -71 -68 -65 -62 -60 -61 -62 -61 -59 -56 -55 -55 -57 -60 -64 -69 -72 -74 -70 -63 -56 -52 -50 -55 -64 -73 -80 -85 -89 -88 -84 -79 -75 -74 -74 -74 -75 -77 -80 -83 -86 -87 -85 -83 -80 -77 -74 -73 -72 -71 -70 -70 -71 -70 -69 -68 -66 -65 -66 -69 -70 -70 -72 -74 -76 -77 -80 -82 -84 -84 -85 -87 -89 -90 -92 -94 -93 -91 -87 -86 -86 -84 -81 -77 -75 -77 -80 -83 -86 -89 -90 -92 -92 -91 -90 -88 -87 -86 -85 -85 -85 -86 -88 -90 -91 -92 -92 -92 -92 -94 -95 -95 -93 -91 -90 -88 -87 -87 -87 -87 -87 -88 -89 -89 -89 -89 -88 -87 -86 -85 -86 -87 -86 -84 -79 -73 -71 -73 -76 -77 -76 -75 -72 -68 -66 -65 -64 -63 -62 -61 -61 -62 -63 -64 -64 -65 -65 -65 -65 -65 -65 -64 -64 -63 -62 -62 -62 -62 -62 -62 -63 -63 -64 -65 -67 -68 -67 -65 -65 -66 -67 -68 -69 -70 -70 -69 -69 -70 -71 -71 -71 -72 -72 -71 -71 -69 -67 -67 -66 -64 -62 -61 -60 -60 -60 -61 -63 -65 -67 -66 -64 -62 -62 -61 -61 -61 -28 -28 -28 -27 -25 -24 -23 -20 -19 -20 -24 -27 -28 -28 -30 -30 -31 -33 -38 -44 -47 -47 -42 -34 -31 -31 -34 -36 -37 -39 -40 -40 -41 -42 -43 -43 -42 -42 -43 -44 -45 -47 -49 -53 -57 -60 -60 -56 -46 -36 -31 -32 -36 -39 -42 -47 -53 -58 -63 -68 -72 -72 -70 -65 -58 -53 -54 -57 -60 -61 -62 -65 -67 -69 -68 -65 -62 -60 -58 -56 -56 -55 -53 -52 -52 -52 -52 -53 -53 -54 -57 -59 -57 -48 -42 -41 -44 -49 -53 -55 -57 -58 -59 -60 -62 -63 -63 -59 -56 -55 -57 -59 -57 -54 -51 -49 -46 -40 -36 -34 -34 -35 -35 -37 -38 -40 -42 -41 -40 -39 -38 -37 -38 -40 -41 -40 -34 -29 -25 -25 -26 -26 -26 -28 -32 -33 -33 -32 -33 -35 -36 -36 -33 -30 -33 -36 -41 -45 -48 -48 -46 -41 -35 -29 -26 -26 -27 -28 -29 -31 -33 -34 -34 -35 -36 -38 -40 -40 -42 -45 -47 -49 -52 -54 -57 -59 -60 -62 -64 -67 -71 -75 -78 -80 -79 -75 -71 -68 -66 -64 -63 -63 -62 -61 -58 -56 -55 -57 -60 -63 -67 -70 -72 -72 -66 -58 -54 -55 -60 -66 -72 -77 -82 -87 -89 -88 -83 -77 -75 -75 -75 -74 -75 -79 -83 -87 -90 -90 -86 -82 -79 -77 -76 -74 -73 -72 -71 -72 -73 -71 -69 -66 -65 -65 -67 -69 -70 -70 -70 -71 -72 -75 -80 -83 -83 -83 -83 -85 -87 -89 -91 -93 -94 -92 -88 -87 -85 -83 -79 -76 -76 -78 -81 -84 -86 -89 -90 -91 -91 -89 -87 -87 -86 -84 -82 -81 -82 -83 -85 -87 -89 -91 -90 -90 -90 -92 -94 -94 -93 -91 -89 -87 -86 -86 -87 -87 -87 -87 -87 -87 -87 -87 -87 -86 -85 -85 -84 -85 -85 -85 -82 -76 -73 -71 -74 -77 -78 -78 -75 -70 -68 -67 -67 -65 -64 -62 -61 -60 -60 -60 -61 -62 -62 -62 -63 -63 -63 -62 -62 -61 -61 -61 -61 -61 -60 -59 -60 -60 -61 -63 -65 -66 -64 -63 -62 -63 -64 -66 -68 -69 -70 -69 -69 -70 -70 -69 -70 -71 -72 -71 -70 -68 -67 -67 -66 -65 -63 -62 -61 -59 -59 -60 -62 -63 -65 -65 -64 -62 -61 -60 -60 -60 -31 -33 -32 -30 -29 -26 -23 -20 -18 -18 -21 -24 -26 -25 -25 -25 -26 -29 -35 -42 -44 -43 -39 -36 -32 -31 -34 -37 -38 -40 -41 -41 -40 -40 -41 -42 -41 -42 -43 -43 -44 -47 -50 -52 -54 -56 -57 -53 -44 -36 -34 -39 -43 -47 -50 -53 -58 -63 -68 -71 -73 -71 -67 -62 -57 -54 -55 -58 -60 -62 -63 -64 -64 -63 -61 -59 -56 -54 -53 -53 -53 -53 -52 -51 -51 -51 -51 -51 -51 -51 -54 -56 -54 -45 -40 -39 -44 -49 -53 -56 -59 -60 -60 -61 -62 -62 -62 -60 -60 -60 -61 -61 -57 -51 -46 -44 -44 -41 -38 -35 -34 -34 -34 -36 -38 -42 -43 -43 -42 -41 -40 -39 -39 -39 -39 -38 -34 -29 -24 -24 -25 -25 -25 -27 -33 -34 -34 -35 -36 -37 -36 -34 -31 -30 -35 -39 -44 -47 -48 -47 -46 -43 -40 -34 -30 -28 -28 -29 -30 -31 -33 -34 -34 -34 -37 -39 -41 -42 -45 -47 -50 -51 -52 -54 -56 -58 -59 -61 -64 -68 -71 -76 -79 -79 -77 -71 -68 -66 -67 -67 -66 -65 -62 -60 -57 -56 -57 -60 -63 -66 -69 -70 -70 -67 -61 -59 -61 -66 -70 -73 -76 -78 -82 -86 -89 -89 -85 -80 -79 -79 -79 -78 -79 -82 -87 -91 -93 -92 -87 -83 -80 -79 -78 -76 -74 -73 -72 -74 -75 -74 -71 -66 -64 -64 -66 -68 -70 -70 -71 -71 -72 -74 -77 -79 -79 -80 -82 -84 -86 -88 -89 -92 -93 -93 -90 -88 -85 -83 -80 -77 -77 -78 -81 -84 -86 -88 -90 -90 -88 -87 -86 -86 -85 -83 -80 -78 -78 -79 -82 -85 -87 -89 -89 -89 -90 -91 -92 -93 -92 -90 -88 -87 -86 -86 -87 -87 -86 -85 -84 -84 -84 -85 -85 -85 -85 -85 -83 -82 -82 -82 -81 -79 -76 -72 -72 -76 -79 -80 -77 -73 -70 -69 -68 -66 -65 -63 -60 -58 -57 -58 -59 -60 -60 -60 -61 -61 -62 -61 -61 -60 -60 -59 -60 -60 -59 -58 -58 -59 -59 -60 -62 -63 -62 -61 -60 -60 -62 -64 -66 -68 -68 -68 -68 -68 -69 -69 -69 -70 -71 -71 -71 -69 -67 -66 -66 -65 -64 -63 -62 -60 -60 -61 -62 -62 -63 -64 -64 -62 -61 -60 -60 -61 -33 -35 -34 -31 -30 -25 -21 -19 -17 -16 -19 -23 -26 -24 -21 -21 -23 -26 -32 -39 -42 -40 -36 -35 -34 -34 -34 -37 -38 -38 -38 -38 -37 -38 -39 -39 -39 -40 -43 -46 -48 -49 -52 -52 -52 -50 -50 -48 -42 -38 -41 -48 -53 -57 -60 -62 -65 -67 -69 -71 -72 -69 -63 -57 -55 -56 -57 -60 -62 -64 -65 -64 -61 -56 -52 -50 -50 -51 -52 -53 -55 -56 -56 -53 -51 -50 -51 -52 -52 -51 -50 -50 -47 -41 -38 -40 -45 -51 -55 -58 -60 -60 -59 -60 -60 -60 -60 -61 -63 -64 -63 -61 -54 -47 -42 -41 -42 -42 -40 -36 -34 -34 -35 -37 -40 -44 -45 -44 -43 -42 -41 -39 -38 -37 -37 -37 -34 -29 -24 -22 -23 -23 -24 -28 -34 -36 -38 -39 -40 -39 -36 -33 -30 -33 -38 -43 -45 -47 -47 -46 -45 -44 -43 -40 -35 -32 -31 -31 -31 -32 -33 -33 -33 -34 -37 -40 -42 -43 -46 -49 -51 -52 -53 -55 -56 -57 -59 -63 -67 -71 -74 -77 -78 -78 -75 -70 -66 -65 -65 -66 -67 -66 -64 -61 -58 -58 -60 -63 -66 -69 -70 -68 -65 -60 -58 -64 -71 -77 -77 -76 -77 -79 -82 -86 -89 -90 -88 -85 -83 -82 -82 -81 -80 -81 -85 -88 -89 -87 -84 -82 -81 -80 -79 -78 -76 -75 -75 -76 -77 -77 -74 -69 -65 -63 -63 -65 -68 -69 -71 -73 -73 -73 -73 -73 -75 -78 -81 -84 -86 -88 -89 -90 -91 -92 -90 -88 -85 -83 -81 -78 -77 -77 -79 -82 -85 -87 -87 -87 -87 -86 -84 -83 -82 -80 -78 -76 -76 -77 -80 -83 -85 -87 -88 -89 -90 -91 -92 -92 -92 -91 -89 -88 -87 -87 -87 -87 -86 -84 -83 -83 -82 -82 -82 -82 -83 -84 -84 -83 -82 -82 -82 -81 -77 -73 -73 -76 -78 -78 -76 -73 -70 -68 -66 -65 -64 -62 -60 -58 -57 -57 -57 -57 -58 -58 -59 -60 -61 -61 -61 -60 -59 -58 -59 -59 -58 -58 -58 -58 -59 -60 -61 -62 -62 -60 -59 -59 -61 -62 -64 -66 -68 -68 -67 -67 -68 -68 -69 -69 -71 -71 -71 -69 -67 -65 -66 -66 -65 -64 -62 -61 -61 -61 -62 -61 -63 -63 -63 -61 -61 -60 -60 -61 -33 -34 -32 -30 -28 -23 -20 -18 -17 -16 -18 -22 -25 -25 -20 -18 -19 -22 -28 -36 -41 -39 -33 -27 -29 -32 -33 -34 -34 -34 -35 -36 -36 -36 -38 -38 -38 -39 -44 -48 -51 -52 -52 -52 -49 -46 -45 -42 -40 -41 -45 -51 -57 -61 -63 -64 -65 -66 -68 -70 -70 -65 -59 -54 -54 -57 -60 -62 -63 -64 -65 -64 -60 -52 -45 -45 -49 -53 -56 -58 -60 -62 -62 -59 -55 -53 -53 -54 -53 -51 -48 -44 -41 -38 -38 -41 -46 -52 -55 -58 -59 -59 -58 -58 -58 -59 -60 -62 -64 -65 -64 -59 -50 -43 -40 -40 -42 -43 -41 -37 -35 -35 -36 -39 -42 -45 -45 -43 -41 -40 -39 -38 -37 -37 -38 -37 -34 -29 -23 -21 -21 -22 -25 -29 -34 -36 -38 -38 -38 -37 -35 -34 -34 -38 -42 -43 -43 -43 -43 -44 -44 -45 -46 -43 -39 -37 -35 -34 -32 -32 -33 -33 -32 -34 -37 -40 -42 -44 -47 -50 -52 -53 -54 -55 -56 -56 -59 -64 -69 -73 -75 -76 -77 -76 -74 -69 -66 -65 -65 -67 -69 -69 -67 -63 -60 -60 -62 -64 -68 -71 -68 -62 -55 -54 -62 -71 -78 -82 -81 -79 -79 -81 -85 -88 -89 -89 -88 -86 -85 -83 -81 -80 -81 -83 -84 -85 -85 -83 -83 -83 -82 -82 -82 -79 -77 -77 -79 -80 -79 -78 -77 -73 -68 -64 -61 -63 -66 -68 -70 -73 -73 -72 -71 -72 -74 -78 -81 -83 -84 -85 -86 -87 -88 -89 -88 -86 -84 -82 -80 -78 -75 -74 -75 -79 -81 -83 -83 -83 -83 -82 -81 -79 -78 -76 -74 -73 -73 -75 -78 -81 -83 -85 -86 -88 -89 -90 -91 -92 -92 -92 -91 -91 -91 -90 -89 -88 -87 -85 -83 -82 -81 -80 -79 -79 -80 -83 -84 -84 -83 -84 -84 -83 -80 -76 -74 -75 -75 -75 -74 -71 -69 -66 -64 -63 -62 -61 -59 -58 -57 -57 -56 -55 -55 -56 -58 -59 -60 -60 -60 -60 -60 -59 -58 -58 -58 -58 -58 -58 -58 -59 -60 -61 -61 -60 -59 -59 -60 -62 -64 -66 -68 -68 -67 -67 -67 -67 -68 -68 -69 -70 -71 -70 -68 -66 -65 -65 -65 -64 -62 -61 -61 -62 -61 -61 -62 -62 -61 -60 -60 -60 -60 -61 -33 -34 -32 -27 -25 -21 -20 -19 -17 -16 -17 -20 -22 -23 -19 -17 -17 -21 -26 -34 -39 -38 -31 -23 -25 -29 -32 -32 -32 -33 -34 -36 -36 -37 -39 -41 -40 -40 -45 -50 -54 -54 -52 -49 -46 -43 -42 -40 -40 -44 -49 -54 -58 -60 -60 -59 -60 -62 -66 -68 -68 -60 -54 -52 -55 -59 -61 -62 -63 -62 -64 -63 -60 -53 -46 -47 -53 -59 -63 -64 -65 -65 -65 -64 -61 -58 -56 -55 -52 -48 -44 -41 -38 -37 -39 -42 -45 -48 -52 -55 -56 -56 -56 -57 -58 -59 -61 -64 -65 -65 -62 -54 -45 -40 -39 -40 -43 -44 -42 -39 -36 -34 -36 -39 -42 -44 -43 -41 -39 -38 -37 -38 -38 -39 -39 -37 -33 -27 -22 -21 -23 -24 -26 -31 -33 -35 -36 -36 -35 -35 -35 -36 -38 -40 -41 -41 -41 -42 -43 -46 -50 -53 -52 -45 -39 -37 -37 -34 -32 -31 -32 -33 -34 -35 -37 -40 -42 -45 -48 -51 -53 -53 -54 -55 -57 -58 -61 -65 -69 -73 -75 -76 -75 -74 -73 -70 -68 -66 -66 -68 -70 -71 -69 -65 -62 -62 -64 -66 -69 -72 -69 -64 -59 -59 -68 -76 -82 -85 -83 -81 -81 -84 -87 -89 -88 -87 -86 -85 -85 -83 -81 -82 -85 -86 -85 -83 -81 -81 -83 -85 -85 -84 -81 -78 -76 -78 -83 -85 -83 -81 -81 -81 -77 -71 -66 -66 -67 -68 -69 -70 -70 -70 -70 -71 -74 -78 -81 -82 -83 -82 -83 -84 -85 -86 -85 -84 -82 -81 -79 -76 -73 -71 -72 -74 -76 -78 -79 -78 -77 -76 -75 -74 -74 -72 -71 -70 -70 -72 -75 -78 -81 -82 -83 -84 -86 -89 -91 -92 -92 -93 -93 -93 -93 -92 -91 -91 -89 -87 -83 -80 -79 -78 -77 -77 -78 -81 -82 -83 -84 -85 -86 -86 -84 -81 -78 -76 -73 -72 -71 -68 -65 -63 -62 -61 -60 -59 -59 -59 -59 -58 -57 -55 -55 -55 -56 -57 -58 -59 -59 -60 -60 -59 -58 -57 -57 -57 -58 -57 -57 -58 -58 -59 -60 -60 -59 -60 -61 -62 -64 -67 -67 -67 -67 -67 -66 -66 -67 -67 -68 -69 -70 -70 -68 -66 -64 -65 -65 -65 -62 -62 -62 -62 -61 -61 -61 -61 -61 -60 -60 -60 -59 -59 -31 -35 -33 -29 -25 -22 -20 -19 -18 -17 -19 -21 -22 -22 -20 -17 -17 -20 -25 -32 -37 -37 -30 -22 -23 -27 -31 -32 -32 -33 -35 -37 -38 -40 -42 -44 -45 -44 -48 -53 -55 -54 -51 -46 -43 -41 -40 -39 -42 -47 -52 -55 -56 -56 -55 -55 -58 -61 -64 -66 -65 -56 -51 -50 -55 -58 -59 -60 -60 -62 -63 -62 -60 -57 -53 -54 -58 -63 -65 -65 -64 -64 -63 -63 -61 -59 -57 -54 -47 -42 -40 -39 -39 -39 -41 -43 -43 -43 -47 -51 -52 -52 -53 -56 -57 -58 -61 -64 -65 -62 -57 -48 -41 -38 -39 -41 -43 -45 -44 -40 -36 -34 -35 -38 -40 -41 -41 -40 -38 -37 -37 -39 -40 -41 -39 -37 -32 -26 -22 -22 -24 -25 -27 -31 -33 -35 -36 -35 -35 -36 -37 -39 -40 -40 -40 -41 -41 -43 -47 -51 -56 -58 -55 -45 -40 -40 -42 -38 -34 -32 -32 -33 -35 -36 -37 -39 -43 -47 -50 -52 -53 -54 -56 -58 -60 -62 -65 -68 -70 -73 -75 -75 -74 -73 -72 -71 -70 -69 -69 -70 -71 -70 -69 -66 -64 -65 -67 -70 -72 -73 -72 -69 -65 -65 -71 -78 -83 -86 -84 -83 -83 -85 -88 -88 -86 -84 -83 -84 -85 -84 -84 -85 -88 -87 -84 -81 -80 -81 -83 -84 -85 -84 -80 -76 -75 -77 -82 -83 -82 -82 -84 -87 -85 -81 -75 -73 -71 -69 -67 -67 -68 -69 -71 -73 -76 -80 -82 -83 -82 -81 -81 -82 -84 -85 -84 -82 -80 -79 -77 -73 -70 -69 -69 -71 -73 -74 -74 -72 -70 -69 -68 -68 -69 -68 -68 -67 -68 -70 -72 -74 -77 -78 -80 -81 -84 -88 -91 -92 -92 -92 -92 -92 -93 -93 -92 -92 -90 -87 -83 -80 -78 -77 -76 -76 -77 -79 -80 -82 -84 -86 -87 -87 -87 -85 -81 -77 -73 -71 -70 -67 -63 -61 -60 -60 -60 -59 -59 -60 -60 -60 -59 -57 -56 -55 -55 -56 -58 -58 -59 -59 -59 -59 -58 -58 -58 -58 -58 -57 -57 -57 -56 -57 -58 -58 -59 -60 -61 -61 -62 -65 -66 -67 -67 -67 -66 -65 -65 -66 -66 -68 -69 -68 -66 -64 -63 -64 -65 -66 -64 -63 -62 -61 -60 -60 -61 -61 -62 -60 -60 -59 -58 -58 -27 -32 -34 -33 -29 -25 -24 -23 -22 -22 -24 -24 -25 -25 -22 -18 -17 -20 -25 -31 -36 -36 -31 -23 -22 -26 -30 -33 -34 -35 -37 -39 -41 -43 -44 -46 -48 -48 -51 -54 -55 -53 -48 -43 -39 -37 -37 -39 -43 -47 -51 -53 -53 -54 -55 -58 -60 -61 -64 -65 -63 -54 -49 -50 -54 -56 -56 -57 -59 -62 -64 -63 -63 -63 -63 -63 -65 -65 -65 -64 -62 -60 -59 -58 -57 -56 -53 -48 -41 -37 -37 -38 -40 -42 -43 -43 -43 -42 -45 -48 -51 -51 -52 -54 -56 -58 -60 -62 -61 -57 -49 -41 -37 -36 -37 -40 -43 -44 -44 -41 -37 -34 -35 -37 -39 -39 -38 -38 -39 -39 -40 -41 -42 -42 -39 -35 -31 -26 -22 -21 -23 -25 -28 -31 -34 -36 -37 -38 -37 -37 -39 -40 -41 -42 -42 -43 -43 -44 -49 -55 -60 -61 -54 -42 -38 -39 -44 -42 -38 -34 -33 -35 -38 -40 -41 -42 -44 -48 -51 -53 -55 -59 -62 -65 -67 -68 -70 -71 -73 -74 -74 -73 -71 -70 -71 -71 -71 -71 -72 -72 -71 -70 -68 -66 -66 -68 -70 -72 -73 -73 -72 -71 -71 -71 -73 -78 -83 -86 -85 -84 -84 -86 -88 -87 -84 -81 -79 -81 -83 -84 -86 -86 -85 -83 -81 -79 -80 -81 -82 -83 -83 -80 -77 -75 -76 -81 -82 -81 -80 -81 -84 -86 -87 -87 -85 -81 -75 -70 -66 -66 -69 -72 -74 -76 -79 -83 -85 -85 -83 -81 -81 -82 -84 -85 -83 -81 -79 -77 -75 -73 -70 -67 -67 -68 -70 -71 -70 -66 -64 -63 -63 -64 -65 -65 -65 -65 -66 -67 -69 -70 -72 -75 -77 -79 -82 -86 -90 -91 -91 -91 -91 -91 -91 -91 -90 -90 -88 -86 -83 -81 -79 -77 -77 -76 -76 -77 -79 -81 -83 -86 -87 -88 -88 -87 -83 -78 -73 -71 -70 -67 -64 -61 -60 -60 -60 -59 -59 -60 -61 -60 -59 -58 -57 -56 -56 -56 -57 -58 -58 -58 -58 -58 -58 -58 -58 -58 -58 -57 -56 -55 -55 -55 -56 -57 -58 -58 -59 -59 -59 -62 -64 -66 -67 -67 -66 -65 -64 -63 -64 -67 -68 -67 -65 -63 -62 -63 -64 -65 -65 -64 -62 -60 -60 -60 -61 -61 -62 -61 -60 -59 -58 -58 -26 -30 -33 -33 -31 -29 -30 -30 -30 -30 -30 -29 -29 -28 -25 -19 -17 -19 -24 -31 -36 -38 -35 -27 -24 -26 -30 -34 -36 -38 -40 -42 -44 -46 -45 -46 -48 -51 -53 -53 -52 -49 -45 -40 -36 -35 -38 -42 -44 -46 -48 -50 -52 -55 -58 -61 -62 -64 -66 -65 -58 -49 -46 -47 -50 -52 -53 -56 -59 -62 -64 -64 -64 -65 -66 -66 -66 -65 -64 -61 -58 -54 -52 -52 -50 -47 -43 -40 -37 -36 -37 -37 -39 -42 -44 -45 -45 -44 -48 -51 -52 -51 -50 -51 -53 -55 -59 -62 -62 -57 -47 -36 -34 -35 -37 -39 -41 -43 -44 -42 -38 -34 -34 -36 -38 -37 -38 -39 -40 -42 -44 -44 -44 -42 -37 -32 -29 -26 -23 -20 -21 -25 -30 -33 -35 -37 -40 -41 -41 -40 -40 -41 -43 -44 -45 -45 -44 -43 -47 -54 -59 -58 -47 -36 -32 -34 -38 -38 -36 -34 -36 -39 -43 -46 -48 -49 -49 -50 -53 -56 -59 -63 -68 -71 -74 -75 -74 -74 -73 -73 -72 -70 -69 -70 -71 -70 -70 -71 -73 -74 -72 -70 -69 -67 -68 -71 -73 -74 -73 -72 -72 -72 -73 -73 -75 -79 -83 -86 -84 -82 -83 -85 -89 -88 -86 -84 -82 -82 -82 -83 -82 -81 -80 -79 -78 -78 -80 -82 -82 -82 -79 -75 -72 -75 -80 -85 -85 -83 -81 -81 -84 -85 -86 -86 -86 -84 -80 -75 -71 -71 -74 -76 -78 -79 -82 -85 -86 -86 -84 -83 -83 -84 -85 -85 -84 -82 -80 -78 -75 -72 -70 -68 -68 -68 -69 -69 -67 -63 -61 -60 -61 -61 -62 -62 -63 -65 -67 -68 -68 -68 -70 -73 -75 -76 -78 -82 -85 -87 -88 -89 -89 -89 -88 -87 -87 -86 -86 -85 -84 -82 -80 -78 -77 -77 -76 -76 -77 -79 -81 -84 -86 -88 -89 -89 -85 -80 -75 -72 -70 -68 -65 -62 -61 -60 -59 -59 -59 -60 -61 -61 -60 -58 -57 -57 -57 -56 -57 -57 -57 -57 -57 -57 -57 -57 -57 -57 -57 -56 -55 -54 -54 -54 -55 -56 -57 -57 -58 -58 -57 -59 -61 -64 -66 -67 -66 -65 -63 -62 -63 -65 -66 -66 -65 -63 -62 -62 -63 -64 -64 -63 -62 -60 -59 -60 -61 -61 -61 -60 -59 -59 -59 -58 -27 -30 -31 -32 -31 -31 -33 -34 -35 -35 -33 -33 -33 -32 -27 -21 -17 -18 -24 -31 -37 -41 -41 -34 -28 -27 -30 -35 -39 -40 -42 -44 -45 -46 -44 -44 -46 -52 -54 -53 -50 -46 -42 -39 -38 -39 -42 -47 -51 -54 -54 -54 -56 -58 -58 -57 -58 -63 -65 -63 -55 -45 -42 -43 -46 -49 -52 -56 -59 -62 -63 -63 -64 -65 -66 -66 -65 -64 -62 -59 -54 -50 -48 -48 -45 -41 -37 -34 -34 -35 -37 -38 -40 -42 -44 -46 -47 -49 -52 -53 -53 -50 -49 -49 -50 -53 -57 -61 -61 -55 -44 -32 -31 -34 -37 -39 -40 -42 -43 -42 -39 -35 -35 -36 -37 -38 -39 -40 -42 -45 -45 -46 -45 -42 -37 -34 -30 -26 -22 -21 -22 -26 -31 -34 -36 -39 -41 -43 -43 -41 -41 -42 -44 -46 -46 -45 -42 -40 -45 -51 -54 -51 -39 -30 -27 -29 -32 -33 -33 -34 -38 -43 -47 -50 -53 -55 -56 -57 -58 -61 -64 -68 -72 -77 -79 -79 -77 -75 -72 -71 -70 -70 -71 -71 -71 -70 -70 -70 -71 -71 -71 -70 -70 -69 -70 -73 -76 -76 -73 -71 -71 -72 -73 -73 -75 -79 -83 -87 -85 -83 -82 -85 -88 -89 -88 -86 -85 -87 -86 -85 -82 -80 -78 -77 -77 -78 -79 -80 -81 -81 -76 -70 -70 -75 -83 -88 -88 -86 -84 -83 -83 -84 -85 -85 -86 -85 -83 -79 -76 -76 -78 -80 -81 -82 -84 -86 -87 -86 -84 -83 -84 -85 -86 -86 -85 -84 -82 -79 -76 -74 -71 -70 -69 -69 -69 -69 -67 -65 -64 -63 -62 -62 -62 -62 -62 -65 -68 -69 -69 -68 -69 -71 -73 -74 -74 -76 -80 -83 -85 -86 -86 -85 -84 -84 -84 -85 -85 -85 -84 -83 -81 -79 -78 -76 -75 -75 -76 -77 -79 -81 -84 -87 -89 -89 -86 -81 -75 -71 -70 -68 -65 -63 -61 -60 -59 -59 -59 -60 -61 -61 -61 -59 -58 -57 -57 -57 -57 -56 -56 -56 -56 -56 -56 -56 -56 -56 -56 -56 -55 -54 -54 -54 -54 -55 -56 -57 -57 -57 -56 -57 -58 -61 -63 -65 -65 -65 -63 -62 -62 -63 -64 -65 -65 -63 -61 -60 -61 -62 -63 -62 -61 -60 -60 -60 -61 -61 -61 -60 -60 -60 -59 -59 -29 -31 -31 -31 -31 -30 -31 -33 -35 -36 -35 -35 -36 -35 -31 -25 -20 -19 -24 -31 -39 -44 -45 -41 -34 -32 -33 -37 -40 -41 -42 -43 -44 -44 -43 -44 -47 -53 -56 -54 -50 -45 -41 -38 -36 -37 -41 -48 -53 -56 -56 -55 -56 -55 -53 -53 -56 -60 -62 -59 -52 -46 -43 -44 -46 -50 -53 -56 -58 -60 -61 -62 -64 -65 -66 -65 -64 -63 -61 -57 -52 -48 -45 -42 -38 -35 -33 -33 -34 -35 -37 -39 -41 -43 -45 -46 -49 -51 -54 -55 -54 -51 -49 -49 -50 -52 -56 -60 -59 -51 -39 -30 -30 -33 -36 -38 -40 -41 -42 -42 -41 -38 -37 -37 -38 -39 -40 -42 -43 -45 -46 -46 -44 -41 -37 -34 -31 -28 -24 -22 -24 -28 -34 -37 -39 -40 -41 -43 -44 -44 -43 -43 -45 -46 -45 -41 -38 -38 -44 -49 -50 -44 -33 -28 -27 -29 -30 -31 -32 -35 -39 -45 -49 -53 -56 -60 -63 -64 -65 -67 -69 -73 -78 -82 -85 -84 -81 -77 -74 -72 -71 -71 -72 -73 -73 -73 -72 -71 -70 -69 -69 -70 -71 -71 -71 -72 -74 -74 -72 -70 -69 -69 -70 -71 -74 -79 -84 -89 -88 -85 -83 -83 -85 -86 -85 -85 -86 -90 -90 -87 -83 -80 -78 -77 -78 -81 -83 -84 -83 -81 -75 -70 -72 -77 -85 -89 -88 -87 -86 -85 -84 -83 -83 -84 -84 -84 -84 -83 -81 -81 -82 -83 -84 -86 -87 -86 -85 -84 -83 -83 -84 -86 -87 -87 -86 -85 -83 -80 -78 -76 -74 -72 -71 -70 -70 -70 -68 -67 -66 -66 -65 -65 -64 -63 -63 -65 -68 -69 -69 -69 -69 -70 -71 -71 -70 -70 -74 -78 -82 -84 -84 -83 -82 -83 -83 -84 -84 -84 -84 -83 -82 -80 -78 -76 -75 -75 -75 -76 -78 -79 -81 -83 -86 -87 -86 -82 -76 -70 -68 -67 -66 -64 -61 -60 -59 -59 -59 -60 -61 -61 -61 -60 -58 -57 -57 -58 -57 -57 -56 -55 -55 -55 -56 -56 -56 -56 -56 -56 -55 -55 -54 -54 -54 -54 -55 -56 -56 -55 -54 -54 -55 -57 -60 -62 -63 -63 -62 -61 -60 -60 -61 -64 -64 -62 -60 -59 -61 -62 -63 -63 -61 -61 -61 -60 -60 -61 -61 -61 -61 -61 -60 -59 -30 -31 -31 -31 -30 -28 -28 -30 -33 -35 -36 -36 -35 -35 -36 -28 -22 -20 -22 -30 -38 -45 -47 -45 -41 -38 -37 -39 -41 -41 -42 -43 -44 -46 -47 -48 -51 -55 -56 -55 -52 -47 -42 -40 -38 -37 -38 -46 -52 -55 -55 -51 -50 -50 -51 -53 -56 -57 -56 -52 -49 -48 -47 -47 -49 -52 -54 -56 -57 -59 -60 -62 -64 -65 -65 -63 -62 -60 -58 -54 -49 -44 -39 -35 -33 -32 -32 -34 -35 -37 -38 -40 -43 -45 -45 -47 -49 -52 -55 -56 -56 -53 -50 -50 -51 -52 -55 -58 -55 -45 -34 -27 -29 -32 -36 -39 -40 -42 -43 -43 -42 -40 -39 -38 -39 -39 -40 -42 -43 -44 -44 -43 -42 -40 -38 -35 -32 -27 -24 -23 -26 -31 -36 -39 -40 -41 -42 -43 -43 -43 -43 -42 -43 -43 -40 -37 -36 -40 -46 -50 -49 -43 -33 -30 -30 -30 -31 -32 -34 -37 -40 -45 -49 -54 -58 -61 -64 -67 -68 -70 -72 -76 -81 -85 -88 -85 -82 -78 -76 -74 -73 -73 -74 -75 -77 -76 -73 -70 -68 -69 -68 -66 -65 -65 -68 -71 -73 -73 -70 -68 -66 -67 -68 -71 -75 -80 -85 -90 -89 -86 -82 -80 -79 -80 -81 -82 -84 -87 -87 -86 -83 -82 -81 -81 -82 -85 -87 -87 -85 -80 -73 -73 -77 -82 -87 -89 -89 -87 -86 -85 -84 -84 -83 -83 -82 -83 -84 -84 -85 -84 -84 -85 -86 -87 -86 -84 -82 -81 -81 -82 -84 -86 -86 -86 -85 -84 -82 -80 -78 -77 -75 -73 -72 -71 -71 -70 -69 -67 -67 -67 -66 -66 -65 -65 -65 -65 -66 -67 -68 -69 -70 -70 -70 -69 -68 -67 -69 -73 -78 -81 -81 -80 -80 -81 -82 -83 -84 -85 -84 -83 -82 -81 -79 -76 -74 -74 -75 -76 -77 -78 -79 -80 -82 -84 -83 -80 -75 -71 -68 -67 -66 -64 -62 -60 -59 -59 -59 -60 -61 -61 -61 -60 -58 -57 -57 -57 -58 -58 -57 -56 -55 -55 -55 -55 -55 -55 -55 -55 -55 -54 -54 -53 -53 -54 -54 -55 -55 -54 -52 -51 -52 -54 -57 -60 -62 -62 -62 -61 -60 -60 -61 -63 -63 -61 -60 -60 -61 -63 -64 -63 -62 -63 -62 -61 -60 -61 -61 -62 -62 -62 -61 -60 -28 -28 -29 -29 -29 -28 -28 -29 -31 -33 -35 -35 -34 -35 -37 -32 -26 -22 -21 -26 -34 -41 -45 -43 -40 -39 -40 -41 -40 -40 -41 -43 -44 -47 -51 -53 -55 -56 -55 -54 -51 -48 -45 -45 -42 -39 -38 -44 -50 -52 -50 -46 -47 -49 -52 -54 -55 -52 -48 -45 -46 -48 -50 -52 -53 -54 -54 -55 -56 -58 -59 -62 -64 -65 -64 -61 -58 -55 -52 -48 -42 -37 -32 -30 -31 -31 -32 -35 -37 -39 -41 -42 -44 -45 -45 -46 -48 -51 -54 -56 -57 -55 -53 -52 -51 -51 -53 -55 -51 -42 -32 -26 -28 -32 -37 -40 -42 -43 -44 -44 -44 -43 -42 -40 -40 -39 -40 -41 -43 -43 -40 -38 -38 -39 -40 -37 -32 -27 -24 -25 -29 -33 -36 -37 -39 -41 -42 -41 -40 -39 -39 -39 -40 -39 -37 -36 -38 -44 -49 -52 -50 -43 -35 -32 -33 -33 -32 -33 -36 -39 -44 -46 -50 -53 -56 -59 -62 -65 -68 -70 -71 -75 -80 -85 -86 -82 -79 -77 -76 -75 -74 -75 -77 -80 -81 -78 -73 -67 -64 -66 -66 -66 -65 -64 -67 -69 -70 -70 -67 -65 -64 -64 -67 -73 -77 -82 -86 -89 -87 -83 -78 -74 -74 -76 -77 -78 -79 -81 -82 -83 -84 -84 -86 -87 -89 -90 -90 -88 -85 -79 -72 -73 -77 -82 -85 -87 -87 -86 -85 -84 -84 -84 -84 -82 -82 -83 -84 -84 -85 -85 -86 -87 -88 -87 -85 -82 -80 -79 -79 -81 -82 -83 -83 -83 -81 -80 -79 -78 -77 -76 -75 -73 -71 -70 -70 -69 -68 -67 -66 -66 -65 -65 -65 -64 -64 -63 -64 -66 -68 -70 -71 -70 -69 -68 -68 -66 -66 -67 -72 -77 -77 -77 -76 -77 -80 -82 -83 -84 -84 -82 -81 -80 -78 -77 -75 -75 -75 -76 -77 -77 -77 -77 -77 -79 -79 -77 -72 -69 -68 -67 -66 -64 -63 -61 -59 -59 -59 -60 -60 -61 -61 -60 -59 -58 -57 -58 -59 -59 -58 -58 -56 -55 -55 -55 -55 -55 -54 -54 -53 -54 -53 -53 -52 -53 -53 -54 -54 -53 -52 -50 -49 -50 -54 -58 -60 -61 -61 -61 -60 -60 -61 -62 -62 -61 -60 -60 -62 -64 -64 -64 -64 -64 -63 -62 -61 -61 -61 -61 -62 -63 -62 -61 -26 -25 -24 -26 -28 -30 -30 -30 -31 -32 -33 -34 -34 -36 -38 -33 -29 -25 -22 -23 -30 -38 -42 -41 -40 -40 -40 -41 -39 -38 -40 -43 -46 -50 -54 -56 -57 -56 -53 -51 -49 -47 -46 -48 -46 -42 -39 -43 -47 -47 -45 -43 -47 -50 -52 -52 -49 -44 -41 -41 -45 -49 -52 -54 -55 -55 -54 -54 -55 -57 -60 -62 -63 -63 -61 -57 -51 -45 -41 -38 -33 -30 -29 -29 -31 -32 -33 -35 -38 -41 -43 -44 -44 -44 -44 -45 -47 -50 -53 -56 -57 -58 -57 -54 -51 -50 -52 -53 -49 -40 -32 -28 -29 -33 -37 -41 -44 -45 -45 -45 -46 -46 -45 -43 -42 -40 -41 -41 -42 -41 -36 -34 -36 -40 -42 -39 -33 -28 -25 -27 -31 -34 -35 -35 -38 -41 -42 -41 -37 -35 -35 -37 -38 -38 -37 -37 -41 -48 -53 -53 -50 -44 -39 -40 -42 -42 -39 -38 -38 -41 -45 -46 -48 -51 -54 -57 -61 -64 -67 -68 -68 -71 -76 -81 -81 -77 -76 -76 -76 -75 -75 -78 -81 -84 -84 -77 -69 -63 -62 -63 -65 -66 -66 -65 -66 -66 -67 -68 -66 -64 -63 -63 -65 -72 -78 -83 -87 -89 -87 -84 -79 -75 -75 -75 -75 -76 -76 -77 -79 -81 -83 -86 -89 -91 -92 -93 -92 -89 -83 -77 -74 -75 -79 -82 -84 -85 -85 -85 -85 -85 -86 -85 -84 -81 -81 -81 -82 -83 -85 -86 -87 -87 -87 -86 -84 -81 -80 -79 -79 -79 -79 -78 -77 -77 -76 -76 -76 -75 -75 -74 -72 -70 -68 -68 -68 -68 -67 -66 -65 -64 -64 -64 -64 -64 -63 -62 -63 -65 -67 -69 -70 -69 -67 -66 -66 -66 -64 -63 -65 -71 -74 -74 -73 -74 -77 -79 -81 -82 -82 -82 -81 -80 -78 -77 -76 -76 -76 -76 -76 -76 -76 -75 -74 -75 -77 -76 -72 -69 -68 -67 -67 -65 -63 -61 -60 -60 -60 -60 -60 -61 -61 -60 -59 -58 -57 -57 -58 -59 -59 -58 -57 -56 -56 -56 -55 -54 -54 -53 -52 -53 -53 -53 -52 -52 -52 -52 -53 -53 -52 -50 -48 -48 -51 -54 -57 -59 -60 -60 -60 -60 -61 -63 -63 -61 -60 -59 -61 -62 -63 -63 -64 -63 -63 -62 -62 -61 -61 -61 -62 -62 -61 -60 -24 -22 -22 -24 -27 -31 -32 -31 -31 -31 -32 -33 -34 -35 -35 -34 -32 -28 -23 -21 -28 -35 -40 -42 -41 -41 -42 -41 -39 -39 -41 -45 -50 -56 -58 -58 -56 -54 -51 -48 -45 -44 -45 -48 -47 -43 -40 -42 -43 -42 -41 -42 -47 -49 -49 -46 -43 -40 -39 -42 -47 -51 -55 -57 -57 -56 -54 -54 -54 -57 -60 -62 -61 -60 -58 -50 -40 -33 -30 -29 -28 -28 -29 -30 -31 -32 -34 -36 -39 -41 -43 -43 -43 -44 -44 -45 -47 -49 -51 -54 -57 -60 -59 -55 -50 -49 -51 -52 -47 -40 -33 -30 -30 -32 -37 -42 -46 -46 -45 -46 -48 -48 -48 -47 -45 -43 -42 -42 -40 -38 -34 -33 -36 -41 -44 -40 -34 -29 -28 -30 -33 -34 -34 -34 -37 -40 -42 -40 -37 -35 -35 -37 -38 -37 -37 -39 -45 -53 -57 -56 -51 -44 -44 -47 -48 -47 -43 -41 -41 -42 -46 -47 -50 -52 -54 -57 -61 -65 -67 -68 -68 -69 -72 -74 -73 -71 -73 -76 -76 -75 -76 -80 -84 -88 -85 -74 -65 -60 -60 -61 -63 -64 -66 -66 -65 -65 -65 -66 -65 -64 -63 -63 -66 -75 -81 -85 -86 -86 -85 -83 -82 -81 -79 -77 -76 -76 -77 -79 -81 -82 -84 -87 -89 -90 -90 -92 -91 -87 -82 -78 -80 -83 -84 -83 -82 -82 -82 -83 -85 -86 -87 -84 -80 -75 -76 -77 -79 -81 -84 -86 -87 -87 -86 -85 -83 -81 -80 -80 -78 -77 -75 -73 -72 -72 -72 -72 -72 -72 -71 -70 -68 -66 -66 -67 -68 -68 -66 -64 -63 -62 -62 -62 -63 -63 -62 -62 -62 -64 -66 -67 -68 -66 -64 -62 -62 -63 -64 -62 -61 -65 -70 -72 -71 -71 -74 -76 -78 -79 -80 -80 -80 -80 -79 -78 -78 -78 -79 -78 -77 -76 -76 -74 -74 -75 -76 -76 -73 -70 -67 -66 -66 -64 -63 -62 -61 -60 -60 -60 -61 -61 -61 -60 -59 -58 -57 -57 -57 -58 -58 -58 -57 -56 -55 -55 -55 -54 -53 -53 -53 -53 -53 -52 -52 -51 -51 -52 -51 -52 -51 -51 -50 -49 -49 -50 -53 -56 -58 -58 -59 -60 -62 -63 -63 -62 -59 -58 -59 -60 -61 -62 -63 -63 -62 -62 -63 -62 -62 -62 -62 -61 -60 -59 -23 -21 -21 -23 -27 -32 -33 -33 -31 -30 -31 -32 -33 -34 -34 -34 -34 -30 -25 -22 -27 -33 -39 -43 -45 -45 -45 -44 -41 -41 -45 -50 -56 -61 -60 -58 -55 -53 -48 -44 -42 -43 -45 -46 -45 -41 -39 -39 -40 -40 -41 -43 -44 -44 -42 -41 -40 -41 -43 -46 -51 -56 -59 -59 -58 -57 -56 -56 -56 -58 -59 -59 -59 -57 -50 -38 -29 -26 -25 -26 -28 -30 -31 -32 -32 -33 -35 -37 -39 -40 -41 -42 -44 -45 -46 -47 -48 -49 -52 -54 -56 -57 -55 -51 -49 -48 -50 -48 -43 -37 -32 -31 -31 -33 -37 -43 -46 -46 -46 -46 -49 -52 -52 -52 -50 -46 -43 -41 -37 -34 -33 -35 -39 -43 -45 -40 -34 -30 -29 -32 -34 -35 -34 -33 -36 -39 -40 -40 -39 -38 -38 -39 -39 -37 -38 -41 -47 -53 -57 -55 -50 -43 -45 -49 -50 -47 -45 -44 -45 -46 -48 -50 -51 -52 -55 -60 -67 -71 -72 -70 -69 -70 -70 -67 -64 -66 -71 -75 -77 -77 -79 -82 -85 -87 -81 -72 -65 -61 -60 -60 -61 -62 -64 -66 -66 -66 -65 -65 -66 -65 -64 -66 -71 -79 -84 -86 -86 -86 -85 -85 -85 -84 -82 -79 -78 -78 -81 -84 -87 -88 -89 -89 -87 -87 -87 -89 -88 -83 -80 -81 -87 -89 -88 -85 -81 -80 -80 -81 -83 -85 -85 -81 -75 -70 -73 -76 -79 -81 -83 -86 -87 -88 -86 -85 -83 -82 -80 -79 -78 -75 -73 -70 -70 -70 -70 -69 -68 -68 -67 -66 -65 -64 -65 -66 -68 -67 -65 -62 -60 -59 -60 -60 -61 -61 -61 -62 -63 -64 -65 -65 -65 -64 -62 -59 -58 -59 -60 -61 -62 -65 -67 -69 -70 -70 -71 -73 -75 -76 -77 -78 -78 -78 -78 -79 -80 -80 -79 -78 -77 -76 -75 -74 -74 -74 -75 -75 -75 -72 -69 -67 -66 -65 -64 -63 -62 -61 -60 -61 -61 -61 -60 -59 -58 -58 -57 -57 -57 -57 -58 -58 -57 -57 -55 -54 -54 -53 -53 -52 -53 -53 -52 -51 -51 -51 -51 -51 -51 -51 -51 -51 -50 -50 -49 -48 -49 -52 -55 -56 -58 -60 -62 -63 -63 -62 -61 -60 -59 -59 -60 -62 -63 -63 -63 -63 -63 -63 -62 -62 -62 -60 -59 -60 -22 -21 -21 -23 -27 -32 -34 -33 -32 -30 -30 -32 -33 -33 -33 -34 -34 -32 -28 -24 -27 -32 -38 -43 -47 -48 -49 -48 -44 -45 -51 -58 -62 -63 -60 -56 -54 -52 -48 -44 -42 -42 -46 -44 -42 -40 -38 -36 -36 -36 -37 -38 -39 -39 -38 -38 -40 -43 -47 -51 -55 -59 -59 -58 -56 -56 -57 -57 -58 -58 -58 -58 -57 -54 -43 -31 -25 -25 -26 -27 -28 -30 -31 -33 -34 -35 -36 -37 -39 -42 -45 -47 -49 -51 -52 -52 -51 -50 -51 -53 -55 -55 -52 -49 -46 -46 -48 -46 -40 -35 -33 -33 -33 -35 -39 -43 -46 -47 -48 -50 -52 -54 -55 -54 -51 -47 -42 -38 -34 -31 -33 -36 -40 -43 -44 -39 -33 -29 -30 -33 -35 -36 -35 -34 -35 -37 -39 -41 -42 -42 -42 -41 -39 -37 -39 -42 -46 -51 -53 -51 -46 -41 -44 -47 -47 -46 -46 -46 -47 -49 -51 -52 -53 -54 -57 -64 -74 -79 -78 -72 -66 -63 -61 -60 -59 -63 -69 -73 -76 -78 -81 -84 -84 -81 -74 -69 -67 -65 -62 -60 -59 -59 -61 -64 -65 -66 -66 -67 -67 -67 -67 -70 -76 -82 -85 -85 -84 -82 -82 -82 -82 -82 -79 -78 -76 -76 -79 -83 -86 -88 -90 -89 -87 -85 -85 -85 -83 -80 -78 -81 -87 -89 -88 -85 -82 -80 -79 -80 -81 -82 -81 -76 -71 -69 -73 -77 -80 -82 -83 -85 -87 -87 -86 -85 -83 -82 -80 -79 -76 -74 -72 -71 -70 -69 -68 -67 -66 -66 -66 -65 -65 -64 -66 -67 -67 -66 -64 -61 -59 -58 -59 -59 -59 -59 -60 -61 -63 -64 -64 -63 -62 -61 -59 -55 -53 -54 -57 -59 -61 -62 -63 -65 -68 -70 -70 -71 -72 -73 -75 -75 -76 -76 -77 -79 -81 -81 -79 -77 -76 -74 -73 -72 -72 -73 -75 -75 -75 -74 -71 -69 -67 -66 -65 -64 -62 -61 -61 -62 -62 -61 -60 -59 -58 -58 -57 -56 -56 -57 -58 -58 -57 -57 -56 -54 -53 -53 -52 -52 -52 -52 -51 -50 -50 -50 -50 -50 -51 -51 -51 -51 -51 -49 -48 -47 -48 -48 -51 -53 -56 -59 -61 -62 -63 -63 -63 -62 -61 -60 -60 -61 -63 -64 -65 -64 -64 -62 -61 -61 -61 -60 -59 -60 -21 -21 -21 -23 -27 -31 -33 -33 -32 -31 -31 -32 -32 -32 -33 -33 -34 -32 -29 -26 -28 -32 -36 -41 -45 -49 -51 -50 -47 -49 -57 -63 -65 -62 -57 -54 -53 -51 -50 -48 -45 -43 -43 -42 -41 -40 -38 -35 -33 -33 -34 -35 -35 -35 -37 -39 -44 -48 -52 -54 -56 -57 -55 -54 -54 -55 -58 -59 -60 -61 -61 -60 -57 -50 -37 -27 -24 -26 -28 -28 -28 -29 -30 -32 -34 -35 -37 -40 -45 -49 -52 -54 -55 -55 -55 -53 -52 -51 -52 -53 -54 -53 -50 -46 -45 -46 -47 -43 -39 -36 -35 -35 -35 -36 -39 -44 -47 -49 -50 -50 -51 -54 -56 -55 -52 -47 -41 -36 -34 -33 -34 -37 -41 -43 -42 -38 -34 -31 -31 -34 -36 -38 -40 -41 -41 -41 -42 -42 -43 -44 -43 -42 -40 -40 -42 -45 -47 -49 -49 -47 -43 -39 -41 -43 -45 -46 -45 -47 -48 -50 -52 -53 -54 -56 -60 -68 -79 -84 -82 -75 -66 -60 -58 -58 -59 -62 -66 -69 -72 -76 -80 -83 -83 -79 -72 -66 -64 -63 -61 -56 -54 -54 -58 -60 -62 -64 -66 -68 -70 -70 -72 -75 -80 -82 -82 -81 -80 -79 -79 -80 -80 -79 -76 -75 -74 -75 -78 -81 -85 -87 -89 -87 -84 -82 -82 -82 -81 -78 -76 -79 -84 -86 -85 -84 -82 -79 -79 -80 -81 -80 -77 -73 -70 -71 -75 -79 -81 -83 -85 -86 -86 -87 -86 -85 -83 -82 -81 -79 -76 -75 -74 -74 -72 -69 -66 -65 -65 -66 -66 -66 -65 -66 -66 -67 -67 -66 -65 -62 -59 -57 -58 -58 -58 -58 -59 -60 -62 -63 -63 -61 -60 -59 -57 -53 -51 -52 -54 -58 -60 -62 -63 -65 -68 -69 -69 -69 -69 -71 -72 -73 -74 -75 -76 -78 -80 -80 -79 -76 -74 -73 -72 -71 -71 -72 -72 -73 -75 -75 -74 -72 -70 -68 -66 -64 -62 -61 -62 -62 -62 -62 -60 -59 -58 -58 -57 -56 -56 -57 -57 -57 -57 -57 -56 -54 -53 -53 -52 -51 -51 -51 -50 -50 -50 -50 -50 -50 -50 -50 -51 -51 -51 -50 -48 -48 -48 -48 -49 -51 -55 -58 -60 -61 -62 -63 -64 -64 -63 -62 -61 -62 -64 -65 -65 -66 -65 -63 -61 -60 -60 -59 -59 -60 -21 -20 -21 -24 -27 -30 -33 -33 -32 -31 -31 -32 -32 -32 -32 -33 -33 -32 -30 -28 -29 -32 -36 -40 -43 -48 -52 -54 -51 -54 -60 -63 -63 -58 -55 -53 -52 -50 -50 -49 -47 -44 -41 -42 -42 -40 -37 -34 -33 -32 -32 -33 -34 -35 -38 -43 -48 -52 -54 -54 -54 -52 -51 -51 -53 -56 -60 -62 -63 -64 -62 -59 -53 -44 -32 -25 -25 -27 -29 -30 -32 -33 -33 -34 -35 -36 -40 -45 -52 -55 -56 -57 -56 -56 -55 -53 -53 -52 -52 -53 -53 -52 -48 -44 -43 -43 -45 -42 -39 -37 -37 -37 -35 -36 -40 -45 -48 -50 -51 -51 -51 -54 -56 -55 -52 -45 -40 -36 -35 -35 -37 -39 -42 -43 -41 -38 -36 -35 -34 -35 -36 -39 -43 -45 -45 -44 -43 -41 -40 -41 -41 -42 -43 -45 -47 -49 -50 -50 -48 -45 -41 -39 -41 -42 -44 -44 -44 -46 -50 -53 -53 -54 -55 -59 -65 -73 -82 -85 -83 -75 -65 -59 -58 -60 -62 -62 -63 -66 -69 -74 -79 -82 -81 -75 -67 -61 -59 -58 -57 -54 -52 -53 -56 -58 -60 -63 -66 -68 -72 -75 -77 -79 -79 -79 -78 -75 -75 -77 -78 -79 -78 -77 -76 -75 -75 -77 -80 -81 -82 -84 -85 -84 -82 -81 -80 -81 -79 -77 -74 -75 -79 -81 -84 -86 -85 -83 -81 -81 -81 -79 -76 -73 -72 -75 -78 -81 -82 -84 -86 -86 -86 -86 -85 -84 -83 -82 -81 -79 -77 -76 -76 -75 -72 -68 -65 -64 -65 -66 -66 -65 -65 -66 -66 -67 -67 -67 -66 -63 -59 -57 -57 -58 -58 -57 -58 -59 -61 -62 -63 -61 -60 -58 -56 -53 -50 -50 -52 -55 -58 -61 -64 -66 -68 -68 -68 -68 -68 -68 -70 -72 -74 -76 -76 -77 -78 -79 -78 -76 -74 -72 -71 -70 -70 -69 -69 -70 -72 -73 -74 -73 -72 -71 -68 -64 -62 -62 -63 -63 -62 -61 -60 -59 -58 -59 -58 -57 -57 -57 -57 -57 -56 -56 -55 -54 -53 -53 -52 -51 -51 -51 -50 -50 -50 -50 -50 -50 -49 -50 -51 -51 -50 -49 -48 -48 -48 -47 -47 -49 -53 -57 -59 -61 -62 -64 -65 -65 -64 -62 -62 -63 -64 -65 -66 -66 -65 -63 -62 -61 -60 -59 -60 -60 -20 -20 -21 -24 -27 -30 -32 -33 -33 -32 -32 -32 -32 -32 -32 -33 -33 -34 -33 -31 -30 -31 -35 -39 -42 -47 -53 -57 -57 -60 -62 -61 -58 -55 -53 -52 -51 -48 -46 -46 -46 -44 -42 -43 -42 -40 -36 -34 -32 -32 -32 -33 -34 -37 -41 -45 -50 -52 -53 -52 -51 -49 -48 -50 -54 -59 -62 -65 -65 -64 -60 -55 -48 -40 -33 -30 -29 -29 -30 -33 -38 -40 -40 -39 -39 -42 -46 -51 -55 -56 -56 -56 -55 -54 -54 -54 -53 -53 -52 -52 -52 -52 -47 -42 -40 -41 -42 -41 -39 -39 -39 -38 -36 -37 -40 -45 -49 -50 -51 -50 -50 -52 -53 -52 -48 -42 -38 -36 -37 -39 -40 -42 -43 -43 -41 -40 -40 -40 -38 -37 -37 -37 -39 -41 -41 -42 -43 -44 -43 -42 -41 -43 -45 -49 -51 -52 -51 -49 -47 -43 -40 -39 -41 -42 -42 -42 -42 -47 -51 -55 -57 -57 -58 -63 -71 -79 -84 -85 -81 -72 -61 -58 -59 -63 -65 -62 -62 -64 -69 -75 -81 -83 -80 -70 -61 -57 -55 -55 -54 -52 -52 -53 -56 -58 -60 -62 -65 -68 -74 -78 -80 -78 -76 -75 -73 -71 -71 -73 -75 -75 -75 -76 -77 -77 -78 -80 -82 -81 -81 -81 -82 -83 -82 -82 -81 -80 -79 -76 -74 -76 -78 -79 -81 -83 -86 -87 -85 -82 -80 -79 -77 -76 -74 -77 -79 -81 -83 -84 -86 -87 -87 -86 -85 -84 -83 -82 -81 -80 -79 -78 -77 -75 -71 -66 -63 -62 -63 -64 -64 -63 -63 -64 -65 -66 -67 -67 -66 -62 -59 -57 -57 -57 -58 -58 -59 -59 -61 -63 -64 -62 -60 -59 -57 -53 -50 -49 -49 -52 -56 -60 -63 -66 -67 -67 -67 -67 -66 -67 -68 -70 -73 -75 -76 -76 -77 -77 -77 -75 -73 -72 -71 -70 -69 -68 -67 -68 -69 -71 -73 -73 -73 -71 -69 -65 -63 -64 -64 -63 -61 -59 -58 -58 -58 -59 -58 -57 -57 -57 -57 -56 -56 -55 -54 -54 -53 -53 -52 -51 -51 -51 -50 -50 -50 -50 -50 -49 -49 -50 -50 -50 -49 -49 -49 -49 -48 -47 -47 -48 -52 -56 -59 -60 -62 -63 -64 -65 -64 -63 -62 -63 -64 -66 -66 -65 -65 -64 -63 -61 -60 -60 -60 -60 -20 -20 -21 -23 -26 -30 -32 -33 -33 -33 -33 -31 -31 -30 -31 -33 -35 -36 -36 -34 -32 -31 -34 -38 -42 -48 -54 -59 -62 -64 -64 -61 -56 -52 -52 -52 -52 -47 -43 -42 -43 -45 -45 -44 -42 -39 -36 -33 -31 -31 -32 -33 -35 -38 -42 -45 -47 -48 -49 -49 -48 -47 -48 -51 -56 -61 -64 -66 -65 -62 -57 -49 -42 -38 -39 -39 -38 -37 -37 -40 -44 -47 -48 -47 -47 -50 -53 -55 -55 -54 -54 -54 -54 -53 -54 -54 -54 -53 -52 -52 -52 -50 -44 -38 -36 -38 -41 -41 -41 -41 -41 -40 -38 -38 -41 -46 -49 -51 -50 -50 -50 -50 -50 -48 -45 -40 -37 -37 -39 -42 -45 -45 -44 -43 -41 -42 -43 -45 -43 -41 -39 -38 -37 -36 -37 -39 -43 -48 -48 -45 -43 -44 -47 -51 -52 -52 -50 -47 -44 -42 -40 -39 -40 -42 -43 -44 -47 -50 -52 -54 -56 -56 -59 -65 -74 -79 -82 -81 -75 -66 -57 -56 -59 -64 -66 -63 -62 -65 -72 -78 -84 -85 -80 -68 -59 -54 -52 -52 -52 -51 -51 -52 -55 -58 -59 -61 -64 -69 -74 -78 -79 -77 -75 -74 -72 -70 -69 -68 -69 -71 -73 -75 -77 -79 -80 -81 -82 -81 -80 -79 -81 -83 -84 -83 -81 -80 -78 -74 -71 -72 -75 -78 -80 -82 -86 -87 -86 -82 -80 -81 -80 -78 -76 -77 -78 -80 -81 -83 -86 -87 -87 -86 -85 -83 -82 -80 -79 -79 -78 -77 -76 -73 -69 -65 -62 -60 -61 -61 -60 -59 -60 -62 -64 -66 -67 -67 -65 -61 -58 -56 -57 -58 -59 -60 -60 -61 -62 -64 -65 -64 -63 -61 -58 -54 -51 -49 -49 -51 -55 -59 -62 -65 -66 -66 -66 -66 -66 -67 -67 -69 -71 -73 -75 -76 -76 -76 -75 -75 -73 -72 -71 -70 -69 -68 -67 -66 -67 -68 -70 -71 -71 -70 -68 -65 -63 -64 -64 -63 -61 -58 -56 -56 -58 -58 -58 -57 -57 -57 -57 -56 -55 -54 -54 -53 -53 -53 -53 -52 -51 -51 -50 -50 -50 -50 -49 -49 -48 -48 -49 -49 -49 -49 -50 -49 -49 -47 -46 -47 -51 -55 -58 -60 -61 -62 -63 -64 -64 -63 -63 -63 -64 -65 -65 -65 -64 -63 -62 -61 -61 -61 -61 -60 -20 -20 -20 -23 -26 -30 -32 -34 -34 -34 -33 -32 -30 -29 -31 -34 -37 -38 -38 -36 -33 -32 -33 -37 -42 -48 -55 -61 -63 -63 -64 -62 -57 -50 -50 -52 -52 -48 -41 -39 -42 -45 -46 -45 -42 -40 -37 -33 -30 -30 -31 -32 -34 -37 -40 -42 -43 -44 -45 -47 -47 -46 -49 -53 -59 -63 -64 -64 -62 -58 -50 -42 -38 -39 -43 -48 -51 -52 -52 -52 -52 -54 -55 -56 -56 -57 -58 -56 -54 -52 -51 -51 -51 -52 -53 -54 -55 -52 -51 -50 -49 -47 -40 -34 -34 -37 -40 -42 -43 -43 -43 -42 -40 -41 -44 -47 -50 -51 -51 -51 -50 -49 -48 -47 -46 -41 -38 -37 -40 -44 -47 -47 -46 -44 -42 -43 -45 -47 -47 -45 -41 -38 -37 -35 -35 -38 -43 -49 -51 -50 -47 -46 -48 -51 -52 -51 -48 -44 -42 -40 -39 -38 -39 -42 -46 -48 -51 -52 -53 -55 -58 -62 -66 -71 -75 -78 -78 -76 -72 -66 -59 -57 -58 -60 -64 -62 -63 -68 -75 -82 -86 -85 -79 -68 -60 -55 -52 -51 -51 -50 -51 -52 -55 -57 -59 -61 -65 -70 -74 -76 -76 -74 -72 -71 -70 -70 -70 -70 -70 -71 -71 -74 -78 -80 -82 -82 -81 -80 -79 -80 -83 -85 -85 -83 -80 -78 -75 -71 -66 -67 -74 -79 -82 -83 -86 -87 -86 -82 -81 -81 -80 -77 -74 -74 -75 -76 -79 -83 -86 -87 -87 -86 -84 -82 -80 -78 -77 -77 -76 -75 -73 -70 -67 -65 -62 -59 -58 -58 -58 -59 -60 -61 -63 -65 -66 -65 -63 -60 -57 -57 -58 -60 -62 -63 -63 -62 -63 -65 -67 -67 -66 -63 -58 -54 -52 -51 -51 -52 -55 -59 -62 -64 -65 -65 -65 -65 -66 -67 -68 -68 -70 -71 -72 -74 -75 -75 -74 -74 -73 -72 -71 -71 -70 -69 -67 -66 -66 -66 -67 -67 -68 -68 -67 -63 -61 -62 -63 -63 -62 -58 -56 -56 -58 -58 -58 -58 -58 -57 -57 -56 -55 -55 -55 -54 -54 -53 -53 -53 -52 -52 -51 -51 -50 -50 -49 -48 -47 -47 -48 -49 -50 -50 -49 -48 -48 -46 -45 -46 -51 -54 -56 -58 -60 -61 -62 -63 -63 -63 -63 -63 -63 -63 -64 -64 -64 -63 -62 -60 -61 -62 -62 -60 -19 -19 -21 -23 -27 -30 -32 -34 -34 -34 -34 -32 -29 -28 -30 -35 -38 -39 -39 -36 -34 -33 -34 -37 -42 -49 -56 -62 -62 -62 -62 -61 -57 -50 -49 -51 -51 -47 -40 -38 -40 -44 -46 -45 -43 -42 -39 -35 -31 -29 -30 -31 -33 -35 -37 -39 -41 -44 -47 -51 -53 -51 -52 -55 -59 -62 -62 -60 -57 -51 -42 -36 -35 -40 -47 -51 -53 -53 -53 -52 -53 -54 -55 -56 -56 -57 -57 -56 -54 -52 -50 -49 -50 -51 -52 -54 -54 -50 -49 -47 -46 -43 -36 -32 -32 -36 -41 -44 -45 -44 -44 -44 -45 -46 -48 -49 -50 -52 -53 -53 -52 -50 -48 -48 -48 -44 -41 -39 -41 -44 -46 -47 -47 -44 -42 -42 -44 -47 -49 -46 -42 -38 -36 -36 -37 -39 -43 -48 -53 -53 -51 -49 -50 -51 -51 -50 -47 -43 -41 -39 -38 -36 -38 -43 -48 -51 -52 -53 -56 -60 -64 -68 -70 -71 -72 -73 -72 -69 -67 -65 -60 -55 -52 -53 -59 -62 -66 -72 -78 -81 -82 -80 -74 -67 -63 -59 -56 -53 -52 -51 -51 -53 -55 -57 -58 -60 -64 -68 -71 -73 -73 -72 -70 -69 -68 -69 -70 -72 -72 -73 -73 -75 -77 -79 -80 -80 -80 -80 -80 -81 -82 -83 -83 -81 -78 -75 -72 -68 -64 -67 -74 -80 -84 -84 -85 -87 -87 -85 -84 -82 -80 -76 -75 -75 -75 -75 -77 -82 -85 -87 -87 -86 -84 -81 -77 -75 -76 -75 -74 -72 -69 -66 -65 -64 -63 -59 -56 -56 -56 -58 -60 -61 -62 -64 -64 -63 -61 -58 -57 -58 -61 -63 -64 -64 -64 -64 -64 -66 -68 -68 -66 -63 -58 -54 -52 -51 -51 -53 -55 -58 -61 -63 -65 -65 -65 -65 -66 -67 -68 -68 -69 -69 -70 -71 -73 -74 -74 -74 -73 -71 -71 -71 -70 -70 -67 -65 -65 -65 -65 -65 -66 -66 -65 -62 -60 -59 -60 -62 -61 -59 -57 -57 -59 -59 -59 -58 -58 -57 -56 -55 -54 -54 -54 -54 -54 -54 -53 -53 -52 -52 -51 -51 -51 -50 -49 -48 -47 -47 -48 -49 -49 -48 -47 -45 -46 -45 -44 -46 -50 -53 -55 -57 -58 -60 -62 -63 -63 -63 -63 -62 -62 -61 -62 -63 -63 -63 -62 -60 -60 -61 -62 -62 -19 -20 -21 -24 -27 -30 -32 -34 -35 -36 -35 -33 -30 -29 -30 -35 -39 -41 -41 -38 -36 -35 -36 -38 -42 -48 -56 -62 -63 -61 -60 -57 -54 -49 -47 -48 -48 -44 -39 -37 -39 -44 -46 -46 -46 -47 -46 -42 -37 -33 -30 -29 -30 -33 -36 -41 -47 -52 -56 -59 -61 -60 -60 -61 -63 -63 -60 -57 -53 -47 -40 -37 -40 -45 -50 -52 -51 -50 -49 -50 -52 -54 -54 -54 -55 -56 -55 -52 -50 -49 -48 -48 -49 -51 -52 -53 -52 -48 -46 -44 -43 -41 -36 -32 -32 -36 -42 -45 -47 -47 -47 -47 -48 -50 -52 -51 -51 -52 -53 -54 -53 -51 -50 -49 -49 -46 -43 -41 -41 -43 -45 -47 -48 -46 -42 -42 -44 -47 -47 -44 -40 -38 -37 -39 -40 -42 -45 -48 -53 -55 -55 -53 -52 -51 -49 -47 -45 -44 -42 -40 -37 -35 -39 -44 -50 -53 -54 -56 -59 -64 -70 -75 -75 -71 -68 -67 -63 -60 -59 -61 -55 -50 -48 -51 -57 -64 -71 -76 -75 -75 -75 -74 -71 -66 -64 -64 -62 -58 -53 -51 -50 -52 -54 -55 -57 -58 -61 -65 -68 -70 -71 -70 -69 -68 -67 -68 -71 -73 -74 -75 -74 -75 -75 -76 -77 -78 -79 -79 -79 -79 -80 -81 -82 -81 -76 -72 -69 -66 -65 -70 -76 -80 -83 -82 -82 -84 -86 -87 -86 -82 -78 -75 -76 -76 -76 -77 -78 -82 -86 -88 -87 -84 -82 -78 -74 -73 -74 -73 -71 -68 -65 -63 -63 -63 -63 -60 -57 -56 -57 -59 -60 -60 -60 -60 -61 -60 -60 -60 -60 -62 -63 -65 -65 -64 -63 -63 -64 -66 -67 -66 -63 -60 -56 -54 -52 -51 -51 -53 -55 -57 -61 -63 -64 -64 -65 -65 -66 -67 -68 -69 -69 -68 -68 -69 -71 -72 -73 -72 -71 -70 -69 -69 -70 -70 -67 -65 -64 -64 -64 -64 -65 -65 -65 -62 -59 -58 -58 -59 -58 -57 -57 -58 -60 -60 -59 -57 -57 -56 -55 -54 -53 -52 -53 -53 -53 -53 -53 -53 -52 -51 -51 -50 -50 -49 -49 -47 -47 -46 -47 -48 -49 -48 -45 -45 -45 -44 -43 -45 -48 -51 -54 -55 -56 -59 -61 -63 -64 -65 -64 -62 -61 -59 -60 -61 -62 -62 -61 -60 -60 -61 -62 -62 -19 -20 -22 -24 -27 -30 -33 -35 -36 -37 -37 -35 -32 -30 -30 -35 -41 -44 -45 -42 -40 -39 -39 -42 -45 -48 -56 -62 -65 -63 -58 -54 -49 -45 -45 -46 -45 -41 -38 -37 -39 -43 -45 -46 -48 -50 -50 -48 -45 -41 -37 -34 -31 -33 -37 -43 -50 -57 -61 -63 -63 -62 -62 -63 -63 -61 -57 -53 -49 -46 -43 -44 -48 -52 -57 -58 -58 -57 -55 -56 -57 -57 -56 -56 -57 -56 -53 -48 -46 -45 -46 -47 -49 -50 -52 -52 -51 -46 -43 -43 -44 -44 -38 -33 -33 -37 -42 -46 -49 -51 -51 -50 -51 -52 -53 -52 -53 -53 -53 -52 -50 -49 -47 -47 -48 -47 -44 -41 -41 -42 -44 -45 -46 -46 -43 -41 -42 -44 -45 -42 -39 -38 -37 -38 -40 -44 -47 -50 -54 -56 -57 -55 -53 -50 -46 -42 -41 -43 -43 -41 -37 -35 -39 -45 -51 -54 -55 -58 -61 -66 -73 -79 -79 -74 -66 -60 -55 -54 -55 -60 -53 -48 -48 -53 -57 -65 -72 -76 -76 -74 -73 -71 -67 -63 -62 -62 -63 -62 -55 -51 -49 -50 -52 -53 -55 -56 -59 -62 -65 -68 -69 -69 -68 -66 -66 -68 -71 -73 -75 -75 -74 -73 -73 -74 -75 -76 -77 -77 -77 -77 -78 -80 -80 -79 -73 -68 -64 -62 -66 -72 -76 -80 -81 -80 -80 -81 -83 -87 -86 -82 -78 -75 -77 -78 -79 -79 -80 -84 -87 -87 -84 -79 -76 -74 -72 -72 -72 -70 -67 -63 -62 -62 -62 -63 -64 -62 -59 -58 -59 -60 -59 -59 -58 -58 -58 -59 -60 -61 -62 -63 -63 -64 -63 -62 -61 -61 -62 -65 -65 -63 -60 -57 -56 -54 -53 -52 -51 -52 -53 -55 -59 -61 -62 -63 -65 -66 -66 -67 -69 -70 -69 -68 -68 -68 -68 -70 -71 -71 -69 -68 -68 -68 -68 -68 -67 -65 -63 -63 -62 -62 -63 -64 -64 -63 -60 -58 -57 -57 -56 -56 -57 -59 -61 -60 -58 -57 -57 -56 -54 -52 -51 -51 -51 -52 -52 -53 -53 -53 -52 -52 -50 -49 -49 -49 -48 -47 -46 -45 -45 -47 -47 -47 -46 -45 -44 -43 -43 -44 -47 -49 -51 -53 -54 -57 -61 -63 -63 -64 -63 -61 -60 -59 -59 -59 -60 -60 -60 -60 -59 -60 -61 -62 -19 -21 -22 -24 -27 -30 -33 -35 -37 -39 -39 -36 -33 -31 -31 -34 -41 -46 -49 -48 -46 -46 -47 -49 -51 -53 -58 -63 -65 -64 -59 -52 -45 -40 -41 -41 -40 -38 -37 -39 -41 -43 -44 -46 -47 -48 -48 -49 -49 -48 -46 -43 -39 -38 -41 -46 -53 -57 -59 -59 -58 -56 -56 -57 -58 -57 -53 -49 -46 -45 -47 -50 -53 -56 -58 -60 -61 -61 -60 -60 -59 -58 -57 -57 -57 -55 -50 -45 -43 -44 -45 -47 -49 -50 -51 -52 -50 -45 -42 -43 -45 -45 -39 -34 -33 -37 -42 -47 -52 -55 -55 -54 -56 -57 -57 -56 -55 -54 -53 -51 -48 -46 -45 -45 -47 -47 -45 -43 -41 -41 -42 -43 -44 -44 -44 -43 -44 -45 -44 -41 -39 -38 -38 -40 -44 -47 -50 -51 -55 -58 -60 -60 -57 -51 -43 -38 -38 -40 -41 -40 -38 -37 -41 -47 -51 -54 -55 -57 -60 -64 -70 -77 -78 -74 -65 -56 -51 -51 -54 -58 -53 -50 -50 -55 -59 -64 -68 -70 -72 -73 -73 -71 -68 -64 -62 -63 -65 -63 -56 -51 -48 -48 -49 -51 -54 -56 -60 -63 -66 -68 -68 -68 -66 -65 -65 -69 -71 -72 -73 -74 -74 -73 -73 -73 -74 -75 -76 -76 -76 -76 -76 -77 -77 -75 -69 -64 -63 -66 -71 -73 -76 -79 -82 -81 -80 -80 -82 -84 -84 -82 -78 -77 -78 -79 -80 -81 -82 -85 -86 -86 -82 -77 -74 -71 -69 -68 -69 -68 -64 -60 -60 -62 -63 -64 -64 -63 -62 -61 -61 -61 -60 -59 -58 -57 -58 -59 -60 -60 -60 -60 -61 -61 -60 -60 -59 -60 -61 -62 -61 -60 -58 -57 -56 -55 -54 -53 -52 -51 -52 -53 -56 -60 -62 -63 -65 -66 -67 -67 -68 -69 -69 -68 -68 -67 -67 -69 -70 -69 -68 -68 -68 -68 -68 -68 -66 -65 -63 -62 -61 -61 -62 -62 -63 -63 -61 -59 -57 -57 -56 -56 -56 -58 -60 -60 -58 -58 -57 -56 -54 -51 -50 -50 -50 -51 -52 -52 -52 -52 -52 -51 -50 -49 -49 -49 -48 -47 -45 -44 -44 -45 -46 -47 -47 -46 -45 -44 -44 -46 -48 -49 -50 -51 -53 -57 -60 -62 -63 -62 -61 -60 -60 -59 -59 -58 -58 -59 -59 -59 -59 -59 -60 -61 -19 -23 -24 -24 -26 -29 -33 -35 -37 -39 -41 -38 -35 -33 -32 -33 -40 -46 -50 -51 -52 -54 -55 -55 -55 -56 -60 -63 -64 -64 -60 -52 -43 -37 -37 -38 -37 -34 -33 -36 -40 -42 -44 -43 -43 -44 -46 -49 -51 -53 -54 -52 -50 -48 -48 -50 -54 -55 -54 -52 -50 -49 -50 -51 -52 -52 -48 -44 -42 -43 -47 -51 -53 -54 -53 -54 -57 -59 -59 -56 -54 -53 -53 -54 -54 -50 -45 -42 -41 -43 -45 -47 -49 -51 -52 -51 -49 -44 -43 -44 -45 -44 -38 -33 -32 -36 -43 -49 -54 -57 -59 -59 -61 -63 -63 -61 -59 -56 -53 -50 -46 -44 -43 -44 -46 -47 -46 -43 -41 -41 -41 -42 -42 -41 -42 -43 -44 -46 -46 -43 -40 -38 -39 -42 -46 -49 -50 -50 -54 -58 -62 -63 -60 -52 -44 -38 -37 -37 -37 -37 -36 -38 -43 -48 -51 -51 -51 -52 -53 -56 -63 -68 -70 -67 -61 -54 -52 -52 -53 -54 -53 -54 -55 -58 -60 -63 -64 -66 -69 -71 -72 -71 -70 -67 -64 -64 -65 -63 -57 -52 -49 -48 -48 -50 -53 -57 -61 -64 -66 -68 -67 -66 -65 -64 -65 -69 -72 -73 -73 -74 -74 -74 -74 -74 -75 -76 -76 -76 -75 -75 -75 -76 -75 -72 -66 -64 -66 -72 -74 -75 -76 -78 -81 -81 -82 -81 -81 -81 -82 -81 -80 -79 -79 -80 -80 -81 -83 -84 -85 -83 -80 -77 -74 -70 -66 -63 -63 -62 -59 -56 -57 -60 -63 -66 -66 -65 -64 -63 -63 -62 -61 -60 -59 -58 -58 -58 -58 -58 -58 -58 -58 -57 -57 -57 -57 -58 -59 -59 -58 -57 -57 -57 -58 -57 -56 -55 -54 -52 -52 -52 -55 -58 -61 -63 -65 -66 -67 -68 -69 -69 -68 -68 -67 -66 -66 -68 -69 -69 -68 -68 -69 -69 -69 -68 -67 -65 -63 -61 -60 -61 -61 -61 -61 -61 -60 -59 -58 -57 -56 -56 -55 -56 -58 -58 -58 -58 -58 -56 -54 -50 -50 -50 -51 -52 -52 -52 -51 -51 -51 -50 -50 -50 -49 -48 -47 -45 -44 -43 -43 -44 -45 -47 -49 -47 -46 -45 -44 -46 -48 -49 -49 -50 -53 -56 -59 -62 -62 -60 -59 -59 -59 -58 -57 -56 -56 -58 -58 -58 -58 -59 -60 -60 -20 -24 -25 -26 -27 -30 -34 -36 -37 -39 -41 -41 -40 -38 -36 -37 -41 -45 -48 -50 -54 -57 -56 -54 -55 -57 -59 -59 -59 -60 -57 -51 -42 -36 -35 -35 -34 -32 -31 -35 -38 -41 -43 -42 -41 -43 -46 -50 -54 -57 -58 -59 -57 -54 -53 -52 -52 -52 -49 -46 -44 -44 -46 -47 -47 -46 -43 -40 -39 -39 -42 -46 -48 -47 -46 -46 -49 -51 -51 -47 -43 -43 -46 -50 -49 -45 -41 -39 -41 -44 -45 -47 -50 -53 -52 -50 -46 -43 -43 -45 -45 -42 -36 -33 -32 -36 -43 -51 -56 -60 -62 -63 -65 -67 -67 -66 -62 -58 -54 -51 -46 -44 -42 -43 -44 -45 -45 -43 -41 -43 -42 -41 -41 -40 -40 -41 -43 -45 -45 -44 -42 -40 -40 -42 -45 -48 -51 -52 -55 -58 -61 -61 -58 -50 -43 -38 -37 -36 -34 -34 -35 -39 -44 -48 -50 -48 -47 -48 -51 -54 -59 -61 -61 -58 -57 -54 -53 -53 -53 -54 -57 -59 -61 -62 -62 -63 -63 -65 -67 -69 -70 -71 -72 -69 -64 -61 -59 -58 -55 -52 -51 -49 -49 -50 -53 -57 -62 -64 -66 -66 -66 -65 -64 -64 -65 -67 -70 -72 -74 -74 -75 -76 -77 -77 -77 -78 -77 -76 -75 -76 -77 -77 -75 -70 -66 -67 -71 -76 -76 -75 -76 -77 -80 -81 -82 -81 -80 -79 -80 -81 -81 -81 -80 -79 -79 -80 -82 -82 -82 -80 -79 -78 -74 -68 -62 -59 -59 -58 -57 -55 -56 -57 -61 -66 -68 -67 -66 -64 -63 -63 -62 -61 -60 -59 -58 -57 -56 -56 -55 -55 -55 -55 -55 -56 -57 -58 -58 -58 -57 -57 -57 -58 -58 -57 -56 -55 -55 -55 -54 -53 -55 -58 -61 -63 -65 -67 -67 -68 -68 -68 -66 -65 -65 -65 -66 -67 -68 -69 -68 -68 -69 -70 -70 -68 -66 -64 -62 -60 -59 -58 -58 -59 -59 -60 -60 -59 -57 -57 -56 -56 -55 -55 -56 -57 -56 -57 -57 -56 -53 -50 -50 -51 -52 -53 -53 -52 -51 -50 -50 -49 -49 -48 -48 -47 -46 -45 -43 -41 -41 -42 -44 -47 -49 -49 -47 -45 -44 -46 -48 -48 -47 -46 -49 -54 -58 -61 -60 -58 -57 -57 -57 -55 -54 -53 -55 -56 -57 -57 -58 -58 -59 -60 -21 -24 -26 -28 -30 -32 -34 -37 -39 -41 -42 -43 -43 -42 -40 -40 -43 -45 -47 -49 -53 -56 -55 -53 -54 -57 -57 -55 -53 -54 -51 -46 -41 -36 -36 -36 -34 -31 -30 -34 -38 -41 -43 -42 -42 -44 -47 -52 -56 -59 -60 -60 -57 -54 -51 -49 -49 -48 -46 -43 -41 -41 -42 -43 -43 -42 -40 -39 -38 -35 -34 -36 -39 -41 -41 -41 -43 -44 -42 -37 -36 -38 -44 -48 -45 -41 -38 -39 -42 -44 -46 -49 -53 -55 -52 -48 -44 -41 -42 -44 -44 -42 -37 -34 -34 -37 -45 -53 -58 -62 -64 -64 -65 -66 -67 -67 -64 -60 -57 -52 -48 -45 -43 -42 -42 -42 -43 -43 -43 -45 -45 -43 -42 -41 -41 -42 -42 -42 -43 -44 -44 -44 -43 -44 -45 -47 -50 -52 -55 -57 -58 -55 -51 -46 -41 -38 -37 -36 -34 -33 -35 -39 -43 -46 -47 -47 -48 -49 -52 -55 -58 -58 -56 -52 -52 -53 -54 -55 -57 -59 -62 -65 -67 -67 -66 -66 -65 -65 -66 -67 -68 -69 -71 -69 -63 -56 -51 -51 -51 -52 -51 -50 -50 -51 -54 -58 -62 -63 -64 -64 -64 -63 -63 -64 -66 -68 -70 -73 -75 -76 -76 -77 -78 -79 -80 -80 -78 -76 -75 -77 -79 -79 -77 -71 -68 -70 -74 -77 -77 -76 -75 -76 -78 -80 -81 -81 -79 -79 -80 -82 -83 -82 -80 -79 -78 -79 -79 -79 -78 -78 -79 -77 -73 -66 -59 -58 -57 -57 -56 -57 -57 -58 -61 -66 -68 -67 -65 -64 -63 -63 -63 -62 -61 -59 -58 -57 -55 -54 -54 -54 -54 -54 -55 -56 -57 -58 -58 -58 -57 -57 -56 -56 -56 -56 -56 -56 -56 -57 -57 -56 -56 -59 -62 -64 -65 -67 -67 -66 -66 -66 -64 -63 -63 -63 -65 -66 -68 -69 -69 -69 -70 -70 -69 -67 -65 -63 -61 -59 -57 -55 -55 -55 -56 -58 -59 -59 -58 -57 -56 -56 -55 -55 -55 -55 -55 -55 -55 -55 -53 -50 -50 -52 -53 -54 -53 -51 -50 -49 -49 -48 -48 -47 -47 -47 -46 -45 -44 -43 -42 -43 -44 -47 -49 -50 -48 -46 -45 -47 -48 -48 -47 -45 -47 -51 -56 -58 -57 -56 -54 -54 -53 -53 -52 -51 -53 -55 -56 -57 -58 -59 -59 -59 -20 -24 -26 -29 -31 -33 -34 -37 -39 -42 -44 -45 -46 -46 -45 -43 -43 -44 -46 -47 -50 -53 -54 -54 -55 -57 -56 -53 -49 -47 -44 -40 -37 -37 -39 -38 -36 -32 -30 -33 -37 -40 -42 -44 -45 -47 -50 -54 -57 -59 -58 -55 -50 -47 -45 -45 -45 -45 -44 -43 -41 -38 -38 -40 -42 -42 -41 -41 -41 -39 -35 -34 -36 -39 -42 -42 -41 -38 -34 -34 -38 -43 -47 -46 -42 -39 -38 -39 -42 -44 -47 -51 -55 -56 -53 -48 -43 -39 -40 -42 -44 -44 -40 -37 -35 -38 -45 -54 -60 -62 -61 -60 -60 -61 -62 -63 -64 -61 -58 -53 -50 -46 -44 -42 -41 -40 -40 -42 -44 -47 -46 -45 -44 -44 -45 -44 -43 -41 -41 -43 -44 -46 -47 -47 -46 -47 -48 -50 -53 -53 -52 -48 -45 -42 -39 -36 -36 -35 -35 -35 -36 -40 -43 -44 -45 -46 -48 -50 -53 -56 -59 -58 -54 -50 -50 -52 -55 -58 -60 -62 -65 -67 -70 -71 -71 -68 -65 -63 -64 -65 -66 -66 -67 -66 -61 -54 -49 -48 -50 -51 -51 -50 -51 -53 -56 -60 -62 -64 -64 -62 -62 -62 -63 -64 -66 -69 -71 -73 -75 -76 -77 -77 -77 -78 -79 -79 -77 -75 -75 -79 -81 -82 -79 -74 -71 -72 -75 -78 -77 -76 -75 -75 -77 -79 -80 -80 -79 -79 -80 -81 -83 -82 -81 -79 -78 -78 -76 -74 -74 -76 -77 -75 -70 -64 -59 -60 -59 -58 -57 -58 -58 -59 -61 -65 -67 -67 -64 -62 -61 -62 -62 -61 -60 -58 -57 -56 -55 -54 -54 -54 -55 -56 -57 -58 -59 -60 -60 -59 -58 -57 -56 -56 -55 -55 -55 -56 -57 -59 -60 -59 -59 -60 -62 -65 -66 -66 -65 -64 -64 -64 -64 -64 -63 -64 -65 -66 -67 -68 -69 -69 -69 -68 -66 -65 -63 -62 -60 -57 -55 -54 -52 -52 -53 -55 -57 -59 -58 -58 -57 -56 -55 -55 -54 -54 -55 -54 -54 -53 -53 -51 -51 -52 -53 -54 -53 -51 -50 -49 -48 -48 -48 -47 -47 -47 -47 -46 -46 -45 -44 -44 -46 -47 -49 -49 -48 -47 -46 -47 -49 -49 -48 -46 -46 -49 -53 -56 -55 -54 -53 -52 -51 -51 -51 -50 -52 -53 -55 -56 -58 -59 -59 -59 -20 -23 -26 -28 -30 -33 -35 -37 -40 -43 -46 -47 -48 -49 -49 -45 -44 -45 -45 -46 -47 -51 -54 -57 -58 -59 -57 -53 -47 -42 -36 -33 -32 -35 -39 -40 -38 -34 -31 -33 -36 -39 -42 -45 -48 -50 -52 -55 -57 -56 -54 -48 -43 -41 -41 -42 -43 -42 -43 -43 -40 -36 -36 -39 -43 -45 -45 -45 -45 -46 -46 -44 -42 -41 -42 -42 -40 -39 -39 -42 -48 -50 -49 -45 -41 -39 -39 -41 -43 -45 -49 -52 -54 -54 -52 -47 -41 -36 -37 -40 -43 -45 -43 -40 -38 -39 -47 -55 -60 -61 -58 -56 -55 -54 -54 -55 -59 -59 -56 -51 -48 -46 -44 -42 -42 -41 -40 -41 -44 -48 -47 -45 -44 -45 -45 -46 -45 -43 -42 -42 -42 -44 -47 -50 -50 -49 -48 -48 -48 -48 -46 -44 -43 -41 -38 -35 -34 -34 -35 -36 -38 -42 -45 -46 -47 -47 -48 -50 -53 -57 -59 -58 -54 -49 -48 -50 -53 -55 -57 -60 -62 -66 -70 -73 -70 -65 -61 -61 -63 -65 -64 -62 -61 -62 -62 -58 -51 -49 -50 -51 -52 -51 -52 -55 -59 -62 -64 -65 -64 -62 -62 -62 -63 -65 -67 -69 -71 -73 -74 -76 -76 -77 -77 -77 -77 -76 -75 -73 -74 -77 -80 -80 -79 -75 -73 -74 -77 -80 -78 -76 -75 -76 -77 -78 -78 -78 -77 -77 -78 -79 -80 -81 -79 -78 -77 -78 -77 -77 -76 -77 -76 -73 -69 -64 -62 -63 -63 -62 -60 -60 -58 -58 -59 -63 -66 -65 -63 -60 -59 -60 -61 -61 -59 -58 -57 -56 -55 -55 -56 -57 -58 -59 -60 -61 -61 -62 -61 -61 -60 -58 -57 -57 -56 -56 -56 -57 -58 -59 -61 -62 -62 -62 -62 -65 -66 -66 -64 -63 -63 -64 -65 -65 -65 -64 -65 -66 -67 -68 -68 -67 -67 -65 -63 -63 -62 -60 -58 -56 -55 -53 -52 -51 -51 -53 -56 -58 -58 -59 -58 -57 -56 -55 -54 -54 -54 -53 -53 -52 -52 -52 -52 -54 -55 -56 -54 -52 -49 -47 -46 -46 -47 -47 -48 -48 -47 -47 -47 -46 -45 -45 -46 -48 -49 -49 -48 -47 -45 -46 -48 -49 -48 -46 -45 -47 -51 -53 -53 -53 -52 -50 -50 -50 -51 -50 -51 -52 -54 -56 -58 -59 -59 -59 -20 -23 -26 -27 -29 -32 -35 -37 -40 -43 -46 -48 -49 -50 -50 -47 -45 -46 -48 -48 -49 -52 -55 -59 -61 -61 -59 -54 -47 -40 -33 -28 -27 -31 -37 -40 -39 -37 -34 -35 -38 -41 -44 -48 -51 -53 -54 -56 -57 -56 -51 -45 -40 -38 -39 -40 -40 -39 -40 -40 -37 -35 -36 -39 -42 -45 -48 -49 -49 -50 -52 -53 -52 -50 -49 -47 -46 -46 -48 -52 -54 -54 -51 -46 -42 -41 -42 -44 -46 -48 -50 -52 -53 -52 -49 -43 -37 -34 -35 -39 -43 -47 -47 -42 -39 -39 -47 -55 -60 -60 -58 -56 -54 -52 -50 -51 -53 -53 -50 -44 -42 -40 -38 -38 -41 -43 -42 -42 -43 -44 -44 -43 -43 -43 -43 -43 -42 -41 -42 -41 -40 -41 -46 -51 -54 -54 -50 -46 -44 -42 -41 -41 -42 -41 -38 -34 -34 -34 -35 -36 -39 -44 -48 -50 -50 -48 -47 -48 -52 -57 -58 -56 -52 -48 -48 -49 -51 -53 -55 -58 -62 -65 -69 -71 -67 -62 -59 -62 -67 -66 -63 -59 -57 -60 -62 -61 -55 -51 -51 -52 -52 -52 -55 -58 -62 -65 -66 -66 -65 -63 -63 -64 -65 -66 -68 -69 -71 -73 -75 -76 -77 -78 -78 -77 -77 -76 -75 -75 -76 -78 -79 -78 -75 -72 -71 -74 -78 -81 -80 -78 -76 -76 -76 -75 -74 -73 -73 -73 -73 -74 -76 -78 -78 -77 -78 -80 -81 -80 -78 -75 -72 -69 -66 -64 -63 -65 -66 -65 -63 -62 -59 -58 -58 -62 -64 -64 -61 -59 -58 -59 -60 -60 -59 -58 -57 -57 -58 -58 -59 -60 -61 -62 -62 -63 -63 -63 -63 -62 -60 -59 -58 -58 -58 -58 -58 -59 -60 -62 -63 -64 -63 -63 -63 -65 -66 -65 -64 -64 -64 -65 -66 -66 -65 -65 -65 -66 -67 -68 -68 -67 -66 -64 -62 -62 -61 -59 -57 -55 -54 -53 -52 -50 -50 -52 -55 -57 -58 -59 -59 -59 -57 -55 -54 -52 -53 -53 -53 -52 -52 -52 -53 -55 -56 -57 -54 -51 -48 -46 -45 -45 -45 -46 -48 -48 -48 -48 -49 -47 -46 -46 -47 -48 -48 -48 -47 -46 -43 -44 -46 -48 -46 -44 -43 -45 -48 -50 -51 -52 -50 -49 -49 -50 -50 -49 -50 -51 -53 -55 -57 -58 -58 -58 -21 -24 -26 -26 -28 -31 -34 -37 -40 -43 -47 -50 -49 -49 -49 -48 -46 -48 -50 -53 -55 -57 -58 -60 -62 -63 -60 -56 -49 -41 -33 -28 -27 -30 -35 -38 -39 -38 -38 -40 -42 -45 -47 -50 -54 -57 -58 -58 -58 -56 -50 -43 -37 -37 -38 -38 -37 -35 -35 -36 -36 -37 -38 -40 -43 -46 -48 -48 -49 -49 -51 -54 -56 -57 -57 -55 -54 -54 -55 -56 -56 -54 -51 -49 -47 -46 -46 -46 -47 -49 -51 -52 -52 -48 -42 -36 -33 -33 -34 -37 -42 -48 -49 -44 -40 -40 -48 -55 -58 -58 -58 -59 -58 -54 -50 -47 -47 -46 -44 -41 -39 -36 -35 -38 -43 -46 -45 -43 -42 -42 -41 -41 -40 -41 -43 -43 -40 -36 -32 -29 -28 -30 -35 -44 -50 -52 -48 -41 -38 -36 -35 -37 -41 -42 -41 -37 -35 -35 -35 -37 -40 -45 -50 -52 -51 -48 -46 -46 -50 -56 -57 -55 -50 -47 -48 -51 -52 -53 -54 -58 -61 -65 -68 -69 -65 -61 -60 -65 -69 -68 -64 -59 -59 -61 -61 -59 -55 -51 -50 -50 -51 -54 -57 -61 -64 -66 -68 -69 -68 -67 -66 -67 -67 -68 -69 -71 -72 -74 -76 -77 -78 -79 -80 -79 -78 -79 -80 -81 -83 -82 -80 -76 -73 -71 -72 -73 -75 -77 -79 -79 -78 -74 -70 -67 -66 -66 -66 -66 -66 -68 -71 -74 -76 -77 -79 -82 -82 -80 -76 -72 -68 -65 -64 -65 -68 -68 -68 -66 -64 -63 -60 -58 -58 -61 -63 -62 -60 -59 -58 -59 -59 -60 -59 -59 -58 -58 -59 -59 -60 -61 -61 -62 -62 -62 -63 -63 -62 -61 -60 -60 -60 -60 -60 -60 -61 -62 -63 -64 -64 -64 -64 -64 -65 -65 -65 -65 -65 -65 -66 -66 -66 -66 -66 -65 -65 -66 -67 -68 -67 -67 -65 -64 -63 -62 -60 -58 -57 -56 -55 -54 -53 -51 -50 -51 -54 -55 -56 -58 -59 -59 -57 -56 -54 -52 -51 -51 -51 -51 -50 -50 -51 -53 -55 -55 -52 -50 -48 -48 -47 -47 -48 -48 -49 -49 -49 -49 -49 -48 -47 -47 -47 -47 -47 -47 -46 -44 -42 -43 -45 -46 -44 -41 -40 -42 -45 -48 -51 -52 -50 -49 -49 -49 -50 -49 -50 -52 -53 -55 -56 -56 -57 -57 -23 -25 -26 -27 -28 -29 -32 -36 -40 -43 -47 -51 -50 -49 -48 -47 -46 -48 -51 -54 -58 -60 -61 -61 -62 -62 -60 -56 -49 -40 -32 -28 -27 -31 -36 -38 -40 -40 -41 -43 -46 -49 -51 -54 -57 -58 -58 -59 -58 -55 -50 -42 -36 -36 -36 -36 -34 -33 -33 -34 -36 -38 -40 -43 -44 -45 -46 -47 -47 -48 -48 -51 -55 -58 -59 -59 -59 -58 -57 -55 -53 -52 -52 -52 -51 -51 -50 -50 -50 -51 -53 -53 -49 -43 -36 -31 -30 -32 -33 -35 -41 -47 -50 -47 -43 -42 -48 -55 -57 -57 -57 -60 -59 -55 -49 -44 -42 -40 -39 -38 -37 -36 -36 -38 -43 -45 -44 -41 -38 -38 -38 -38 -39 -42 -44 -44 -42 -39 -36 -32 -31 -33 -39 -46 -49 -49 -45 -39 -35 -33 -34 -36 -41 -43 -43 -40 -37 -36 -37 -39 -42 -47 -50 -50 -47 -45 -44 -46 -49 -55 -55 -53 -49 -48 -48 -51 -53 -54 -56 -60 -62 -64 -68 -68 -65 -62 -62 -67 -71 -70 -66 -61 -60 -60 -59 -58 -55 -53 -51 -51 -51 -53 -57 -61 -64 -68 -70 -71 -71 -70 -70 -70 -70 -70 -70 -72 -74 -76 -78 -78 -79 -79 -80 -80 -83 -85 -87 -88 -87 -84 -79 -74 -72 -72 -72 -74 -75 -78 -78 -76 -71 -65 -62 -61 -60 -60 -60 -61 -63 -66 -69 -73 -75 -78 -80 -81 -79 -75 -71 -69 -67 -66 -67 -69 -71 -70 -68 -65 -63 -61 -60 -59 -59 -61 -62 -62 -61 -60 -60 -60 -60 -60 -60 -59 -59 -59 -60 -60 -60 -60 -61 -61 -61 -62 -62 -62 -61 -61 -60 -61 -61 -62 -62 -63 -64 -65 -65 -65 -64 -64 -64 -65 -66 -65 -65 -64 -65 -65 -66 -66 -66 -65 -65 -65 -65 -66 -66 -67 -67 -67 -66 -64 -63 -61 -59 -58 -58 -57 -56 -54 -54 -52 -51 -51 -52 -53 -55 -56 -58 -58 -58 -57 -56 -54 -52 -51 -50 -49 -48 -48 -49 -51 -51 -51 -50 -48 -48 -50 -50 -50 -50 -49 -49 -48 -48 -48 -49 -48 -47 -47 -46 -46 -46 -46 -45 -43 -42 -42 -44 -44 -43 -40 -38 -39 -43 -47 -51 -53 -50 -49 -49 -50 -51 -50 -51 -52 -54 -54 -55 -56 -56 -56 -26 -27 -27 -28 -27 -28 -30 -34 -38 -42 -47 -52 -52 -51 -50 -49 -48 -49 -50 -53 -57 -60 -62 -62 -61 -61 -59 -55 -48 -40 -31 -27 -28 -32 -37 -40 -42 -42 -43 -45 -49 -52 -54 -56 -58 -58 -58 -58 -57 -54 -48 -41 -36 -35 -35 -34 -33 -33 -35 -37 -38 -40 -42 -44 -44 -44 -44 -45 -46 -46 -46 -49 -52 -56 -58 -59 -58 -57 -54 -51 -50 -50 -51 -52 -53 -53 -54 -54 -53 -53 -52 -50 -44 -38 -32 -29 -29 -30 -32 -35 -40 -47 -50 -48 -44 -43 -49 -55 -58 -58 -58 -58 -56 -52 -48 -43 -39 -37 -36 -36 -37 -38 -39 -40 -41 -42 -40 -37 -35 -35 -36 -37 -40 -43 -45 -46 -45 -42 -38 -34 -32 -34 -41 -45 -46 -46 -43 -38 -34 -33 -34 -37 -42 -44 -43 -42 -39 -38 -38 -39 -42 -45 -47 -46 -44 -45 -46 -48 -51 -55 -54 -52 -49 -47 -46 -50 -55 -58 -62 -64 -65 -66 -68 -68 -66 -63 -63 -67 -70 -70 -67 -62 -59 -58 -57 -57 -56 -55 -53 -52 -51 -52 -56 -61 -64 -67 -69 -71 -71 -72 -72 -72 -71 -71 -70 -72 -74 -76 -78 -78 -77 -77 -78 -82 -88 -91 -91 -89 -85 -81 -77 -73 -72 -72 -72 -74 -76 -78 -76 -72 -67 -63 -62 -61 -62 -62 -62 -63 -65 -67 -70 -73 -76 -77 -77 -75 -71 -68 -67 -67 -68 -68 -69 -70 -71 -70 -67 -64 -62 -61 -59 -59 -61 -64 -64 -63 -62 -62 -61 -61 -61 -61 -60 -59 -59 -59 -60 -59 -59 -59 -59 -59 -60 -60 -60 -60 -60 -61 -61 -62 -63 -64 -65 -66 -67 -67 -66 -66 -64 -64 -64 -65 -66 -65 -64 -64 -64 -65 -66 -66 -65 -65 -65 -65 -65 -65 -65 -66 -66 -67 -67 -65 -62 -59 -57 -58 -58 -58 -57 -55 -54 -52 -51 -51 -51 -52 -53 -55 -57 -57 -58 -58 -58 -56 -54 -53 -52 -51 -50 -50 -50 -50 -49 -49 -48 -48 -49 -51 -51 -51 -50 -49 -48 -47 -46 -47 -47 -47 -46 -46 -45 -45 -45 -46 -45 -42 -42 -42 -43 -43 -41 -39 -37 -38 -42 -48 -52 -54 -51 -50 -50 -50 -52 -51 -52 -53 -54 -55 -55 -55 -55 -56 -28 -29 -28 -27 -26 -26 -28 -33 -37 -41 -45 -50 -52 -52 -52 -51 -50 -50 -50 -52 -54 -57 -60 -61 -61 -59 -58 -54 -48 -40 -31 -28 -30 -34 -39 -43 -44 -45 -45 -47 -50 -53 -55 -57 -58 -59 -58 -58 -55 -51 -45 -39 -34 -33 -33 -33 -33 -35 -38 -41 -42 -43 -44 -43 -43 -42 -43 -43 -43 -44 -44 -47 -51 -54 -56 -57 -56 -54 -51 -49 -48 -48 -48 -48 -50 -52 -54 -55 -54 -51 -48 -43 -37 -32 -29 -28 -28 -30 -32 -36 -41 -48 -50 -47 -43 -42 -49 -55 -58 -58 -57 -54 -51 -49 -46 -42 -38 -36 -35 -36 -37 -39 -41 -42 -39 -38 -36 -34 -34 -35 -37 -40 -42 -45 -47 -47 -45 -41 -36 -33 -33 -37 -42 -44 -44 -43 -40 -36 -34 -34 -35 -39 -42 -45 -45 -43 -41 -40 -39 -39 -41 -42 -43 -44 -45 -47 -51 -54 -56 -57 -55 -51 -47 -44 -46 -50 -54 -59 -65 -66 -67 -68 -70 -69 -65 -62 -62 -67 -68 -68 -65 -61 -58 -56 -55 -56 -56 -56 -55 -53 -52 -53 -56 -60 -63 -66 -68 -69 -70 -70 -71 -71 -71 -71 -71 -73 -75 -77 -79 -79 -79 -78 -79 -83 -88 -90 -88 -81 -77 -75 -75 -74 -73 -73 -72 -73 -74 -75 -72 -69 -67 -68 -68 -67 -67 -68 -68 -69 -69 -70 -71 -73 -74 -74 -70 -65 -63 -63 -65 -67 -68 -68 -68 -69 -69 -68 -66 -64 -62 -60 -60 -61 -64 -65 -65 -63 -63 -63 -63 -63 -62 -61 -61 -60 -59 -59 -60 -59 -58 -58 -58 -58 -59 -59 -59 -60 -60 -61 -63 -64 -65 -66 -67 -67 -67 -67 -66 -65 -65 -65 -65 -65 -66 -65 -64 -64 -64 -65 -65 -65 -65 -65 -65 -66 -66 -66 -65 -64 -65 -67 -68 -65 -61 -57 -56 -57 -58 -58 -57 -55 -54 -52 -51 -51 -51 -52 -54 -55 -56 -56 -57 -59 -59 -57 -56 -55 -53 -52 -52 -52 -52 -52 -52 -52 -51 -50 -49 -50 -51 -50 -49 -49 -48 -47 -46 -45 -46 -46 -45 -44 -44 -44 -45 -46 -44 -42 -41 -42 -43 -43 -41 -39 -38 -40 -44 -49 -53 -53 -51 -50 -50 -51 -52 -52 -52 -52 -54 -54 -55 -55 -55 -56 -28 -29 -28 -26 -25 -26 -29 -35 -40 -43 -45 -47 -51 -52 -51 -51 -51 -51 -51 -51 -52 -53 -56 -59 -59 -58 -56 -53 -48 -41 -33 -31 -33 -37 -42 -46 -48 -48 -47 -49 -50 -53 -55 -57 -58 -58 -57 -56 -54 -48 -42 -36 -32 -31 -31 -31 -33 -37 -40 -43 -44 -44 -44 -43 -42 -42 -42 -42 -40 -39 -38 -42 -47 -52 -55 -56 -55 -54 -52 -48 -45 -42 -42 -43 -47 -51 -54 -56 -53 -48 -43 -38 -33 -29 -27 -27 -28 -30 -32 -37 -43 -49 -50 -46 -42 -41 -48 -54 -57 -57 -56 -53 -51 -49 -47 -44 -40 -37 -36 -35 -36 -38 -40 -40 -38 -36 -34 -34 -36 -39 -42 -44 -45 -47 -49 -47 -44 -39 -36 -35 -37 -41 -43 -44 -43 -42 -39 -35 -34 -34 -36 -39 -42 -45 -47 -45 -43 -41 -39 -39 -40 -40 -41 -42 -45 -49 -52 -54 -57 -58 -55 -51 -46 -42 -43 -46 -50 -55 -61 -65 -67 -68 -70 -67 -62 -59 -61 -63 -65 -65 -63 -59 -56 -55 -54 -55 -55 -56 -56 -55 -53 -54 -57 -60 -62 -64 -66 -67 -68 -68 -68 -68 -68 -70 -72 -75 -78 -80 -83 -84 -85 -85 -84 -85 -85 -83 -80 -76 -74 -74 -75 -75 -74 -73 -72 -71 -70 -70 -69 -68 -69 -71 -72 -73 -73 -73 -73 -74 -74 -74 -72 -71 -69 -66 -60 -58 -59 -62 -65 -66 -66 -66 -65 -66 -67 -67 -65 -63 -62 -61 -62 -64 -66 -66 -65 -64 -63 -63 -64 -63 -62 -62 -62 -61 -60 -60 -60 -59 -58 -58 -58 -58 -58 -58 -59 -60 -61 -63 -64 -65 -66 -66 -67 -67 -66 -65 -65 -65 -65 -65 -65 -65 -65 -65 -64 -64 -64 -64 -65 -65 -65 -66 -66 -67 -67 -66 -64 -63 -64 -66 -67 -64 -60 -57 -56 -56 -58 -58 -57 -55 -54 -53 -52 -52 -52 -53 -54 -55 -56 -55 -56 -58 -59 -58 -57 -56 -54 -53 -53 -53 -53 -54 -54 -53 -53 -52 -51 -50 -49 -49 -48 -47 -47 -46 -45 -44 -45 -45 -45 -44 -43 -44 -46 -47 -43 -40 -40 -42 -44 -44 -42 -40 -40 -41 -44 -48 -51 -51 -51 -51 -51 -50 -51 -51 -51 -51 -53 -54 -55 -55 -56 -56 -27 -28 -27 -26 -25 -27 -31 -37 -42 -44 -45 -46 -49 -51 -50 -49 -51 -52 -52 -52 -51 -50 -52 -55 -56 -55 -53 -51 -47 -41 -35 -34 -36 -40 -44 -48 -50 -50 -49 -48 -49 -52 -54 -56 -55 -54 -55 -55 -53 -47 -40 -33 -30 -30 -30 -31 -34 -37 -39 -41 -43 -44 -43 -41 -40 -41 -42 -40 -37 -33 -33 -38 -45 -50 -52 -52 -51 -48 -45 -42 -38 -37 -37 -39 -43 -47 -51 -53 -52 -49 -44 -39 -34 -31 -28 -27 -28 -30 -33 -38 -44 -50 -50 -46 -41 -40 -47 -54 -56 -55 -51 -50 -49 -48 -47 -46 -44 -41 -38 -36 -37 -39 -41 -41 -39 -36 -35 -36 -39 -44 -46 -47 -48 -50 -48 -46 -44 -44 -45 -44 -43 -44 -45 -45 -44 -41 -38 -35 -34 -34 -35 -38 -42 -46 -47 -47 -44 -41 -40 -40 -41 -40 -40 -41 -43 -48 -51 -55 -58 -58 -56 -53 -47 -41 -42 -45 -48 -52 -57 -61 -64 -66 -67 -63 -59 -58 -61 -63 -65 -65 -62 -57 -54 -53 -53 -54 -54 -54 -55 -56 -55 -57 -58 -60 -62 -63 -64 -66 -66 -67 -66 -65 -66 -69 -72 -75 -79 -82 -85 -87 -89 -89 -88 -85 -82 -79 -76 -74 -73 -73 -73 -72 -71 -71 -69 -68 -67 -68 -68 -69 -70 -71 -73 -75 -76 -75 -75 -76 -77 -77 -74 -70 -65 -60 -55 -57 -61 -64 -66 -66 -66 -64 -63 -64 -65 -65 -64 -63 -63 -64 -65 -66 -67 -66 -64 -63 -63 -63 -63 -63 -62 -62 -63 -62 -62 -62 -62 -61 -60 -60 -59 -59 -58 -59 -60 -61 -62 -64 -65 -65 -65 -65 -65 -65 -64 -64 -65 -65 -65 -66 -66 -65 -65 -66 -66 -65 -65 -65 -65 -66 -66 -67 -67 -68 -67 -65 -63 -62 -63 -64 -64 -63 -60 -58 -56 -57 -58 -58 -57 -56 -55 -54 -54 -53 -52 -53 -55 -56 -55 -56 -56 -58 -58 -59 -58 -56 -54 -53 -53 -53 -53 -54 -54 -54 -53 -52 -51 -50 -50 -49 -48 -47 -47 -46 -45 -44 -44 -44 -43 -43 -43 -44 -45 -47 -43 -41 -42 -44 -45 -44 -43 -42 -42 -43 -44 -46 -49 -50 -50 -51 -52 -51 -51 -51 -51 -51 -52 -54 -55 -55 -56 -57 -25 -26 -27 -28 -28 -30 -33 -39 -43 -45 -45 -46 -49 -50 -50 -49 -49 -51 -52 -52 -51 -50 -51 -52 -53 -52 -50 -48 -46 -42 -37 -35 -36 -39 -43 -46 -48 -49 -48 -47 -48 -50 -53 -54 -52 -51 -52 -54 -53 -48 -40 -32 -28 -28 -30 -32 -34 -35 -38 -41 -43 -44 -41 -38 -38 -38 -38 -36 -32 -30 -32 -37 -41 -43 -43 -42 -41 -42 -42 -40 -38 -38 -40 -43 -45 -47 -50 -51 -50 -47 -43 -40 -37 -33 -29 -27 -28 -29 -32 -38 -45 -51 -50 -45 -41 -41 -47 -54 -56 -54 -49 -47 -46 -46 -47 -47 -47 -45 -43 -41 -40 -41 -42 -42 -39 -38 -37 -37 -40 -43 -45 -47 -50 -52 -49 -46 -44 -45 -46 -46 -45 -44 -44 -43 -42 -41 -38 -36 -35 -34 -35 -37 -41 -45 -47 -47 -44 -42 -41 -42 -42 -41 -39 -39 -41 -46 -51 -56 -59 -58 -55 -51 -47 -41 -42 -45 -47 -50 -55 -58 -61 -63 -63 -60 -56 -55 -59 -61 -63 -63 -61 -56 -53 -52 -52 -53 -53 -53 -55 -57 -59 -61 -62 -62 -62 -63 -64 -65 -66 -67 -66 -65 -66 -68 -71 -74 -78 -82 -86 -89 -91 -90 -87 -83 -78 -76 -74 -74 -73 -72 -71 -70 -70 -70 -69 -68 -67 -69 -72 -73 -72 -70 -71 -72 -75 -75 -74 -75 -76 -76 -75 -71 -65 -57 -54 -58 -62 -64 -64 -65 -65 -65 -65 -67 -67 -66 -64 -64 -65 -66 -68 -68 -67 -65 -64 -63 -63 -63 -63 -63 -62 -63 -63 -63 -63 -63 -63 -63 -62 -61 -61 -60 -60 -60 -61 -62 -63 -64 -64 -64 -64 -64 -64 -64 -63 -64 -64 -65 -66 -66 -67 -67 -67 -68 -68 -68 -67 -67 -66 -67 -67 -68 -68 -68 -67 -65 -63 -62 -62 -62 -63 -62 -61 -59 -57 -57 -58 -58 -57 -56 -55 -55 -55 -53 -53 -53 -54 -55 -55 -55 -56 -57 -58 -59 -58 -56 -54 -53 -53 -52 -52 -53 -54 -53 -53 -51 -50 -49 -49 -48 -47 -47 -47 -46 -45 -44 -44 -43 -42 -42 -42 -43 -44 -46 -44 -43 -44 -45 -46 -45 -44 -43 -43 -44 -45 -46 -48 -49 -50 -51 -51 -51 -51 -51 -50 -51 -52 -54 -55 -56 -56 -57 -24 -25 -27 -30 -32 -33 -34 -38 -42 -44 -45 -45 -47 -50 -50 -48 -48 -49 -51 -52 -51 -50 -50 -51 -51 -49 -47 -46 -44 -42 -39 -37 -37 -39 -42 -46 -48 -49 -48 -47 -48 -50 -52 -52 -50 -49 -50 -52 -52 -47 -39 -32 -27 -28 -30 -33 -35 -35 -36 -40 -43 -43 -39 -36 -35 -36 -35 -32 -29 -29 -31 -34 -35 -35 -33 -32 -34 -37 -41 -42 -42 -43 -46 -50 -51 -51 -51 -50 -48 -43 -41 -39 -39 -36 -31 -28 -27 -28 -33 -40 -47 -52 -51 -46 -42 -42 -48 -53 -55 -54 -50 -46 -45 -45 -46 -47 -47 -47 -47 -46 -45 -44 -43 -42 -41 -39 -39 -41 -43 -45 -47 -49 -50 -48 -45 -43 -43 -44 -44 -44 -45 -46 -46 -44 -41 -39 -37 -36 -35 -35 -36 -36 -39 -42 -44 -46 -44 -43 -43 -43 -43 -42 -40 -40 -42 -46 -51 -56 -59 -55 -51 -47 -44 -42 -43 -45 -47 -49 -53 -56 -58 -61 -61 -58 -55 -55 -57 -60 -61 -61 -60 -57 -53 -52 -51 -52 -52 -53 -55 -57 -60 -61 -62 -62 -62 -63 -63 -64 -66 -67 -66 -65 -66 -68 -70 -72 -76 -81 -86 -90 -91 -90 -85 -78 -75 -73 -73 -74 -74 -72 -70 -68 -68 -68 -68 -68 -69 -73 -76 -76 -73 -70 -70 -71 -73 -74 -74 -74 -74 -74 -76 -73 -67 -57 -54 -57 -60 -61 -61 -63 -65 -66 -67 -68 -67 -65 -65 -65 -67 -68 -69 -68 -67 -65 -63 -62 -62 -62 -62 -62 -63 -63 -63 -63 -63 -64 -64 -64 -63 -63 -62 -62 -62 -62 -63 -63 -64 -64 -64 -63 -63 -63 -63 -63 -64 -64 -65 -66 -67 -67 -68 -69 -69 -70 -70 -70 -69 -68 -68 -68 -68 -69 -69 -68 -66 -64 -62 -62 -61 -61 -62 -63 -62 -60 -59 -59 -59 -59 -58 -56 -56 -56 -55 -54 -54 -54 -55 -56 -56 -56 -56 -57 -58 -59 -59 -57 -55 -54 -53 -52 -52 -53 -53 -53 -52 -51 -49 -48 -48 -47 -46 -45 -45 -45 -45 -43 -42 -42 -41 -42 -42 -42 -43 -45 -44 -44 -44 -45 -46 -45 -44 -43 -44 -45 -46 -46 -46 -48 -50 -51 -52 -51 -51 -51 -51 -51 -52 -54 -55 -56 -57 -57 -23 -25 -28 -32 -35 -35 -35 -36 -40 -43 -44 -44 -45 -48 -49 -48 -46 -47 -49 -51 -51 -50 -50 -50 -49 -48 -46 -44 -43 -42 -40 -39 -40 -42 -45 -47 -50 -51 -51 -51 -51 -51 -51 -50 -49 -49 -50 -51 -51 -45 -38 -30 -26 -27 -30 -32 -34 -35 -36 -39 -42 -41 -37 -33 -33 -34 -33 -31 -29 -29 -30 -30 -31 -30 -30 -30 -32 -36 -40 -43 -45 -47 -50 -53 -54 -52 -50 -47 -44 -39 -37 -38 -40 -39 -34 -30 -27 -28 -33 -41 -49 -55 -55 -50 -45 -44 -47 -51 -52 -52 -50 -48 -47 -46 -47 -47 -46 -46 -46 -46 -47 -47 -46 -44 -41 -41 -41 -43 -47 -49 -49 -47 -44 -41 -40 -40 -42 -43 -43 -45 -47 -50 -49 -45 -41 -37 -35 -36 -37 -38 -38 -38 -39 -41 -43 -44 -43 -43 -44 -45 -46 -46 -45 -45 -46 -48 -51 -54 -57 -52 -47 -44 -43 -42 -44 -45 -47 -48 -51 -53 -56 -60 -61 -58 -55 -54 -55 -58 -59 -59 -59 -56 -53 -52 -52 -53 -54 -55 -56 -57 -59 -59 -60 -61 -62 -63 -63 -64 -65 -66 -66 -65 -65 -67 -69 -71 -75 -80 -85 -89 -90 -88 -81 -75 -72 -72 -73 -75 -75 -73 -70 -68 -67 -66 -66 -67 -70 -74 -76 -75 -71 -69 -70 -72 -74 -74 -75 -75 -74 -75 -77 -75 -67 -56 -53 -55 -57 -57 -58 -61 -64 -65 -67 -67 -66 -65 -65 -66 -68 -68 -68 -66 -65 -63 -63 -62 -62 -62 -62 -62 -63 -64 -65 -64 -64 -64 -64 -64 -64 -64 -64 -64 -64 -64 -64 -65 -65 -65 -64 -63 -63 -64 -64 -64 -65 -65 -66 -67 -68 -68 -69 -70 -71 -71 -72 -72 -71 -70 -69 -69 -69 -69 -69 -67 -65 -63 -62 -62 -61 -61 -62 -63 -63 -62 -61 -61 -60 -59 -58 -57 -57 -56 -56 -56 -56 -57 -57 -57 -57 -57 -57 -57 -58 -59 -59 -59 -57 -56 -53 -51 -50 -52 -53 -53 -53 -51 -49 -48 -48 -48 -46 -45 -44 -44 -44 -43 -42 -41 -41 -42 -42 -42 -43 -44 -44 -44 -44 -46 -46 -45 -44 -44 -44 -45 -46 -47 -46 -48 -50 -52 -52 -50 -50 -50 -51 -50 -52 -54 -55 -56 -57 -57 -22 -25 -30 -35 -35 -34 -33 -33 -38 -42 -43 -42 -41 -43 -44 -45 -46 -47 -48 -49 -49 -49 -49 -49 -48 -47 -46 -45 -45 -44 -42 -41 -42 -44 -46 -47 -49 -51 -53 -52 -52 -51 -51 -50 -50 -50 -50 -50 -49 -44 -36 -29 -25 -26 -28 -30 -33 -34 -35 -38 -40 -39 -34 -32 -31 -32 -33 -32 -31 -30 -29 -28 -30 -31 -33 -34 -36 -39 -42 -45 -47 -49 -51 -53 -53 -51 -46 -42 -38 -35 -36 -38 -42 -41 -36 -30 -28 -29 -35 -44 -52 -59 -60 -56 -50 -46 -47 -49 -50 -51 -51 -50 -49 -48 -48 -47 -45 -43 -44 -45 -47 -48 -48 -47 -43 -43 -44 -46 -49 -49 -46 -42 -39 -38 -40 -42 -43 -44 -46 -49 -51 -53 -48 -42 -37 -34 -33 -35 -37 -38 -39 -39 -40 -41 -42 -43 -42 -42 -44 -47 -49 -51 -51 -51 -51 -51 -52 -53 -53 -49 -43 -40 -41 -42 -44 -45 -45 -45 -47 -51 -55 -60 -60 -57 -54 -52 -53 -56 -57 -57 -56 -54 -53 -53 -54 -57 -58 -58 -57 -56 -56 -56 -56 -58 -61 -63 -64 -64 -64 -64 -65 -65 -66 -67 -68 -70 -73 -77 -82 -85 -86 -83 -77 -72 -70 -71 -72 -74 -74 -73 -71 -70 -68 -66 -65 -66 -69 -72 -74 -74 -71 -70 -70 -71 -72 -73 -74 -75 -76 -77 -78 -75 -66 -54 -53 -54 -55 -55 -56 -59 -62 -64 -66 -66 -65 -64 -64 -66 -67 -67 -66 -65 -64 -63 -63 -63 -62 -62 -62 -63 -65 -66 -67 -66 -65 -65 -65 -65 -65 -65 -66 -66 -66 -66 -66 -66 -67 -66 -65 -65 -65 -65 -65 -66 -66 -67 -68 -68 -69 -69 -70 -71 -71 -72 -73 -73 -72 -71 -70 -70 -70 -69 -69 -67 -65 -63 -62 -62 -62 -62 -63 -64 -64 -64 -63 -63 -63 -62 -60 -59 -58 -57 -57 -58 -58 -58 -58 -57 -57 -57 -57 -57 -58 -58 -59 -59 -59 -57 -54 -51 -49 -51 -53 -54 -53 -50 -49 -49 -50 -49 -47 -46 -45 -45 -45 -45 -44 -43 -42 -42 -42 -43 -43 -43 -44 -44 -45 -46 -46 -46 -45 -44 -44 -45 -47 -47 -46 -48 -51 -53 -53 -50 -48 -49 -50 -50 -51 -53 -55 -56 -57 -57 -23 -28 -33 -35 -35 -34 -32 -33 -37 -40 -42 -41 -39 -38 -38 -41 -44 -46 -47 -46 -45 -46 -47 -47 -47 -47 -46 -46 -45 -44 -43 -43 -43 -44 -44 -46 -47 -49 -51 -51 -51 -51 -50 -50 -51 -50 -49 -48 -46 -41 -34 -28 -24 -25 -26 -28 -30 -32 -35 -38 -39 -36 -32 -30 -30 -31 -33 -35 -35 -34 -31 -32 -34 -37 -40 -42 -43 -44 -46 -48 -50 -50 -50 -51 -51 -47 -41 -34 -32 -33 -36 -40 -43 -41 -35 -31 -28 -31 -38 -47 -56 -62 -66 -64 -59 -53 -50 -50 -50 -51 -53 -52 -51 -50 -49 -46 -43 -42 -43 -44 -44 -46 -47 -48 -46 -45 -45 -47 -49 -47 -42 -39 -39 -40 -43 -45 -47 -49 -51 -53 -53 -52 -45 -38 -33 -32 -35 -37 -38 -39 -40 -41 -41 -42 -42 -42 -42 -43 -46 -49 -52 -53 -54 -54 -53 -53 -53 -54 -54 -49 -42 -38 -41 -41 -43 -43 -43 -42 -46 -51 -56 -60 -59 -56 -52 -50 -50 -53 -55 -56 -55 -53 -53 -55 -58 -61 -61 -60 -58 -56 -54 -53 -53 -55 -58 -62 -64 -64 -63 -63 -64 -65 -67 -68 -69 -70 -72 -76 -78 -79 -79 -78 -74 -70 -69 -70 -71 -73 -73 -73 -72 -72 -70 -68 -67 -68 -68 -70 -71 -72 -72 -72 -71 -71 -71 -72 -73 -75 -76 -79 -78 -73 -63 -54 -56 -57 -57 -55 -56 -59 -61 -63 -65 -66 -65 -63 -63 -65 -66 -67 -66 -65 -64 -64 -63 -64 -64 -64 -64 -64 -66 -67 -68 -67 -67 -66 -66 -66 -66 -67 -67 -68 -68 -68 -68 -69 -68 -68 -67 -67 -67 -67 -67 -68 -68 -69 -70 -69 -70 -70 -71 -71 -71 -72 -73 -74 -73 -72 -71 -71 -71 -70 -69 -68 -65 -64 -63 -63 -63 -64 -65 -66 -67 -67 -67 -66 -65 -65 -64 -63 -61 -59 -58 -58 -58 -57 -57 -57 -57 -57 -57 -58 -58 -59 -60 -60 -60 -58 -56 -54 -52 -52 -53 -54 -53 -50 -49 -50 -50 -49 -48 -47 -46 -46 -46 -47 -46 -45 -44 -43 -43 -43 -44 -44 -45 -45 -45 -46 -46 -46 -45 -44 -44 -45 -46 -46 -47 -49 -51 -53 -53 -50 -48 -47 -49 -49 -51 -53 -55 -56 -56 -56 -26 -30 -34 -35 -34 -33 -32 -32 -37 -40 -41 -40 -39 -35 -34 -35 -40 -44 -45 -44 -42 -41 -43 -44 -45 -45 -44 -44 -44 -43 -42 -42 -42 -42 -42 -43 -45 -46 -48 -49 -49 -50 -50 -51 -50 -49 -47 -45 -42 -37 -32 -27 -24 -25 -26 -27 -28 -31 -34 -36 -36 -33 -30 -29 -30 -31 -32 -35 -37 -38 -39 -40 -42 -45 -47 -48 -49 -49 -50 -51 -51 -50 -48 -44 -41 -37 -32 -29 -29 -33 -38 -41 -42 -38 -34 -30 -30 -34 -42 -51 -59 -65 -69 -71 -70 -66 -59 -55 -54 -55 -56 -54 -52 -50 -47 -44 -43 -42 -42 -42 -40 -41 -44 -46 -46 -45 -45 -46 -47 -44 -42 -41 -44 -46 -49 -51 -53 -55 -56 -56 -53 -49 -42 -35 -31 -32 -37 -39 -39 -39 -40 -40 -42 -42 -42 -41 -42 -44 -47 -50 -52 -53 -54 -53 -52 -51 -52 -53 -53 -47 -40 -37 -39 -40 -41 -42 -42 -43 -46 -51 -56 -60 -59 -56 -53 -51 -52 -53 -54 -55 -55 -53 -54 -57 -61 -64 -63 -61 -58 -56 -53 -52 -52 -53 -57 -60 -63 -64 -62 -62 -63 -65 -67 -69 -70 -71 -72 -73 -73 -73 -72 -71 -68 -68 -69 -71 -73 -73 -73 -72 -71 -71 -72 -73 -74 -73 -70 -68 -69 -71 -73 -72 -71 -69 -70 -71 -73 -74 -76 -79 -77 -70 -60 -54 -57 -59 -59 -56 -56 -58 -60 -62 -65 -66 -65 -64 -63 -65 -66 -66 -66 -66 -65 -64 -64 -64 -65 -65 -65 -65 -66 -67 -67 -67 -68 -66 -66 -66 -67 -68 -68 -69 -70 -70 -70 -70 -70 -69 -68 -68 -68 -68 -68 -69 -70 -71 -71 -71 -71 -72 -72 -72 -72 -72 -73 -74 -73 -73 -72 -72 -71 -71 -70 -69 -66 -65 -64 -64 -65 -66 -67 -69 -69 -70 -69 -68 -67 -66 -65 -65 -63 -61 -60 -58 -57 -56 -56 -57 -57 -57 -57 -58 -58 -59 -60 -61 -60 -59 -57 -56 -55 -54 -53 -53 -53 -51 -50 -50 -51 -50 -49 -48 -47 -47 -48 -49 -48 -47 -46 -45 -45 -44 -44 -44 -45 -46 -46 -45 -45 -44 -44 -43 -43 -43 -45 -46 -48 -49 -51 -53 -53 -51 -48 -46 -47 -48 -50 -53 -54 -55 -56 -56 -28 -30 -31 -32 -32 -32 -32 -33 -37 -40 -40 -39 -39 -36 -33 -32 -34 -40 -44 -43 -40 -38 -39 -41 -43 -43 -42 -41 -41 -41 -40 -40 -39 -39 -39 -41 -43 -44 -46 -47 -47 -49 -50 -51 -50 -47 -44 -41 -38 -34 -29 -25 -23 -25 -26 -27 -29 -31 -32 -32 -31 -28 -28 -29 -30 -31 -32 -35 -38 -42 -46 -49 -50 -51 -50 -47 -47 -48 -50 -52 -52 -50 -45 -36 -30 -28 -27 -27 -30 -35 -39 -41 -39 -36 -32 -30 -31 -35 -43 -50 -57 -63 -68 -70 -72 -71 -67 -61 -58 -58 -59 -55 -50 -45 -43 -42 -43 -43 -42 -41 -42 -42 -42 -43 -41 -40 -41 -42 -43 -43 -44 -45 -47 -52 -57 -59 -57 -57 -57 -55 -52 -47 -40 -33 -30 -31 -36 -38 -39 -38 -38 -39 -41 -42 -41 -40 -41 -44 -48 -52 -53 -52 -51 -50 -49 -49 -51 -53 -53 -48 -41 -37 -39 -39 -40 -40 -42 -43 -46 -51 -55 -58 -56 -54 -52 -51 -51 -52 -55 -57 -56 -54 -56 -59 -63 -65 -64 -61 -59 -56 -54 -53 -52 -53 -56 -59 -61 -63 -62 -62 -63 -65 -67 -69 -70 -72 -72 -72 -70 -68 -66 -65 -65 -66 -68 -71 -73 -72 -71 -70 -71 -72 -73 -76 -79 -79 -74 -70 -68 -70 -71 -69 -67 -66 -68 -71 -73 -75 -77 -79 -74 -66 -57 -56 -61 -64 -62 -57 -56 -56 -58 -61 -65 -66 -66 -66 -65 -66 -66 -66 -66 -66 -65 -65 -65 -65 -65 -65 -66 -66 -67 -67 -67 -66 -67 -66 -67 -67 -68 -69 -70 -70 -71 -71 -71 -71 -70 -70 -69 -69 -69 -69 -69 -70 -71 -71 -72 -72 -72 -73 -74 -73 -73 -73 -74 -74 -74 -74 -73 -72 -72 -71 -70 -69 -68 -66 -65 -65 -67 -68 -69 -70 -71 -71 -70 -68 -66 -65 -65 -65 -64 -62 -61 -59 -58 -57 -56 -56 -56 -56 -56 -57 -58 -59 -61 -61 -61 -60 -58 -57 -57 -55 -54 -54 -55 -53 -52 -51 -51 -51 -51 -50 -50 -50 -50 -51 -50 -49 -48 -47 -46 -45 -44 -44 -45 -46 -46 -45 -44 -43 -42 -42 -42 -43 -45 -48 -50 -51 -52 -53 -53 -51 -48 -47 -47 -48 -49 -51 -53 -54 -55 -56 -26 -26 -27 -29 -30 -31 -32 -34 -37 -40 -41 -40 -39 -39 -36 -33 -32 -37 -42 -42 -40 -36 -37 -40 -41 -41 -40 -39 -39 -40 -39 -38 -37 -36 -37 -39 -42 -45 -46 -46 -47 -48 -50 -50 -49 -44 -39 -35 -34 -31 -27 -23 -21 -23 -25 -27 -29 -30 -30 -29 -28 -27 -27 -29 -31 -33 -34 -36 -40 -45 -49 -50 -49 -47 -44 -42 -43 -44 -47 -51 -53 -52 -45 -32 -24 -24 -27 -29 -32 -37 -40 -40 -37 -33 -31 -31 -33 -37 -43 -49 -54 -60 -64 -66 -67 -65 -60 -56 -54 -53 -52 -48 -44 -41 -41 -42 -43 -43 -43 -44 -46 -45 -44 -41 -40 -40 -42 -43 -46 -46 -46 -47 -51 -57 -61 -60 -58 -56 -56 -53 -48 -42 -36 -32 -31 -34 -36 -36 -37 -37 -37 -38 -40 -41 -41 -40 -40 -44 -50 -55 -53 -51 -48 -47 -47 -49 -51 -54 -54 -51 -45 -41 -39 -39 -39 -40 -42 -45 -47 -51 -54 -57 -56 -55 -53 -51 -52 -54 -57 -59 -60 -58 -58 -60 -63 -65 -65 -62 -59 -57 -56 -55 -54 -54 -56 -58 -60 -62 -63 -62 -63 -65 -67 -69 -70 -72 -72 -72 -69 -66 -64 -63 -64 -66 -68 -70 -72 -70 -68 -67 -67 -69 -71 -76 -81 -83 -79 -73 -69 -66 -66 -65 -64 -64 -67 -71 -74 -77 -78 -76 -69 -61 -55 -58 -63 -66 -65 -59 -55 -54 -56 -61 -65 -66 -66 -66 -66 -66 -66 -67 -66 -66 -66 -66 -65 -65 -65 -66 -66 -66 -66 -66 -65 -65 -66 -67 -68 -69 -70 -70 -70 -70 -71 -71 -71 -71 -70 -70 -70 -70 -70 -70 -70 -71 -71 -72 -73 -73 -73 -74 -75 -75 -75 -75 -75 -75 -75 -74 -74 -72 -71 -70 -70 -69 -68 -67 -67 -67 -69 -70 -71 -71 -70 -70 -69 -67 -65 -64 -64 -64 -63 -62 -61 -60 -59 -58 -57 -57 -57 -57 -56 -57 -58 -59 -61 -61 -61 -60 -59 -58 -58 -56 -55 -54 -55 -54 -52 -50 -50 -50 -51 -51 -51 -52 -52 -52 -51 -50 -49 -48 -47 -45 -44 -45 -46 -47 -47 -46 -44 -42 -41 -42 -43 -44 -46 -50 -51 -52 -52 -53 -52 -51 -49 -50 -48 -48 -48 -49 -51 -52 -53 -55 -24 -22 -23 -25 -28 -31 -32 -34 -37 -41 -43 -42 -41 -42 -41 -38 -34 -36 -39 -40 -39 -36 -36 -38 -40 -40 -39 -38 -38 -40 -41 -40 -37 -35 -34 -36 -40 -43 -45 -47 -49 -50 -49 -48 -46 -41 -35 -30 -29 -28 -25 -21 -19 -20 -22 -25 -27 -27 -28 -28 -28 -29 -30 -31 -32 -33 -35 -39 -43 -47 -49 -47 -44 -42 -40 -40 -41 -43 -46 -50 -54 -53 -45 -31 -23 -23 -27 -31 -35 -39 -40 -39 -35 -31 -31 -32 -35 -38 -42 -47 -52 -57 -59 -59 -57 -55 -53 -52 -51 -48 -44 -41 -39 -39 -41 -42 -43 -44 -46 -48 -49 -46 -42 -39 -40 -41 -43 -46 -50 -50 -50 -51 -53 -54 -56 -56 -55 -53 -51 -48 -44 -37 -33 -35 -37 -38 -35 -34 -35 -35 -36 -37 -38 -39 -39 -39 -41 -46 -51 -54 -51 -49 -48 -47 -47 -48 -51 -53 -53 -52 -49 -44 -39 -39 -39 -40 -43 -46 -49 -51 -54 -56 -57 -57 -55 -53 -53 -54 -57 -60 -61 -60 -60 -61 -63 -64 -63 -61 -60 -58 -57 -57 -57 -57 -58 -59 -61 -62 -62 -62 -62 -64 -67 -69 -71 -73 -74 -72 -68 -65 -63 -63 -64 -66 -68 -69 -70 -68 -66 -64 -64 -66 -69 -73 -78 -80 -79 -76 -71 -67 -64 -64 -65 -67 -69 -72 -76 -78 -77 -71 -63 -56 -54 -60 -65 -68 -67 -61 -56 -54 -56 -61 -65 -66 -67 -66 -66 -67 -67 -68 -69 -68 -68 -67 -66 -66 -66 -66 -66 -65 -65 -65 -65 -65 -66 -67 -68 -69 -69 -70 -70 -70 -70 -71 -71 -71 -71 -71 -71 -71 -71 -71 -71 -72 -73 -74 -74 -74 -74 -74 -75 -76 -76 -76 -76 -76 -75 -75 -73 -72 -71 -70 -69 -69 -69 -68 -68 -70 -72 -72 -71 -70 -69 -68 -68 -67 -65 -64 -65 -65 -64 -62 -61 -60 -60 -59 -59 -59 -58 -58 -57 -57 -58 -59 -60 -61 -61 -60 -58 -57 -57 -57 -56 -54 -54 -53 -52 -51 -50 -50 -51 -52 -53 -53 -52 -52 -52 -50 -49 -48 -47 -45 -44 -45 -47 -48 -48 -46 -44 -42 -42 -43 -44 -46 -49 -51 -53 -54 -54 -53 -52 -51 -50 -50 -49 -49 -48 -48 -50 -51 -52 -54 -22 -20 -20 -22 -26 -29 -32 -34 -36 -41 -45 -47 -45 -45 -45 -43 -39 -36 -38 -39 -38 -36 -35 -36 -37 -38 -38 -38 -38 -39 -41 -41 -39 -36 -33 -34 -38 -41 -44 -46 -49 -50 -48 -45 -42 -37 -30 -25 -24 -24 -21 -19 -18 -18 -19 -22 -24 -25 -26 -27 -28 -31 -33 -35 -37 -37 -39 -43 -46 -46 -44 -40 -37 -36 -38 -39 -40 -42 -44 -48 -52 -51 -44 -30 -23 -23 -27 -32 -36 -40 -41 -39 -35 -31 -31 -33 -37 -39 -42 -45 -49 -53 -55 -55 -53 -50 -50 -49 -47 -43 -38 -36 -37 -39 -41 -42 -43 -45 -47 -49 -49 -46 -42 -40 -41 -42 -43 -47 -51 -54 -57 -58 -59 -56 -54 -52 -51 -49 -47 -46 -43 -38 -31 -32 -36 -39 -37 -35 -34 -34 -34 -35 -37 -39 -40 -41 -44 -47 -50 -50 -48 -47 -47 -47 -47 -47 -48 -49 -50 -51 -49 -45 -40 -39 -39 -40 -43 -47 -50 -53 -55 -57 -58 -58 -57 -55 -54 -55 -57 -59 -60 -60 -61 -62 -64 -63 -62 -60 -58 -57 -57 -58 -59 -59 -59 -60 -62 -62 -62 -61 -61 -63 -67 -71 -74 -76 -76 -72 -67 -65 -64 -64 -64 -65 -66 -67 -68 -67 -65 -63 -63 -65 -68 -71 -75 -77 -77 -75 -73 -69 -66 -66 -68 -71 -74 -77 -79 -78 -72 -63 -56 -54 -55 -61 -66 -68 -68 -64 -60 -58 -59 -63 -65 -67 -67 -67 -67 -67 -68 -69 -69 -69 -68 -67 -66 -67 -67 -66 -66 -65 -65 -65 -65 -65 -65 -67 -68 -69 -69 -70 -71 -71 -71 -72 -72 -73 -73 -73 -73 -73 -73 -72 -72 -72 -73 -74 -74 -74 -74 -74 -75 -76 -76 -76 -76 -76 -75 -74 -72 -71 -70 -70 -70 -69 -69 -69 -71 -72 -74 -73 -71 -68 -67 -67 -67 -67 -66 -66 -67 -66 -65 -62 -61 -61 -61 -61 -60 -60 -59 -59 -59 -59 -59 -60 -61 -62 -61 -60 -57 -56 -56 -56 -56 -54 -53 -52 -51 -51 -50 -51 -51 -53 -53 -53 -53 -52 -52 -50 -49 -47 -45 -44 -44 -45 -47 -48 -48 -47 -45 -43 -43 -44 -46 -48 -51 -54 -55 -56 -56 -55 -54 -52 -50 -49 -49 -49 -49 -48 -50 -51 -52 -53 -20 -19 -19 -21 -24 -28 -31 -34 -37 -41 -46 -50 -49 -47 -47 -46 -43 -39 -38 -38 -37 -35 -32 -32 -33 -35 -36 -37 -38 -39 -40 -41 -40 -38 -34 -34 -37 -40 -43 -46 -49 -49 -47 -43 -39 -33 -28 -23 -21 -20 -19 -17 -17 -16 -17 -18 -21 -24 -26 -27 -29 -33 -39 -42 -44 -44 -45 -47 -47 -44 -39 -35 -33 -34 -36 -39 -40 -41 -42 -45 -48 -48 -42 -31 -23 -23 -27 -32 -38 -40 -41 -39 -36 -33 -32 -34 -38 -40 -42 -44 -47 -49 -52 -54 -54 -53 -50 -46 -42 -37 -35 -36 -38 -39 -41 -43 -44 -45 -46 -48 -47 -44 -41 -39 -41 -42 -43 -45 -49 -52 -56 -58 -58 -54 -51 -49 -47 -46 -46 -46 -44 -38 -30 -29 -31 -35 -36 -35 -34 -32 -32 -33 -36 -40 -43 -46 -48 -48 -47 -44 -43 -43 -44 -45 -43 -44 -45 -47 -50 -53 -52 -48 -43 -39 -38 -40 -44 -48 -51 -54 -56 -59 -58 -58 -58 -58 -57 -57 -57 -58 -59 -60 -61 -63 -66 -64 -62 -59 -57 -57 -57 -58 -59 -59 -60 -62 -63 -64 -63 -62 -62 -64 -68 -72 -75 -76 -75 -71 -67 -66 -66 -64 -64 -64 -65 -66 -67 -67 -66 -64 -64 -65 -68 -70 -73 -74 -73 -72 -70 -68 -67 -68 -70 -74 -77 -80 -80 -75 -64 -56 -52 -53 -56 -61 -65 -68 -69 -68 -65 -63 -63 -65 -66 -67 -67 -67 -67 -68 -69 -69 -69 -69 -68 -67 -66 -66 -66 -66 -65 -65 -65 -65 -65 -65 -66 -67 -67 -68 -69 -71 -72 -73 -74 -74 -75 -76 -76 -76 -76 -76 -75 -74 -73 -73 -73 -74 -74 -73 -72 -72 -74 -74 -75 -75 -76 -75 -74 -73 -72 -71 -71 -71 -71 -70 -70 -71 -73 -75 -75 -73 -70 -67 -67 -67 -67 -68 -68 -68 -67 -66 -64 -63 -62 -62 -62 -62 -62 -61 -60 -60 -60 -60 -62 -64 -65 -65 -64 -62 -59 -56 -56 -56 -55 -54 -52 -52 -51 -51 -51 -51 -51 -51 -52 -52 -52 -51 -51 -50 -48 -46 -44 -43 -43 -44 -46 -47 -48 -47 -45 -44 -45 -46 -48 -51 -54 -56 -57 -57 -57 -56 -55 -53 -51 -50 -49 -48 -49 -49 -51 -52 -52 -53 -20 -18 -18 -20 -22 -27 -31 -35 -39 -43 -48 -51 -51 -48 -48 -48 -47 -43 -40 -38 -37 -34 -31 -29 -29 -30 -33 -34 -36 -37 -39 -40 -41 -39 -37 -35 -37 -40 -43 -46 -48 -48 -46 -42 -38 -33 -27 -23 -20 -18 -17 -16 -17 -16 -14 -15 -19 -24 -28 -30 -34 -39 -44 -48 -49 -49 -49 -48 -46 -41 -34 -31 -31 -33 -35 -37 -39 -41 -42 -43 -45 -45 -41 -32 -24 -24 -28 -34 -38 -39 -39 -39 -37 -35 -34 -36 -39 -42 -43 -44 -45 -46 -50 -54 -57 -57 -51 -42 -35 -33 -35 -38 -40 -41 -42 -43 -44 -44 -45 -46 -45 -43 -40 -39 -40 -42 -43 -44 -46 -49 -52 -54 -54 -50 -47 -45 -44 -45 -47 -48 -45 -37 -29 -27 -28 -31 -33 -33 -33 -32 -32 -34 -37 -41 -45 -47 -48 -46 -43 -40 -40 -40 -42 -43 -42 -42 -42 -46 -53 -58 -57 -52 -45 -40 -39 -41 -44 -48 -51 -54 -57 -60 -58 -59 -60 -61 -60 -59 -58 -57 -58 -58 -60 -63 -66 -65 -62 -59 -58 -57 -58 -58 -58 -59 -60 -62 -64 -65 -64 -64 -64 -65 -65 -67 -69 -71 -71 -68 -66 -66 -66 -64 -63 -62 -63 -65 -68 -68 -66 -65 -64 -65 -67 -69 -71 -71 -70 -68 -67 -66 -67 -69 -72 -75 -78 -78 -75 -66 -56 -51 -51 -55 -59 -62 -64 -67 -70 -70 -69 -67 -65 -65 -66 -67 -67 -68 -68 -69 -69 -69 -69 -68 -67 -67 -66 -65 -66 -66 -65 -65 -65 -65 -66 -67 -67 -67 -68 -68 -70 -72 -73 -75 -76 -77 -77 -77 -78 -78 -78 -77 -77 -75 -73 -72 -71 -72 -72 -71 -71 -71 -72 -73 -74 -74 -75 -74 -73 -72 -71 -72 -72 -72 -72 -71 -71 -72 -75 -76 -75 -72 -69 -66 -66 -67 -68 -69 -69 -68 -67 -65 -64 -64 -64 -64 -64 -64 -64 -63 -62 -61 -61 -62 -65 -68 -68 -68 -67 -65 -62 -59 -57 -56 -55 -54 -53 -52 -52 -52 -52 -52 -51 -50 -50 -50 -50 -50 -50 -49 -47 -44 -42 -41 -42 -43 -45 -46 -47 -47 -46 -45 -45 -46 -49 -53 -55 -56 -57 -57 -57 -56 -55 -54 -53 -51 -49 -48 -49 -51 -52 -52 -53 -53 -20 -18 -18 -18 -20 -25 -31 -37 -41 -44 -48 -51 -52 -50 -50 -51 -51 -49 -44 -40 -38 -35 -31 -28 -27 -28 -30 -32 -34 -35 -37 -39 -40 -40 -39 -37 -38 -40 -43 -46 -47 -46 -44 -41 -39 -34 -29 -24 -21 -18 -16 -16 -16 -15 -13 -13 -17 -23 -29 -35 -40 -45 -47 -47 -48 -48 -48 -46 -42 -36 -30 -29 -31 -33 -34 -37 -40 -42 -42 -43 -43 -42 -37 -30 -25 -25 -30 -35 -38 -39 -39 -38 -37 -35 -36 -38 -41 -43 -44 -45 -46 -48 -51 -56 -59 -58 -48 -37 -32 -33 -37 -39 -41 -42 -43 -44 -43 -43 -43 -44 -45 -45 -43 -41 -41 -42 -44 -46 -48 -51 -52 -52 -49 -45 -42 -41 -43 -46 -50 -50 -46 -37 -31 -29 -28 -28 -29 -31 -31 -30 -31 -34 -38 -42 -44 -45 -44 -42 -39 -37 -37 -38 -40 -42 -42 -42 -43 -46 -52 -55 -56 -53 -46 -42 -40 -41 -43 -45 -49 -53 -57 -61 -59 -60 -61 -62 -61 -60 -58 -57 -57 -58 -59 -62 -65 -64 -61 -59 -58 -59 -58 -57 -56 -57 -59 -60 -62 -63 -62 -62 -62 -62 -62 -63 -65 -67 -69 -68 -67 -66 -66 -65 -63 -62 -63 -65 -68 -69 -68 -66 -64 -64 -65 -67 -68 -67 -66 -65 -64 -65 -67 -71 -74 -76 -77 -75 -68 -58 -52 -51 -53 -58 -61 -62 -65 -69 -72 -71 -69 -66 -64 -64 -66 -68 -68 -69 -69 -70 -70 -69 -68 -67 -66 -66 -65 -65 -65 -65 -65 -65 -65 -66 -67 -68 -68 -68 -69 -70 -72 -73 -75 -76 -77 -78 -78 -78 -78 -78 -78 -77 -76 -75 -73 -71 -70 -71 -71 -71 -70 -71 -72 -73 -73 -73 -73 -73 -73 -72 -71 -72 -73 -73 -72 -71 -71 -72 -74 -75 -74 -71 -68 -65 -65 -66 -68 -69 -69 -68 -67 -65 -65 -65 -65 -65 -66 -66 -66 -66 -65 -64 -63 -65 -67 -70 -70 -70 -69 -67 -65 -62 -60 -58 -57 -57 -57 -55 -54 -53 -53 -52 -51 -50 -49 -48 -48 -48 -48 -47 -46 -43 -41 -40 -40 -42 -45 -46 -46 -47 -46 -45 -44 -44 -47 -53 -55 -56 -56 -56 -56 -56 -56 -55 -54 -51 -49 -48 -50 -51 -52 -53 -53 -52 -21 -18 -17 -17 -19 -24 -30 -36 -40 -43 -47 -50 -51 -52 -54 -55 -56 -54 -49 -43 -39 -37 -33 -29 -27 -27 -30 -31 -32 -34 -36 -38 -40 -40 -40 -38 -37 -39 -42 -45 -45 -43 -41 -40 -39 -37 -34 -29 -25 -21 -19 -18 -18 -15 -13 -12 -14 -19 -27 -35 -42 -46 -44 -44 -45 -46 -45 -41 -36 -31 -28 -30 -33 -36 -38 -41 -44 -45 -45 -44 -42 -39 -34 -27 -23 -25 -29 -34 -38 -38 -37 -36 -36 -36 -37 -40 -43 -44 -46 -48 -50 -52 -55 -59 -61 -59 -46 -35 -31 -33 -37 -39 -40 -41 -42 -43 -43 -43 -42 -43 -45 -46 -46 -43 -41 -43 -46 -50 -53 -55 -54 -50 -45 -40 -39 -40 -45 -50 -52 -51 -47 -40 -35 -32 -28 -26 -27 -29 -29 -29 -31 -34 -38 -41 -42 -41 -39 -37 -35 -35 -35 -36 -38 -42 -43 -44 -45 -47 -49 -50 -50 -49 -46 -44 -42 -41 -41 -43 -47 -53 -58 -59 -59 -59 -58 -57 -58 -57 -57 -56 -58 -58 -59 -60 -61 -61 -60 -59 -59 -59 -59 -57 -55 -54 -55 -56 -57 -57 -57 -57 -57 -57 -58 -60 -62 -65 -69 -68 -67 -67 -67 -66 -64 -64 -65 -67 -69 -70 -70 -70 -67 -64 -64 -64 -65 -64 -63 -62 -62 -64 -68 -72 -76 -78 -76 -71 -62 -53 -51 -53 -56 -60 -62 -63 -65 -68 -72 -71 -69 -67 -65 -65 -67 -69 -70 -70 -70 -70 -69 -69 -67 -66 -66 -66 -65 -65 -65 -65 -65 -65 -66 -68 -69 -70 -71 -71 -71 -72 -74 -75 -76 -77 -78 -78 -77 -77 -77 -77 -76 -75 -75 -74 -72 -70 -70 -72 -72 -72 -72 -72 -73 -74 -74 -74 -73 -73 -72 -72 -72 -72 -72 -71 -70 -70 -70 -70 -71 -72 -71 -70 -67 -65 -65 -66 -68 -69 -69 -68 -68 -67 -67 -67 -66 -66 -67 -68 -68 -68 -67 -66 -66 -67 -69 -70 -71 -71 -71 -69 -67 -66 -64 -62 -61 -61 -60 -59 -57 -56 -55 -53 -52 -50 -48 -47 -47 -47 -47 -47 -45 -42 -40 -40 -40 -43 -45 -46 -46 -46 -46 -45 -43 -42 -46 -51 -55 -56 -56 -56 -57 -56 -56 -55 -54 -51 -49 -48 -50 -51 -52 -53 -52 -52 -21 -18 -17 -17 -19 -24 -30 -35 -38 -41 -45 -48 -51 -52 -56 -59 -61 -60 -54 -47 -41 -39 -36 -31 -28 -28 -31 -32 -33 -33 -34 -36 -38 -39 -39 -37 -37 -38 -40 -42 -41 -39 -37 -36 -38 -40 -40 -39 -35 -29 -24 -23 -22 -20 -17 -16 -16 -18 -22 -29 -35 -39 -39 -39 -39 -39 -37 -34 -31 -29 -31 -35 -38 -40 -42 -45 -46 -46 -43 -41 -38 -35 -32 -27 -24 -26 -30 -35 -37 -36 -35 -36 -37 -38 -40 -42 -43 -44 -46 -48 -51 -53 -55 -59 -62 -61 -49 -38 -32 -33 -37 -37 -37 -38 -40 -42 -43 -42 -42 -42 -44 -46 -46 -43 -42 -43 -46 -50 -54 -55 -53 -48 -41 -37 -38 -43 -50 -52 -50 -47 -44 -42 -38 -33 -29 -26 -26 -27 -29 -29 -31 -34 -37 -39 -39 -37 -35 -34 -34 -35 -36 -37 -39 -42 -45 -46 -47 -46 -46 -45 -45 -45 -45 -45 -44 -43 -43 -44 -48 -53 -58 -61 -60 -58 -58 -57 -57 -57 -56 -57 -59 -59 -59 -59 -59 -58 -58 -58 -58 -58 -57 -55 -53 -52 -51 -50 -50 -49 -50 -50 -51 -52 -54 -57 -60 -64 -68 -68 -67 -67 -67 -67 -66 -67 -68 -69 -70 -70 -70 -70 -70 -69 -67 -65 -64 -62 -61 -61 -61 -63 -67 -71 -76 -77 -74 -67 -59 -53 -53 -56 -60 -63 -64 -64 -65 -68 -72 -73 -72 -70 -67 -68 -69 -71 -72 -71 -71 -70 -69 -68 -67 -66 -65 -66 -66 -66 -66 -65 -65 -66 -67 -69 -71 -72 -73 -73 -73 -74 -75 -75 -76 -77 -77 -76 -76 -76 -76 -75 -74 -74 -73 -73 -71 -70 -71 -72 -73 -73 -73 -73 -74 -75 -77 -76 -74 -73 -72 -72 -72 -71 -70 -69 -68 -68 -67 -67 -67 -68 -68 -68 -67 -66 -66 -67 -69 -70 -71 -71 -70 -70 -69 -68 -68 -68 -69 -69 -70 -70 -70 -70 -70 -70 -71 -71 -72 -73 -72 -71 -70 -68 -67 -66 -65 -64 -63 -62 -61 -59 -57 -55 -54 -52 -49 -47 -47 -47 -47 -47 -45 -43 -41 -40 -41 -43 -46 -47 -46 -46 -46 -46 -44 -43 -45 -50 -54 -56 -57 -57 -57 -56 -56 -55 -54 -52 -49 -48 -49 -51 -52 -52 -51 -51 -21 -18 -17 -18 -20 -24 -29 -34 -38 -40 -44 -47 -50 -50 -56 -61 -64 -64 -59 -51 -45 -41 -38 -32 -29 -28 -30 -33 -33 -32 -32 -34 -35 -36 -36 -36 -36 -36 -37 -39 -39 -38 -36 -34 -33 -37 -41 -43 -41 -34 -28 -26 -27 -28 -26 -24 -23 -23 -24 -26 -28 -30 -31 -32 -32 -31 -30 -28 -28 -30 -34 -38 -41 -44 -46 -47 -47 -45 -42 -38 -34 -31 -29 -27 -26 -29 -32 -36 -36 -35 -34 -35 -38 -40 -41 -42 -42 -43 -46 -48 -50 -52 -53 -57 -60 -61 -54 -44 -36 -33 -34 -34 -35 -37 -40 -42 -42 -42 -41 -41 -43 -44 -46 -46 -44 -44 -46 -49 -52 -52 -49 -44 -37 -35 -39 -46 -49 -48 -45 -42 -41 -41 -38 -35 -31 -28 -28 -28 -29 -30 -31 -32 -33 -34 -35 -34 -34 -33 -34 -36 -38 -40 -42 -43 -45 -45 -45 -44 -44 -43 -42 -42 -44 -45 -46 -46 -45 -46 -49 -53 -58 -61 -60 -60 -59 -56 -57 -56 -56 -57 -58 -59 -60 -60 -59 -57 -55 -54 -53 -52 -51 -50 -49 -47 -45 -44 -44 -43 -44 -45 -47 -50 -53 -55 -59 -63 -67 -68 -67 -67 -67 -68 -68 -69 -70 -71 -70 -70 -69 -70 -73 -75 -74 -69 -65 -63 -63 -63 -64 -64 -65 -68 -72 -73 -70 -65 -60 -57 -57 -59 -62 -64 -63 -62 -63 -67 -72 -74 -73 -71 -69 -70 -72 -73 -73 -72 -71 -71 -70 -69 -67 -66 -66 -67 -67 -67 -66 -66 -66 -67 -69 -71 -72 -73 -73 -73 -73 -73 -74 -75 -75 -75 -76 -75 -74 -74 -75 -74 -73 -72 -72 -72 -72 -71 -71 -73 -74 -74 -74 -74 -74 -74 -76 -76 -75 -73 -72 -71 -71 -70 -69 -67 -67 -66 -65 -65 -65 -66 -67 -67 -67 -66 -67 -68 -70 -72 -73 -73 -73 -72 -71 -70 -69 -69 -70 -70 -71 -71 -72 -72 -72 -72 -72 -72 -74 -75 -75 -74 -72 -70 -68 -68 -68 -66 -65 -64 -63 -62 -60 -59 -57 -54 -51 -48 -47 -47 -48 -47 -46 -43 -41 -41 -42 -43 -45 -46 -46 -46 -46 -46 -46 -45 -46 -49 -53 -56 -57 -57 -56 -56 -56 -56 -54 -52 -50 -49 -49 -50 -51 -51 -50 -49 -21 -19 -18 -19 -21 -23 -27 -32 -38 -41 -44 -47 -49 -48 -52 -58 -64 -66 -63 -56 -49 -43 -40 -34 -30 -28 -30 -33 -33 -33 -31 -31 -31 -31 -32 -32 -33 -33 -34 -37 -38 -37 -34 -32 -31 -36 -42 -45 -44 -40 -35 -32 -33 -35 -34 -33 -32 -32 -31 -29 -27 -26 -27 -29 -31 -30 -27 -26 -28 -32 -36 -39 -42 -44 -46 -47 -46 -44 -41 -37 -31 -28 -27 -28 -29 -32 -35 -38 -38 -37 -36 -36 -38 -41 -42 -42 -42 -43 -44 -47 -49 -51 -52 -55 -58 -60 -57 -49 -39 -33 -32 -32 -34 -37 -40 -42 -42 -42 -41 -41 -42 -43 -45 -46 -46 -47 -49 -51 -52 -51 -46 -41 -35 -36 -43 -50 -53 -48 -41 -37 -37 -40 -40 -37 -33 -29 -28 -28 -29 -30 -29 -29 -29 -31 -32 -33 -33 -33 -34 -36 -39 -42 -43 -43 -42 -41 -40 -41 -42 -43 -44 -44 -44 -46 -48 -48 -46 -47 -51 -55 -59 -62 -62 -62 -61 -56 -56 -56 -56 -57 -58 -59 -60 -59 -56 -53 -52 -50 -49 -48 -46 -46 -45 -44 -43 -42 -41 -41 -42 -44 -47 -50 -52 -55 -58 -62 -66 -67 -67 -67 -67 -68 -70 -71 -72 -72 -72 -70 -69 -70 -74 -77 -77 -73 -68 -66 -66 -68 -69 -68 -67 -67 -70 -69 -66 -63 -62 -63 -63 -62 -61 -60 -59 -59 -60 -65 -72 -75 -74 -72 -70 -72 -73 -74 -73 -73 -72 -72 -71 -70 -69 -68 -68 -68 -68 -68 -67 -67 -67 -68 -70 -71 -72 -73 -73 -72 -70 -71 -72 -73 -73 -73 -74 -74 -73 -73 -74 -74 -73 -72 -72 -72 -72 -71 -71 -72 -74 -75 -76 -74 -73 -72 -72 -73 -74 -73 -70 -69 -69 -68 -68 -66 -65 -64 -64 -63 -64 -65 -66 -67 -67 -67 -68 -69 -71 -73 -74 -74 -74 -73 -71 -71 -70 -71 -71 -71 -71 -72 -73 -72 -71 -71 -71 -72 -73 -75 -76 -76 -73 -70 -68 -69 -69 -69 -68 -67 -67 -66 -64 -62 -59 -56 -53 -50 -49 -48 -48 -47 -45 -43 -42 -42 -42 -43 -44 -45 -45 -45 -45 -46 -47 -48 -47 -47 -49 -53 -55 -56 -56 -56 -56 -56 -54 -52 -51 -51 -50 -51 -51 -50 -48 -47 -22 -20 -19 -19 -21 -22 -26 -31 -37 -42 -46 -48 -49 -48 -50 -54 -60 -64 -64 -60 -54 -48 -43 -37 -33 -30 -30 -33 -34 -35 -33 -31 -29 -28 -27 -27 -28 -29 -31 -33 -35 -35 -34 -32 -31 -37 -42 -46 -47 -46 -43 -41 -41 -41 -41 -41 -41 -41 -40 -38 -33 -29 -28 -32 -34 -34 -31 -30 -31 -34 -37 -39 -41 -43 -45 -45 -44 -42 -39 -34 -28 -27 -28 -31 -33 -36 -40 -43 -44 -43 -41 -40 -40 -43 -44 -44 -44 -44 -45 -46 -48 -50 -52 -54 -57 -59 -58 -50 -40 -32 -31 -33 -35 -37 -39 -40 -40 -41 -41 -42 -43 -43 -44 -45 -47 -48 -50 -52 -52 -49 -44 -39 -35 -39 -45 -51 -53 -47 -39 -34 -35 -40 -41 -39 -35 -30 -28 -28 -28 -28 -28 -28 -29 -31 -34 -34 -35 -35 -36 -38 -40 -42 -44 -43 -40 -38 -37 -39 -43 -47 -49 -48 -47 -47 -49 -50 -48 -50 -53 -58 -62 -64 -65 -64 -61 -58 -58 -58 -59 -59 -59 -59 -57 -55 -51 -48 -47 -48 -48 -45 -43 -43 -44 -44 -43 -43 -42 -42 -43 -44 -47 -50 -52 -54 -57 -61 -65 -66 -67 -67 -68 -69 -70 -71 -72 -74 -74 -72 -71 -72 -75 -77 -78 -76 -70 -67 -68 -71 -73 -72 -70 -68 -67 -65 -62 -60 -60 -63 -65 -64 -60 -57 -57 -57 -59 -65 -72 -76 -75 -72 -71 -72 -73 -74 -74 -73 -73 -72 -72 -71 -70 -70 -70 -70 -69 -69 -69 -69 -69 -69 -71 -72 -71 -72 -71 -70 -67 -69 -70 -71 -71 -72 -73 -73 -74 -73 -74 -73 -73 -72 -73 -72 -71 -69 -69 -71 -74 -76 -76 -74 -72 -69 -68 -69 -71 -71 -69 -67 -67 -67 -67 -65 -62 -62 -62 -63 -64 -65 -66 -67 -67 -67 -68 -70 -72 -73 -74 -75 -74 -74 -72 -71 -71 -72 -72 -71 -71 -71 -72 -72 -70 -69 -70 -71 -72 -74 -75 -75 -72 -68 -66 -68 -69 -70 -70 -70 -70 -69 -68 -65 -62 -59 -55 -52 -50 -49 -48 -46 -44 -42 -42 -42 -42 -43 -43 -43 -44 -44 -44 -45 -47 -48 -48 -47 -47 -50 -53 -55 -56 -56 -56 -56 -54 -53 -52 -52 -52 -51 -51 -50 -49 -48 -23 -21 -20 -20 -21 -22 -25 -30 -37 -43 -47 -50 -52 -51 -51 -53 -56 -60 -63 -62 -58 -53 -47 -41 -36 -33 -31 -34 -36 -36 -34 -32 -30 -27 -24 -22 -23 -24 -26 -28 -32 -34 -34 -33 -33 -37 -42 -46 -48 -49 -49 -49 -48 -47 -46 -45 -46 -46 -47 -46 -43 -37 -34 -35 -37 -39 -39 -38 -38 -38 -38 -39 -40 -41 -44 -45 -44 -41 -36 -30 -26 -27 -31 -36 -38 -41 -46 -51 -53 -51 -47 -45 -44 -47 -48 -48 -47 -46 -46 -47 -49 -50 -52 -54 -57 -61 -59 -50 -39 -31 -30 -34 -36 -37 -38 -38 -39 -41 -42 -43 -43 -43 -43 -44 -46 -49 -51 -52 -50 -46 -42 -39 -36 -41 -44 -47 -48 -43 -36 -33 -34 -39 -39 -37 -35 -31 -28 -26 -25 -26 -26 -27 -29 -32 -35 -36 -37 -38 -38 -39 -40 -42 -43 -44 -43 -41 -40 -42 -47 -52 -54 -52 -51 -50 -51 -52 -52 -53 -56 -60 -63 -65 -65 -65 -63 -62 -62 -62 -62 -61 -59 -57 -53 -48 -44 -42 -43 -44 -45 -43 -41 -41 -43 -44 -45 -45 -45 -44 -45 -46 -48 -50 -52 -55 -58 -61 -63 -65 -67 -69 -70 -71 -71 -72 -72 -74 -74 -73 -73 -75 -76 -77 -76 -74 -70 -68 -68 -70 -72 -73 -72 -69 -66 -64 -62 -60 -59 -61 -63 -62 -59 -58 -59 -60 -61 -66 -73 -76 -76 -73 -71 -71 -72 -73 -74 -74 -74 -73 -73 -72 -71 -71 -71 -70 -70 -70 -71 -71 -71 -72 -72 -72 -71 -71 -70 -69 -67 -68 -70 -71 -70 -71 -72 -73 -74 -74 -75 -75 -75 -74 -73 -73 -72 -69 -69 -70 -73 -75 -76 -74 -71 -69 -66 -66 -68 -70 -69 -67 -67 -67 -67 -64 -62 -61 -61 -62 -64 -66 -67 -68 -67 -67 -68 -69 -72 -73 -74 -75 -74 -74 -73 -72 -72 -72 -72 -70 -69 -70 -71 -71 -70 -69 -71 -72 -73 -73 -74 -73 -70 -67 -64 -64 -66 -69 -72 -73 -73 -73 -71 -68 -65 -61 -57 -53 -50 -48 -47 -45 -42 -41 -41 -41 -42 -42 -42 -42 -42 -43 -44 -45 -46 -47 -47 -47 -49 -52 -54 -55 -56 -56 -56 -55 -54 -53 -53 -52 -52 -52 -51 -50 -49 -48 -25 -23 -21 -21 -22 -23 -25 -28 -35 -43 -48 -52 -54 -54 -54 -54 -55 -57 -60 -60 -58 -55 -50 -44 -39 -35 -34 -36 -37 -37 -35 -33 -30 -27 -24 -20 -18 -19 -21 -24 -28 -31 -32 -33 -34 -38 -41 -45 -48 -50 -52 -52 -52 -50 -47 -46 -47 -48 -49 -50 -50 -46 -40 -38 -39 -42 -45 -46 -46 -45 -42 -41 -40 -41 -45 -48 -46 -41 -33 -25 -24 -29 -36 -42 -43 -46 -51 -57 -60 -58 -54 -50 -48 -49 -50 -51 -50 -47 -47 -48 -50 -52 -52 -55 -58 -62 -61 -51 -39 -30 -31 -35 -36 -36 -37 -39 -41 -42 -43 -43 -43 -43 -44 -46 -48 -50 -51 -50 -45 -42 -39 -38 -37 -40 -41 -41 -40 -37 -33 -31 -33 -36 -36 -36 -34 -32 -27 -25 -24 -25 -26 -28 -30 -33 -35 -37 -38 -39 -40 -41 -41 -43 -45 -46 -47 -47 -47 -48 -51 -54 -57 -57 -56 -54 -54 -54 -53 -55 -57 -60 -62 -64 -65 -64 -64 -65 -65 -65 -64 -62 -58 -53 -48 -42 -39 -38 -38 -40 -41 -40 -40 -41 -44 -46 -47 -48 -48 -48 -49 -50 -51 -51 -53 -56 -59 -61 -62 -65 -67 -71 -73 -73 -73 -72 -72 -72 -72 -73 -74 -76 -76 -75 -73 -70 -67 -66 -66 -67 -69 -72 -72 -69 -65 -63 -62 -62 -61 -61 -61 -61 -61 -60 -61 -61 -63 -69 -74 -76 -76 -73 -70 -70 -70 -72 -74 -74 -74 -74 -73 -72 -72 -72 -71 -70 -70 -71 -72 -73 -74 -74 -73 -72 -72 -71 -70 -70 -69 -70 -71 -71 -71 -71 -72 -73 -74 -75 -76 -76 -76 -76 -76 -76 -76 -75 -74 -74 -74 -75 -75 -74 -72 -70 -67 -65 -66 -68 -67 -66 -66 -66 -66 -64 -62 -62 -62 -63 -65 -66 -68 -68 -67 -66 -66 -68 -71 -72 -74 -74 -74 -73 -72 -72 -72 -72 -71 -69 -68 -68 -70 -71 -71 -71 -73 -74 -74 -73 -72 -70 -68 -65 -62 -60 -62 -66 -72 -75 -76 -75 -74 -70 -67 -63 -58 -54 -51 -49 -47 -45 -42 -41 -40 -40 -40 -41 -41 -41 -41 -42 -43 -44 -45 -45 -46 -47 -49 -51 -53 -54 -55 -56 -56 -55 -55 -54 -53 -53 -53 -53 -52 -50 -49 -48 -27 -25 -23 -22 -23 -23 -23 -26 -32 -40 -46 -51 -54 -55 -57 -57 -57 -57 -57 -58 -57 -54 -51 -47 -43 -40 -38 -39 -39 -37 -35 -33 -31 -28 -24 -19 -16 -15 -17 -20 -23 -26 -28 -29 -33 -37 -41 -44 -46 -48 -50 -52 -54 -52 -46 -43 -43 -47 -49 -50 -50 -49 -44 -41 -40 -42 -44 -47 -49 -49 -48 -47 -46 -47 -50 -54 -51 -42 -31 -23 -26 -33 -41 -47 -49 -51 -55 -60 -63 -63 -60 -56 -52 -51 -51 -51 -52 -50 -49 -49 -51 -52 -52 -53 -55 -59 -60 -54 -43 -34 -32 -35 -36 -37 -38 -41 -44 -45 -45 -44 -43 -43 -44 -46 -50 -51 -50 -46 -41 -37 -35 -34 -35 -40 -41 -39 -36 -32 -30 -30 -32 -34 -36 -36 -34 -31 -28 -26 -26 -26 -27 -28 -31 -33 -35 -36 -37 -39 -40 -42 -44 -46 -48 -49 -50 -51 -52 -54 -56 -57 -58 -58 -57 -56 -55 -53 -53 -55 -58 -60 -60 -61 -61 -61 -62 -64 -66 -66 -63 -59 -55 -50 -45 -39 -37 -37 -37 -38 -39 -39 -41 -44 -47 -49 -50 -51 -51 -52 -54 -54 -54 -54 -55 -58 -60 -61 -62 -64 -68 -73 -75 -75 -75 -75 -74 -73 -72 -73 -73 -75 -77 -76 -73 -68 -63 -62 -63 -64 -68 -71 -71 -69 -64 -62 -63 -64 -64 -63 -63 -63 -64 -64 -63 -63 -64 -68 -73 -75 -74 -71 -69 -68 -69 -71 -73 -75 -75 -74 -74 -73 -73 -72 -72 -71 -70 -71 -72 -73 -73 -73 -73 -72 -72 -72 -72 -72 -72 -71 -71 -72 -72 -73 -73 -73 -74 -75 -76 -77 -77 -78 -79 -79 -79 -79 -77 -76 -75 -76 -76 -74 -73 -71 -68 -66 -66 -66 -65 -65 -65 -65 -64 -63 -63 -63 -63 -64 -66 -67 -68 -68 -67 -66 -66 -67 -69 -71 -73 -73 -73 -72 -72 -71 -71 -71 -70 -69 -68 -69 -71 -73 -73 -73 -75 -75 -75 -73 -71 -69 -67 -64 -62 -62 -64 -67 -70 -72 -74 -75 -74 -71 -68 -65 -61 -56 -53 -50 -48 -46 -43 -41 -40 -40 -40 -41 -41 -41 -41 -42 -43 -44 -44 -45 -46 -47 -49 -51 -53 -54 -55 -55 -55 -55 -55 -55 -55 -54 -54 -54 -52 -50 -49 -50 -28 -27 -25 -23 -23 -23 -22 -24 -29 -36 -44 -49 -52 -54 -57 -60 -60 -59 -57 -56 -55 -53 -51 -49 -47 -46 -44 -44 -42 -39 -35 -33 -31 -29 -25 -20 -15 -13 -14 -18 -20 -21 -22 -25 -29 -34 -38 -41 -42 -43 -45 -48 -51 -54 -51 -45 -41 -43 -47 -49 -49 -49 -47 -45 -44 -45 -48 -49 -50 -50 -50 -51 -51 -52 -54 -56 -51 -40 -29 -24 -30 -38 -45 -50 -54 -56 -58 -60 -61 -63 -63 -60 -54 -51 -50 -51 -52 -52 -53 -53 -52 -51 -51 -51 -52 -55 -57 -56 -50 -41 -35 -36 -38 -39 -41 -43 -45 -46 -46 -44 -43 -43 -45 -47 -50 -51 -49 -45 -40 -36 -31 -27 -27 -35 -42 -44 -41 -35 -32 -30 -30 -33 -36 -37 -35 -31 -27 -26 -26 -27 -28 -29 -31 -33 -34 -35 -36 -37 -39 -42 -46 -49 -51 -52 -52 -53 -55 -57 -58 -59 -59 -57 -57 -56 -55 -53 -52 -53 -55 -57 -56 -57 -57 -58 -58 -60 -61 -61 -60 -57 -53 -48 -43 -38 -38 -39 -40 -40 -40 -42 -45 -48 -51 -53 -54 -54 -55 -56 -57 -58 -57 -57 -58 -60 -61 -62 -62 -64 -68 -73 -75 -75 -75 -76 -76 -75 -74 -74 -75 -77 -80 -81 -78 -71 -65 -63 -64 -67 -70 -72 -71 -68 -63 -62 -64 -66 -67 -66 -66 -67 -68 -67 -66 -65 -66 -69 -71 -72 -71 -69 -68 -67 -69 -71 -74 -75 -75 -75 -75 -74 -74 -73 -72 -72 -72 -71 -71 -71 -71 -71 -72 -72 -72 -72 -73 -74 -74 -74 -74 -74 -74 -74 -74 -74 -75 -76 -77 -77 -77 -78 -79 -80 -80 -79 -78 -76 -75 -76 -75 -74 -73 -73 -72 -69 -66 -64 -63 -64 -64 -64 -64 -63 -63 -63 -64 -66 -68 -69 -69 -68 -67 -67 -67 -67 -69 -71 -72 -73 -72 -72 -71 -70 -70 -70 -69 -68 -69 -71 -72 -73 -73 -74 -74 -75 -74 -73 -70 -68 -65 -63 -63 -65 -67 -69 -69 -69 -70 -71 -72 -72 -71 -68 -64 -59 -55 -51 -48 -46 -44 -42 -41 -41 -41 -41 -41 -41 -42 -43 -44 -44 -44 -45 -46 -48 -49 -51 -53 -54 -55 -55 -55 -55 -56 -56 -56 -56 -55 -54 -52 -51 -50 -51