CAPE 10 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 0 0 0 0 0 0 0 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 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 2 6 10 13 13 12 13 15 15 12 5 0 0 5 14 21 15 3 0 1 6 14 17 10 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 2 2 2 0 0 0 0 1 3 4 1 0 0 0 0 2 4 4 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 1 4 6 7 7 6 8 14 22 30 36 39 40 39 34 29 26 27 30 32 32 32 36 44 55 65 74 80 83 85 87 90 94 97 97 101 107 112 115 113 107 99 96 100 106 113 116 119 122 121 118 112 103 98 96 96 101 107 114 112 108 104 101 96 87 75 69 71 79 90 96 111 137 152 157 154 143 134 138 146 153 157 159 161 158 149 137 126 116 109 106 104 104 102 98 96 96 96 96 97 99 103 107 109 110 111 112 114 115 117 121 126 129 132 134 134 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 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 2 8 16 21 23 22 17 12 10 9 6 2 0 0 0 4 9 8 0 0 0 5 13 18 12 3 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 3 3 2 1 0 0 0 0 0 0 0 1 2 3 4 6 6 4 1 0 0 2 5 8 4 1 0 0 2 9 13 11 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 2 4 6 8 8 8 9 12 17 24 33 43 48 47 42 38 40 42 42 38 35 34 36 43 51 60 67 73 78 81 85 88 90 91 93 99 108 116 121 121 115 107 105 107 112 114 114 120 124 126 122 114 109 105 101 100 104 111 113 113 112 110 106 94 79 70 68 72 81 88 102 104 119 149 158 158 158 158 157 157 154 154 157 158 153 143 132 122 115 111 109 109 108 104 100 97 94 92 90 90 91 94 97 100 102 104 106 108 111 115 120 125 130 133 135 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 1 2 4 0 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 13 20 26 26 21 14 6 2 1 1 0 0 0 0 0 1 1 0 0 0 3 14 19 12 0 0 0 1 4 5 4 2 3 4 4 4 3 2 3 4 5 6 7 8 7 5 4 3 3 3 3 4 3 3 2 2 4 6 7 7 5 1 1 3 8 12 10 3 0 0 3 11 20 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 2 5 8 10 8 5 4 5 11 22 36 45 48 47 46 46 48 48 47 46 45 43 42 46 52 60 66 72 77 80 83 85 85 87 91 97 106 116 121 122 118 113 111 113 112 111 115 121 125 124 119 118 116 112 106 103 107 109 111 113 112 109 97 84 76 72 72 76 85 97 96 101 122 137 150 158 163 164 159 149 141 141 146 150 150 144 126 117 113 110 110 111 108 104 98 94 90 87 85 85 86 87 89 92 94 97 101 106 110 114 118 123 128 131 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 1 2 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 9 15 21 24 23 17 9 4 1 0 0 0 0 0 0 0 0 0 0 0 0 5 17 20 12 0 0 0 1 6 10 10 8 7 8 10 12 11 9 8 8 10 11 12 11 10 9 8 8 8 8 8 8 8 7 5 4 4 5 7 7 6 3 1 4 10 16 17 7 1 0 2 8 18 19 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 1 4 6 5 3 1 0 3 12 23 33 40 44 46 45 44 44 46 51 53 51 49 48 51 58 64 69 74 78 81 83 84 84 86 88 92 98 105 112 115 116 115 114 112 108 108 110 110 110 114 118 120 119 114 108 107 108 111 113 113 105 95 87 82 80 78 77 81 88 93 96 92 101 116 133 147 154 154 142 127 122 125 132 140 153 128 114 109 107 108 110 108 104 98 93 90 89 88 87 86 84 83 84 85 89 95 101 105 108 111 115 119 124 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 0 0 0 0 0 0 2 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 9 13 16 19 18 12 6 2 0 0 0 0 0 0 0 2 3 2 1 2 5 11 20 21 10 1 0 0 0 7 13 14 11 9 10 12 14 14 13 11 11 12 14 14 12 10 10 10 10 10 10 10 10 11 10 9 7 6 6 6 7 6 4 3 5 11 17 19 11 1 0 1 5 11 11 6 1 0 0 0 1 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 1 1 1 0 0 0 1 5 12 19 27 36 41 40 37 36 40 45 49 49 47 47 50 56 62 68 73 78 81 83 86 87 87 86 85 86 91 98 104 109 112 112 109 106 100 95 91 94 102 109 114 118 119 114 112 111 111 112 110 98 90 88 87 87 86 83 81 82 86 90 88 90 96 103 114 126 138 133 121 112 110 117 133 150 131 115 109 105 103 103 103 100 97 95 97 100 100 99 95 90 84 82 81 83 87 92 97 100 103 106 110 114 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 0 0 0 0 0 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 7 8 8 9 12 9 3 1 0 0 0 0 0 2 4 6 7 6 6 7 10 16 22 23 12 3 0 0 0 8 16 17 14 10 9 11 12 12 10 8 7 8 10 11 10 8 6 7 8 9 9 9 9 10 11 10 9 7 6 7 7 7 6 4 6 11 16 17 11 1 0 0 4 6 4 0 0 0 0 1 3 5 7 4 1 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 8 15 25 33 34 33 32 34 38 40 39 38 38 41 46 54 62 70 76 80 84 88 91 91 90 88 86 88 92 96 101 105 106 106 104 100 96 94 94 95 97 103 110 118 118 116 114 114 114 110 97 89 86 87 89 91 90 88 86 85 87 91 91 90 90 93 100 110 115 116 112 110 117 135 146 139 129 120 109 101 95 94 96 99 104 112 119 121 117 109 101 91 84 80 80 81 82 85 89 94 98 101 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 4 2 0 1 3 6 2 0 0 0 0 1 3 4 6 9 10 10 8 9 12 17 22 23 16 6 0 0 1 7 16 19 17 14 11 10 10 9 8 5 1 0 1 3 4 4 2 2 4 5 6 6 6 6 8 9 8 6 5 5 7 8 8 7 7 11 16 16 11 2 0 0 0 0 0 0 0 0 0 1 4 8 9 4 1 0 0 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 12 20 26 30 32 33 32 30 29 28 27 29 34 43 53 62 70 76 81 86 91 94 95 94 92 92 93 94 96 99 101 104 105 104 102 101 99 94 92 96 104 116 118 119 118 117 116 112 102 93 88 86 87 91 94 95 95 94 94 96 96 93 90 88 88 91 98 105 109 110 109 124 142 151 150 140 126 112 96 88 89 100 115 128 137 139 133 124 113 100 89 81 76 74 74 76 80 85 91 95 99 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 2 1 0 0 0 1 3 2 0 0 0 0 2 4 7 8 10 11 11 9 8 10 14 17 18 17 10 3 1 2 6 14 18 18 15 12 11 10 10 9 7 3 0 0 0 0 0 0 0 0 0 1 2 2 2 3 4 5 4 3 2 4 7 9 9 9 11 14 16 13 6 0 0 0 0 0 0 0 0 1 6 11 13 8 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 2 1 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 1 2 6 15 25 32 33 28 24 22 20 18 19 24 32 42 51 59 66 73 79 85 90 94 97 97 97 96 96 95 95 98 103 107 108 106 102 100 96 95 98 105 114 119 120 120 119 117 115 108 102 95 90 88 90 94 99 102 104 105 106 105 101 96 91 87 87 91 98 105 110 110 124 132 142 154 155 145 130 115 100 91 99 121 137 144 143 136 130 123 112 98 84 73 68 66 68 72 77 83 88 93 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 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 2 3 0 0 0 0 2 7 8 6 6 7 9 9 8 9 10 11 12 12 13 11 8 5 7 11 16 17 15 12 10 9 11 12 11 7 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 4 8 10 11 11 12 14 14 9 3 0 0 0 0 0 1 3 9 13 15 12 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 5 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 16 27 29 23 19 16 14 13 12 16 22 29 37 45 53 62 68 74 80 87 93 97 98 99 97 95 92 94 100 106 110 110 105 101 99 100 103 108 113 117 119 120 120 118 116 113 110 106 101 97 97 98 100 104 109 114 117 116 111 104 98 94 93 96 100 101 100 101 108 84 75 114 152 144 134 126 117 106 109 120 118 129 143 131 125 128 125 112 94 77 68 66 65 67 71 76 82 87 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 4 2 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 1 2 2 0 0 0 0 3 7 5 1 0 2 5 8 9 8 8 8 8 9 12 18 20 16 12 10 12 14 14 11 8 7 9 12 13 10 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 8 10 11 11 12 13 10 6 1 0 0 0 1 2 5 8 12 12 9 4 1 0 0 0 2 4 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 7 4 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 7 14 17 14 13 12 12 12 11 11 12 16 21 29 38 48 56 64 70 77 84 91 95 97 96 92 89 89 93 100 106 111 108 105 104 105 108 110 114 114 115 117 119 118 116 114 113 112 110 108 108 108 108 108 110 114 118 120 117 111 104 102 104 106 107 105 101 102 102 82 74 112 127 117 106 105 112 116 120 112 94 92 109 122 129 135 140 134 114 92 83 80 77 74 71 72 77 82 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 2 0 0 0 0 2 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 1 1 0 0 0 5 6 3 1 0 0 4 8 9 8 6 5 5 6 11 20 28 28 19 11 8 10 12 10 6 3 5 9 12 9 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 8 9 10 12 12 9 4 0 0 0 1 3 5 6 6 6 5 2 0 0 0 0 4 7 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 6 4 1 0 1 4 7 7 4 2 0 0 0 0 0 0 0 0 0 0 0 1 3 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 2 4 6 6 7 9 12 14 13 9 6 6 9 15 24 34 43 51 59 66 74 82 88 92 91 87 83 83 85 91 99 106 108 108 108 109 110 111 112 111 111 114 116 116 113 111 110 111 113 115 117 117 116 113 111 111 112 114 115 112 108 108 110 114 116 114 111 112 112 103 94 106 108 83 66 69 87 106 113 102 90 90 99 111 134 142 145 142 133 118 112 110 106 96 84 76 76 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 2 6 1 0 0 0 0 1 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 1 7 6 2 0 0 0 4 9 9 5 2 2 3 6 11 19 29 32 22 10 3 4 9 9 4 1 2 5 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 1 3 6 10 14 14 7 1 0 0 0 3 6 5 2 0 0 0 0 0 0 1 4 6 5 2 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 2 4 6 5 2 0 0 2 6 10 11 8 4 1 0 0 0 0 0 0 0 0 0 0 1 3 8 8 2 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 4 8 14 17 15 10 6 4 4 6 13 20 28 36 44 53 62 70 78 83 84 82 79 77 78 83 90 96 102 106 108 110 111 111 111 110 108 107 108 111 110 109 106 106 109 115 120 121 120 116 111 108 107 107 107 106 106 107 110 115 120 122 122 122 123 124 123 125 104 70 52 56 70 83 85 82 85 95 109 119 136 143 142 137 133 137 142 143 140 129 112 94 83 79 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 1 0 0 0 0 0 1 1 0 0 0 0 1 2 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 3 8 7 3 0 0 0 4 10 9 4 1 0 2 6 11 16 24 30 24 11 3 0 1 5 1 0 0 2 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 2 7 14 18 15 6 0 0 0 0 5 4 0 0 0 1 1 0 0 1 2 4 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7 11 8 1 0 1 4 8 12 11 8 5 2 0 0 0 0 2 5 5 2 0 0 0 3 9 12 4 1 0 0 2 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 7 12 16 15 12 10 7 5 4 6 9 15 21 28 35 45 55 64 72 78 79 79 76 75 76 80 87 95 101 106 108 110 111 112 111 108 104 103 106 108 107 105 102 103 109 115 118 117 113 108 104 102 101 99 97 97 99 103 110 118 125 126 125 125 126 126 121 98 78 71 73 70 62 54 50 55 75 107 120 129 133 129 122 121 135 150 158 158 152 147 123 102 89 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 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 1 4 9 10 3 0 0 0 3 12 10 5 1 0 2 8 12 16 20 25 25 14 4 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 3 10 18 18 10 2 0 0 0 3 3 1 0 0 1 4 4 2 1 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 9 13 9 0 0 1 5 11 14 11 6 3 1 0 0 2 4 7 10 10 7 1 0 0 4 10 14 7 1 0 0 1 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 7 9 10 10 9 8 7 4 3 4 6 9 13 19 28 38 50 60 69 75 79 79 78 76 76 79 87 96 102 106 108 111 114 113 110 106 104 105 106 105 104 101 101 104 107 110 109 106 103 101 98 96 93 90 89 90 94 102 113 121 122 120 118 117 114 104 91 83 80 76 61 48 42 44 54 69 82 96 108 114 112 105 112 114 107 113 144 162 162 149 127 107 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 4 10 14 2 0 0 0 2 10 14 6 1 0 1 8 14 16 18 21 22 18 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 2 7 13 17 12 5 0 0 0 0 4 2 0 1 5 11 11 8 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 7 6 1 0 0 6 11 12 8 3 0 0 1 2 3 5 8 12 13 9 3 0 0 5 13 16 10 1 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 1 2 3 4 4 4 4 4 2 2 2 3 3 4 8 15 25 36 48 59 68 75 78 79 78 77 77 81 88 96 102 106 110 113 114 114 112 110 110 108 107 104 104 104 104 104 103 102 100 100 99 97 94 90 86 84 84 87 94 103 110 112 110 108 105 102 92 84 78 72 62 49 39 36 39 46 52 59 69 82 91 94 94 108 107 96 100 138 172 166 156 143 128 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 2 10 15 1 0 0 0 2 7 18 6 1 0 1 5 15 18 18 19 20 20 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 2 2 2 1 1 0 1 2 5 10 12 11 5 1 0 0 0 3 5 4 4 5 8 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 1 0 0 5 9 8 3 0 0 0 2 4 7 9 10 10 10 8 4 0 2 7 16 20 13 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 1 1 1 1 1 1 1 2 2 3 3 5 10 17 26 36 48 57 65 70 74 76 76 76 77 82 90 98 102 106 108 111 115 117 117 116 114 112 109 109 109 109 108 105 101 99 99 100 99 97 92 87 83 82 83 88 95 99 101 101 98 94 89 83 76 69 62 53 45 39 38 39 40 42 46 55 64 72 78 85 99 105 102 103 127 154 151 146 143 141 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 6 8 2 0 0 0 0 7 16 7 1 0 0 5 14 18 17 18 19 20 18 12 3 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 1 3 5 6 5 4 3 3 4 7 8 9 7 3 1 0 0 0 3 7 6 4 3 3 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 1 5 9 7 3 0 0 0 4 7 10 11 11 10 7 4 2 0 2 8 18 22 18 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 1 2 2 3 4 6 9 14 20 27 36 44 51 58 64 69 70 71 72 76 83 92 97 100 102 106 111 116 118 119 118 117 116 115 115 114 113 111 106 104 104 104 104 101 96 90 85 82 82 85 90 92 94 94 93 90 84 76 69 63 58 54 50 47 44 40 34 31 34 42 51 59 63 67 77 87 97 108 121 131 124 119 124 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 10 11 2 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 2 0 0 0 0 7 12 7 1 0 0 5 13 17 15 15 18 21 21 16 8 2 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 2 5 7 8 8 8 8 8 9 9 7 4 0 0 0 0 0 2 7 7 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 1 7 8 4 1 0 0 4 7 9 9 9 8 5 2 0 1 3 9 16 23 20 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 1 2 3 4 4 5 8 12 15 19 25 30 36 43 50 57 61 64 67 70 76 85 92 96 98 99 102 106 110 114 116 117 119 119 118 117 116 114 111 108 108 108 107 104 99 94 89 85 83 85 87 87 88 89 90 90 88 82 73 65 60 58 57 56 51 42 30 23 24 29 36 42 48 49 50 58 74 94 102 101 92 90 100 113 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 8 14 10 0 0 0 2 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 2 7 9 6 1 0 0 6 12 16 14 14 16 20 21 18 12 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 0 0 1 4 6 8 9 10 10 10 9 7 4 0 0 0 0 0 2 5 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 5 4 4 4 4 5 6 7 6 5 2 1 0 2 5 11 16 20 18 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 0 1 1 2 3 3 3 4 5 7 11 14 17 20 24 30 36 44 50 56 60 64 69 77 86 93 96 95 94 95 98 102 106 110 114 116 116 115 114 114 113 111 109 108 106 104 100 96 92 88 85 84 85 85 86 87 88 92 96 96 92 84 72 69 67 64 60 50 36 26 23 25 29 33 36 38 39 40 45 54 61 64 64 67 78 93 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 7 16 15 3 0 0 1 3 4 0 0 0 2 2 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 1 5 8 7 4 1 0 0 7 13 15 15 14 16 20 21 19 13 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 0 1 3 4 6 7 8 8 7 4 2 0 0 0 1 2 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 1 3 6 8 7 4 2 3 4 3 1 0 0 3 7 12 16 18 16 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 1 2 2 2 2 1 1 1 1 2 2 2 3 3 5 8 11 14 16 19 22 28 34 41 48 54 59 63 70 79 88 93 92 89 89 90 93 95 99 103 106 108 108 108 110 110 111 110 109 107 103 99 96 92 89 85 83 83 84 86 88 89 94 100 103 104 105 102 93 81 74 72 66 54 43 36 34 35 36 36 37 37 36 36 36 37 39 44 53 64 79 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 4 1 0 0 6 19 20 9 0 0 0 4 4 0 0 0 3 4 2 0 0 6 8 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 2 6 10 8 3 0 0 2 8 14 16 15 15 17 21 22 20 14 7 1 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 1 2 3 3 3 2 2 2 2 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 7 8 6 1 0 1 1 1 0 0 2 6 11 14 16 15 10 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 1 1 2 1 1 0 0 0 1 1 2 2 3 4 7 11 14 17 19 22 26 31 36 42 48 53 57 63 70 79 86 88 87 86 87 88 89 90 91 93 95 97 98 100 103 106 108 107 105 102 99 95 92 88 84 83 83 85 88 91 92 94 98 100 100 106 122 123 106 86 85 85 76 66 57 51 49 47 45 43 41 38 34 31 30 32 37 45 56 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 1 4 11 14 10 4 0 0 3 22 27 16 2 0 0 6 6 3 0 0 2 6 4 0 1 7 14 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 1 5 11 8 2 0 1 4 10 16 16 16 16 19 22 22 19 14 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 1 1 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 5 2 0 0 0 0 0 0 0 4 9 12 14 14 11 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 4 6 10 14 18 21 24 28 32 36 41 45 48 52 56 62 68 76 80 82 84 86 87 87 87 86 85 85 85 86 89 93 98 101 102 102 100 97 93 89 85 83 82 84 86 89 92 92 93 93 92 88 91 118 132 121 99 94 96 92 84 75 69 65 62 58 53 48 42 36 32 29 29 32 38 46 56 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 5 8 10 6 1 0 0 3 11 24 24 11 2 0 2 14 32 22 8 0 1 6 12 6 1 0 0 7 6 3 0 4 13 14 8 3 0 1 3 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 9 6 0 0 0 4 10 18 18 16 17 20 23 23 18 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 3 1 0 0 1 0 0 0 0 1 6 10 12 12 12 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 1 2 3 5 8 13 17 21 25 29 33 37 41 44 46 48 50 54 59 64 70 75 79 83 86 88 88 88 86 84 82 82 83 87 91 94 96 96 95 92 88 83 80 79 80 82 85 88 89 89 89 88 86 79 81 108 128 125 104 95 93 90 86 82 78 76 74 69 62 54 46 41 36 33 31 32 36 44 53 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 6 5 6 12 18 19 11 2 0 0 6 19 36 31 11 1 0 3 23 29 14 2 0 3 14 12 4 0 1 3 8 4 1 1 5 12 8 3 1 2 5 8 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 1 1 0 0 0 2 4 4 0 0 0 2 9 16 18 16 17 22 25 24 18 11 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 1 0 0 0 0 4 8 11 11 11 8 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 8 12 17 22 26 30 34 38 42 44 45 46 48 51 55 60 66 71 78 83 88 90 91 90 88 86 86 87 89 90 90 91 91 90 86 81 76 73 73 75 77 79 82 82 82 83 84 84 77 86 104 118 118 104 92 84 80 78 76 77 79 81 77 68 57 48 44 41 38 36 36 38 44 53 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 7 8 7 11 20 27 28 18 2 0 0 9 29 48 37 12 0 0 4 23 21 8 0 1 5 15 8 2 1 3 6 5 1 0 2 5 6 2 1 2 5 8 11 11 8 5 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 0 0 0 0 1 1 0 0 0 0 6 13 16 16 19 24 27 26 20 11 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 1 1 2 2 2 2 1 0 0 0 0 2 2 1 0 0 1 7 11 12 11 8 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 9 14 18 22 26 30 34 37 39 41 42 44 47 51 55 61 67 74 80 84 86 87 87 87 88 90 90 90 90 90 88 86 81 74 70 68 67 68 69 71 74 75 76 78 80 81 83 97 104 108 109 100 87 78 73 72 72 73 77 80 77 69 60 52 47 44 42 41 41 43 48 56 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 3 6 8 8 10 18 28 36 36 23 3 0 2 14 39 60 40 12 0 0 4 21 17 6 1 2 6 8 5 3 3 5 4 0 0 1 2 4 1 0 1 3 6 8 10 10 10 8 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 1 0 0 0 0 0 0 0 0 0 5 10 14 16 18 24 28 28 22 12 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 1 3 4 4 4 2 1 0 0 0 0 2 4 5 4 4 5 8 11 13 12 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 1 2 5 8 12 16 19 22 26 29 31 34 35 37 39 42 46 50 56 62 66 70 72 75 77 78 79 80 80 82 83 83 80 75 70 65 63 62 61 62 64 66 69 71 74 77 81 88 96 104 108 105 94 83 76 73 72 72 73 75 74 72 69 65 61 55 50 47 47 46 49 54 60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 0 0 2 4 5 6 8 14 25 36 44 43 28 4 0 3 20 49 65 36 10 0 2 9 25 20 10 4 2 2 3 6 9 8 4 0 0 0 3 4 1 0 1 4 5 5 4 4 6 8 8 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 4 2 0 0 0 0 0 0 0 0 0 2 8 12 14 17 21 26 27 22 14 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 4 5 6 5 3 0 0 0 0 0 2 6 9 10 10 10 11 12 12 11 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 1 2 4 6 8 11 14 16 19 22 23 24 25 26 27 29 32 35 39 44 48 52 56 58 60 61 63 66 68 68 67 66 63 59 57 56 56 57 58 61 65 68 71 75 80 88 94 98 100 99 89 81 77 76 77 78 79 77 72 68 70 75 77 72 66 61 57 53 54 59 66 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 3 4 4 4 4 5 10 21 32 40 45 43 30 6 1 7 28 58 60 18 3 0 6 20 29 18 9 3 0 0 3 9 9 5 0 0 0 4 5 3 0 0 4 7 5 1 0 0 1 4 7 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 4 1 0 0 0 0 0 0 0 0 0 0 5 10 13 16 19 24 24 21 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 3 5 6 5 3 0 0 0 0 1 2 6 11 14 14 14 13 12 10 8 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 5 6 8 10 12 12 12 11 11 11 11 12 15 19 24 28 31 35 38 41 44 47 51 52 53 52 51 51 51 51 53 54 56 59 63 66 70 74 80 89 94 95 92 87 82 78 77 79 83 85 86 83 77 72 75 85 94 98 97 90 74 62 58 62 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 2 4 5 3 2 3 6 12 25 34 40 41 37 27 8 4 16 40 60 41 8 1 3 12 26 19 7 2 2 3 3 5 5 3 1 0 0 0 4 3 0 0 0 6 5 2 0 0 0 0 3 4 2 0 0 0 0 0 0 0 0 0 0 1 0 0 1 2 4 6 4 0 0 0 0 0 0 0 0 0 0 0 2 8 12 15 18 22 23 19 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 4 3 2 0 0 0 0 1 3 6 10 14 15 15 13 11 8 5 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 3 3 3 3 2 2 2 2 4 6 7 9 13 17 20 24 28 32 35 37 38 39 40 42 44 47 50 53 55 58 61 65 70 75 82 89 93 92 87 81 76 75 77 82 87 91 92 90 85 78 81 90 100 107 113 115 94 72 61 61 68 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 4 2 1 3 8 17 28 33 35 34 31 22 11 19 38 55 55 19 3 0 10 22 22 6 2 2 5 7 5 2 1 0 0 0 0 0 2 1 0 0 1 2 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 3 5 1 0 6 13 15 9 0 0 0 0 0 0 0 0 0 0 0 2 6 11 14 17 20 20 17 12 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 1 1 1 0 0 0 0 1 2 5 7 11 12 12 10 8 5 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 7 9 12 15 19 23 25 27 28 29 32 35 40 44 48 52 55 57 60 65 71 78 84 88 90 88 85 80 77 78 81 87 92 95 97 95 91 87 88 94 96 92 84 92 92 75 60 55 61 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 2 1 1 3 10 19 28 29 30 29 26 19 19 41 66 72 47 5 1 6 21 28 12 1 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 6 10 9 4 7 18 23 16 3 0 0 0 0 0 0 0 0 0 0 2 6 10 14 17 18 18 14 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 1 2 4 6 6 6 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 9 12 14 16 19 21 22 23 24 25 28 32 37 42 48 52 55 57 61 67 76 83 88 89 89 87 85 83 83 86 90 95 98 99 99 97 96 97 98 100 94 77 55 58 72 64 52 47 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 5 11 19 25 25 25 24 22 20 32 66 93 85 40 0 0 17 31 28 3 0 3 12 14 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 3 10 13 10 6 12 21 16 6 0 0 0 0 0 0 0 0 0 0 2 6 11 15 18 18 15 11 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 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 10 15 20 23 24 25 25 25 26 27 30 34 39 44 49 54 58 62 67 75 84 90 93 93 92 90 88 90 93 97 100 102 102 99 96 96 98 104 108 107 98 81 65 61 62 53 45 47 58 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 12 17 21 21 21 18 17 22 46 84 106 88 33 0 2 26 35 21 0 0 10 20 16 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 6 11 11 8 8 14 13 7 1 0 0 3 1 0 0 0 0 0 3 7 11 15 18 17 14 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 18 24 28 30 31 32 32 34 37 40 44 48 53 57 61 66 73 81 88 91 92 93 92 93 94 96 99 101 101 98 93 87 83 82 86 96 101 102 99 96 94 81 66 54 52 59 72 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 7 11 15 17 18 16 12 12 23 56 88 98 74 26 0 7 30 29 10 0 1 20 24 13 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 6 6 6 8 10 5 2 1 4 11 9 3 0 0 0 2 5 8 12 16 18 17 12 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 16 23 28 33 36 38 41 44 46 49 51 54 57 61 65 70 74 75 75 75 77 81 86 88 90 90 88 82 74 67 62 59 59 61 66 70 76 83 90 90 78 67 64 68 74 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 9 12 14 14 10 6 9 22 54 74 72 48 16 1 11 22 15 0 0 4 23 17 5 0 0 1 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 1 1 2 4 7 4 1 0 5 16 25 11 3 0 0 1 6 11 15 16 17 15 10 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 9 14 19 25 31 36 40 44 45 46 46 48 49 52 53 52 50 46 45 46 50 55 58 59 56 52 46 40 37 35 35 36 38 40 42 45 49 51 47 46 54 66 75 77 82 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 6 8 9 7 3 1 5 17 38 46 36 20 6 5 13 11 5 0 1 8 14 7 0 0 0 8 12 8 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 4 0 0 3 14 30 30 9 2 0 0 2 10 16 18 16 12 7 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 11 13 17 21 24 26 27 27 27 28 27 26 23 20 19 20 22 25 27 26 23 20 18 17 17 18 20 21 22 22 22 21 21 21 21 25 36 49 58 58 60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 2 2 1 0 2 9 17 16 10 4 2 8 11 5 1 0 2 7 4 1 0 2 8 20 18 8 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 10 25 35 25 6 1 0 1 5 13 17 15 10 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 7 6 6 6 6 6 5 5 5 5 6 6 6 6 6 6 6 8 9 11 13 13 13 13 12 11 10 10 10 12 16 23 25 25 28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 3 1 0 1 6 8 3 0 2 4 2 1 0 0 3 13 19 13 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 12 24 27 19 5 1 0 3 9 15 14 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 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 2 3 5 7 8 9 9 9 8 7 6 6 7 8 9 9 9 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 1 2 3 0 0 0 0 2 8 8 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 2 7 15 18 13 3 0 2 7 13 10 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 7 8 8 7 6 5 4 5 3 3 3 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 1 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 3 7 9 5 1 2 6 10 7 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 7 8 8 6 4 4 4 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 1 2 6 9 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 6 4 4 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 10 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 5 4 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 8 11 9 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 9 13 10 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 13 17 12 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 19 21 14 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 0 0 0 9 17 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 12 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 6 5 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 26 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 14 14 14 14 14 15 15 15 nan nan nan nan 15 15 15 nan nan nan nan 15 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 4 4 4 4 4 4 5 5 5 5 5 5 6 6 7 7 6 6 6 6 7 7 7 7 7 8 8 8 8 8 8 8 9 9 9 9 9 9 9 8 9 9 8 8 8 8 8 8 8 7 7 7 6 7 7 7 8 8 8 8 9 9 10 11 11 11 11 11 11 11 12 12 12 12 12 12 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 14 14 15 15 14 14 14 nan nan nan nan nan nan nan nan nan 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 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 4 4 4 4 4 4 5 5 5 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 9 9 9 9 9 9 8 8 9 9 9 9 9 9 9 8 8 8 8 8 8 7 7 7 7 7 7 7 7 7 7 7 8 9 10 10 10 10 10 10 10 11 11 12 13 13 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 12 12 12 12 12 12 12 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 15 15 15 15 15 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 16 17 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 14 nan nan nan nan nan 12 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 3 3 3 3 3 4 4 4 4 4 4 5 6 6 6 7 7 8 8 8 8 8 7 7 7 7 7 7 7 7 8 9 9 9 9 9 8 8 8 8 8 9 8 9 9 9 9 8 8 8 8 8 8 8 8 7 7 6 6 6 6 6 7 7 8 9 8 9 9 10 10 10 10 11 11 12 13 13 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 12 12 12 12 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 16 16 16 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 17 17 nan nan nan nan nan nan nan nan nan nan 17 17 17 nan nan nan nan 16 16 16 16 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 nan 15 15 15 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 3 3 3 3 3 3 3 3 4 4 5 5 6 6 7 7 8 8 8 8 8 8 8 8 8 7 7 7 7 8 8 9 9 9 9 9 8 8 8 8 8 8 8 9 9 9 9 8 8 8 8 8 8 8 8 7 6 6 6 5 6 6 7 7 8 7 7 7 8 9 10 10 10 10 11 12 13 13 13 12 12 12 12 12 12 12 12 13 13 13 13 13 14 14 13 13 13 13 13 13 13 12 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 16 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 16 17 17 nan nan nan nan nan 17 17 17 nan 17 17 17 17 17 17 16 16 16 17 17 nan nan nan nan nan nan nan 17 17 17 nan nan nan nan nan nan nan nan nan nan 15 16 16 16 nan nan nan nan 16 17 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 4 4 4 5 5 5 6 7 7 8 8 8 9 9 9 9 8 8 8 8 8 8 8 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 6 6 5 5 6 6 7 7 7 7 7 8 9 9 9 9 9 9 11 12 13 12 12 12 12 12 12 12 12 12 13 13 13 13 14 14 14 14 14 14 13 13 13 13 13 13 13 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 17 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 16 17 17 17 nan nan nan nan nan 17 17 17 17 nan 17 18 18 18 nan nan nan nan 17 nan nan nan nan nan nan nan nan nan 17 17 17 nan nan nan nan nan nan nan nan nan 17 17 17 17 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 4 3 3 3 3 3 4 4 4 4 5 5 6 6 7 7 8 8 8 9 9 9 9 9 8 8 8 8 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 6 6 6 6 6 7 7 7 7 7 8 8 9 9 9 8 9 10 11 11 12 12 12 12 12 12 12 12 12 12 13 13 13 13 14 14 14 14 14 14 14 13 13 13 13 13 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 nan nan nan 16 16 17 17 17 nan nan nan nan nan 17 17 17 17 17 17 17 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 4 4 3 3 3 3 4 4 4 4 5 5 5 6 6 7 7 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7 7 6 6 7 7 7 7 7 8 8 8 9 9 9 8 8 9 9 9 10 11 12 12 12 11 11 11 11 12 12 13 13 14 14 14 14 15 15 14 14 14 14 13 13 13 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 17 17 nan nan 17 17 17 17 17 nan nan nan nan nan 17 17 17 17 17 17 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 19 19 19 19 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 4 4 4 4 4 4 5 5 5 6 7 7 8 8 9 9 9 9 9 9 9 9 9 10 10 10 10 9 9 9 9 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 7 7 6 7 8 9 10 11 11 11 11 10 10 11 12 13 13 14 13 14 14 15 15 15 15 14 14 14 14 13 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 17 17 17 17 17 17 nan nan nan 17 17 17 17 17 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 19 19 19 19 19 20 nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan 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 4 4 4 4 4 4 4 5 5 6 7 8 8 9 9 9 10 10 10 10 10 10 10 10 10 10 10 9 9 9 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 7 6 6 5 5 7 8 9 9 9 10 10 9 9 10 12 15 15 14 14 13 13 14 14 15 15 15 14 14 14 14 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 17 17 17 17 17 17 17 17 18 18 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 19 19 19 20 20 20 nan nan nan nan nan nan nan nan nan 19 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 3 3 3 4 4 4 4 4 3 3 3 3 4 4 5 6 7 7 8 8 9 9 10 10 10 10 10 10 10 10 10 10 10 9 9 8 8 8 8 8 8 8 8 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 7 7 6 6 6 7 8 8 8 7 6 7 8 9 8 7 8 12 19 19 15 14 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 18 17 nan 17 18 nan nan nan nan 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 20 20 21 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan 3 4 4 5 6 6 7 8 8 9 9 10 10 10 10 10 9 10 10 10 10 9 9 8 8 8 8 8 8 8 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 7 7 7 6 6 6 7 8 9 9 8 6 5 5 6 7 7 6 7 8 11 16 13 12 11 11 11 11 12 12 13 13 14 14 14 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 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 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 4 4 4 3 nan nan nan nan 3 4 4 5 5 6 7 7 8 9 9 10 10 10 10 9 9 9 10 10 9 9 8 8 8 8 8 8 8 7 7 7 7 7 7 7 7 7 7 6 6 6 6 7 7 7 7 7 7 7 6 6 6 6 7 8 8 8 7 6 6 6 6 6 6 5 5 6 8 11 11 10 10 10 9 9 10 11 12 12 13 14 14 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 nan nan nan nan nan nan 18 18 18 18 19 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 21 21 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 nan nan nan nan nan nan 19 19 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 4 4 4 3 nan nan nan nan nan nan 4 4 5 5 6 7 7 8 9 9 10 10 10 10 9 9 9 9 9 9 9 8 8 8 8 8 8 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 7 7 6 6 6 6 6 6 6 6 6 7 6 6 6 6 6 6 6 5 5 4 5 6 8 8 8 8 8 8 8 10 12 12 12 12 13 13 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 19 19 nan nan nan nan nan 19 19 19 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 21 21 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 nan nan nan nan nan 19 19 20 nan nan nan nan nan nan nan nan 18 18 nan nan nan nan nan 17 17 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 4 4 5 6 6 7 8 9 9 10 10 10 10 10 9 9 9 9 9 9 8 8 8 8 8 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 6 5 5 5 5 6 5 5 5 4 4 4 5 6 6 6 6 6 6 6 7 11 16 15 12 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan 19 19 nan nan nan nan nan 19 19 19 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 22 22 22 nan nan nan nan nan nan nan nan nan nan 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 20 20 nan nan nan nan nan nan nan nan nan 19 20 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 nan 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 7 8 9 10 10 10 10 10 10 10 9 9 9 9 8 8 8 8 8 8 7 7 7 7 6 6 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 4 4 4 4 5 5 5 5 5 5 4 4 3 3 10 15 12 11 11 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 20 20 nan nan nan nan nan nan 20 nan nan nan nan nan 19 20 19 19 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 22 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 21 21 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 4 4 5 5 6 7 8 9 10 10 10 10 10 10 10 10 9 9 9 8 8 8 8 8 8 7 7 7 7 7 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 4 4 4 4 4 5 5 4 4 5 5 4 4 4 4 4 4 4 5 5 5 4 4 4 4 4 5 6 9 10 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 20 nan nan nan nan nan 20 20 20 20 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 22 22 nan nan nan nan nan nan nan 20 20 21 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 4 4 4 5 6 7 8 9 9 10 10 10 10 10 10 9 9 9 9 8 8 8 8 8 8 7 7 7 7 7 7 6 6 6 6 6 6 6 6 5 5 5 5 4 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 6 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 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 20 nan nan nan nan nan 20 20 20 20 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 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 4 4 4 4 5 5 6 7 8 9 9 9 10 10 10 10 9 9 9 8 8 8 8 8 8 8 8 7 7 7 7 7 7 6 6 6 6 5 5 5 5 5 5 5 5 5 4 4 5 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 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 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 20 20 20 20 20 20 20 21 21 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 4 4 4 4 4 5 5 6 7 8 8 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 7 7 7 7 7 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 5 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 18 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 21 21 21 20 20 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 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 4 4 4 4 4 4 4 5 6 7 8 8 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 7 7 7 7 6 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 5 5 6 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 18 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 21 21 21 21 21 21 21 21 21 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 6 5 4 4 4 4 4 4 5 5 6 7 8 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 7 7 7 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 6 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 18 18 nan nan nan nan nan 18 18 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 21 nan nan nan nan nan nan 21 21 21 21 21 21 21 21 21 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 11 10 8 7 5 5 4 4 4 4 5 6 7 8 8 9 9 9 8 8 8 8 8 8 8 8 8 8 7 7 7 7 7 6 6 6 6 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 6 6 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 17 nan nan nan nan nan 17 18 18 18 nan nan nan 18 18 19 nan nan nan nan 19 nan nan nan nan nan nan nan nan nan 19 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 21 21 21 21 21 21 21 21 21 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 14 12 10 9 7 6 4 4 4 5 6 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 7 6 6 6 6 6 5 5 5 4 4 4 4 4 4 4 4 4 4 5 6 6 6 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 16 17 18 nan nan nan nan 17 18 18 18 nan nan nan 18 18 19 nan nan nan 19 19 nan nan nan nan nan nan nan nan nan 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 22 22 22 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 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 19 18 16 14 13 11 10 7 4 3 4 5 6 7 7 7 7 7 8 8 8 8 7 7 7 7 7 7 7 7 7 7 7 7 6 6 6 5 5 5 4 4 4 4 4 4 4 4 4 4 4 6 6 6 5 5 5 5 5 4 4 4 4 4 4 4 5 5 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan 14 14 15 16 17 nan nan nan nan 17 18 18 18 nan nan nan 18 18 nan nan nan nan 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 22 22 22 22 22 21 22 22 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 20 19 18 17 16 14 12 9 5 3 4 5 5 5 5 6 6 7 7 7 7 6 6 6 6 6 6 7 7 7 7 7 7 7 6 6 5 5 5 4 4 4 4 4 4 4 4 4 4 5 6 6 5 5 5 5 5 4 4 4 5 5 5 5 5 5 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan 14 14 15 16 17 nan nan nan 17 17 18 18 18 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 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 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 nan nan nan 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 21 21 20 20 18 16 14 13 13 13 11 7 4 3 2 3 3 4 4 5 5 5 5 5 5 5 6 6 7 7 7 7 6 6 5 5 5 4 4 4 4 4 4 4 4 4 5 5 6 6 5 5 5 5 5 4 4 4 5 5 5 5 5 5 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 nan nan nan nan nan nan nan nan nan nan nan nan nan 15 15 14 14 15 16 nan nan nan 17 17 18 18 18 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 nan nan nan nan nan nan 22 22 22 22 22 22 22 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 22 21 21 20 20 20 20 20 19 19 18 15 11 8 5 4 3 4 4 4 4 4 5 5 6 6 6 7 6 6 5 5 5 5 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 4 4 4 4 5 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 nan nan nan nan nan nan nan nan nan nan nan nan nan 15 15 15 15 15 15 nan nan nan 17 18 18 18 nan nan nan 17 18 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 24 24 24 25 25 25 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 22 22 23 23 23 23 22 21 20 19 16 13 10 7 5 4 4 4 4 5 5 6 6 6 6 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 5 5 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 nan nan nan nan nan nan nan nan nan nan nan nan 16 16 15 15 15 15 15 nan nan 17 18 18 18 nan nan nan 17 18 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 25 25 25 25 25 25 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 11 8 5 4 4 5 6 6 6 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 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 nan nan nan nan nan nan nan nan nan nan nan nan 16 16 16 16 15 15 15 14 15 17 18 19 18 nan nan 17 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 21 21 nan nan nan nan nan nan nan nan nan nan 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 25 25 25 25 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 15 4 5 8 8 7 6 5 5 5 5 5 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 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 nan nan nan nan nan nan nan nan nan nan nan nan 16 16 16 16 16 15 15 14 15 16 18 18 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 20 nan nan nan 21 21 22 nan nan nan nan nan nan nan nan nan nan nan nan nan 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 23 23 24 25 26 25 19 10 9 4 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 5 5 4 5 5 4 4 4 4 5 5 5 5 5 4 4 4 5 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 nan nan nan nan nan nan nan nan nan nan nan 16 16 16 16 16 16 15 14 14 14 16 17 18 nan nan 17 18 18 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 nan nan nan nan nan nan nan nan 21 21 nan nan 21 21 22 nan nan nan nan nan nan nan nan nan 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 23 23 24 24 25 25 26 26 26 26 11 7 7 6 5 4 5 5 5 5 5 5 6 6 6 5 5 5 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 5 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 nan nan nan nan nan nan nan nan nan nan nan 16 16 16 16 16 16 15 15 14 14 15 16 17 nan nan 17 18 18 nan nan 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 21 21 nan nan 21 22 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 25 25 25 25 25 25 25 25 23 18 12 12 11 10 9 8 8 9 9 8 8 6 5 5 4 4 5 5 5 5 5 4 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 nan nan nan nan nan nan nan nan nan nan nan 16 16 16 17 16 16 16 15 15 15 15 16 17 nan nan 18 18 nan nan nan 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 22 nan nan nan nan 23 nan nan nan nan nan nan nan nan 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 24 25 25 25 25 25 25 25 25 25 25 24 23 20 18 16 15 15 15 14 13 12 10 8 7 6 6 6 6 6 6 6 6 6 5 5 5 5 4 5 5 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 nan nan nan nan nan nan nan nan nan nan nan nan 17 17 17 nan nan nan 15 16 16 16 16 16 nan 17 18 18 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 22 23 23 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 25 25 25 25 25 25 25 25 25 24 24 24 23 22 21 20 19 19 18 17 16 15 14 13 12 11 10 9 8 8 7 7 7 7 7 7 7 6 6 6 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 16 17 17 17 nan nan 17 18 nan nan nan nan 18 nan nan nan nan 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 nan nan nan nan nan nan 22 22 23 nan nan nan nan nan nan 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 25 25 25 25 25 25 25 24 24 24 24 23 22 22 21 21 20 20 20 20 20 19 17 15 13 11 10 9 9 9 9 9 9 9 8 7 6 6 6 6 6 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 17 17 nan nan nan nan 18 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 nan nan nan nan nan nan nan nan nan nan nan nan 22 23 23 nan nan nan nan nan 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 14 13 12 11 10 10 10 10 nan 9 8 7 6 6 6 6 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 22 23 23 23 nan nan nan nan nan 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 23 23 23 nan nan nan nan 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 25 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 81 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 343 342 342 341 342 342 343 nan nan nan nan 342 342 342 nan nan nan nan 339 341 341 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 238 231 207 182 160 153 152 154 159 161 159 155 151 148 148 148 147 146 142 138 136 135 137 139 139 139 139 139 137 135 135 133 129 126 125 125 125 123 123 123 122 122 120 119 121 122 122 123 123 125 126 128 128 128 129 130 132 136 140 142 140 135 131 127 127 123 119 115 114 112 111 110 111 111 111 109 106 104 103 103 105 105 106 107 107 107 108 108 108 107 107 107 106 106 106 106 106 106 107 107 107 107 108 107 107 106 106 105 105 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 344 344 343 343 342 342 nan nan nan nan nan nan nan nan nan nan nan nan nan 340 342 342 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 325 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 251 232 201 177 163 159 159 161 164 164 163 156 151 145 144 142 140 137 134 131 130 131 133 135 136 137 137 136 135 134 132 129 125 123 123 122 122 122 122 124 124 123 121 121 121 121 121 121 122 124 126 126 127 127 128 129 132 136 141 143 141 135 129 127 127 125 121 118 116 114 112 112 112 113 112 109 105 102 100 101 103 105 106 107 107 107 107 107 106 106 105 105 104 104 104 104 104 104 105 106 106 106 106 106 105 105 105 105 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 345 344 344 344 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 342 343 344 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 329 nan nan nan nan nan 322 325 326 327 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 227 204 187 177 173 169 168 169 168 163 154 146 142 139 135 133 130 127 124 125 127 129 130 131 132 134 134 134 134 132 129 123 121 121 121 122 122 124 126 126 125 123 122 121 120 120 120 122 124 125 126 125 125 126 128 132 137 142 144 143 136 131 128 128 128 127 125 122 118 115 114 114 114 113 109 103 98 98 100 103 105 106 107 106 106 106 106 105 104 104 103 103 102 101 101 102 102 103 104 104 105 105 105 104 104 104 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 345 346 346 346 346 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 343 344 345 nan nan nan nan nan nan nan nan nan nan 340 340 339 nan nan nan nan 337 336 336 336 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 330 332 nan nan nan nan nan 329 330 330 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 233 223 211 199 189 179 177 173 166 160 151 145 141 135 132 128 125 123 122 122 124 124 125 126 127 130 131 132 132 129 125 121 120 119 120 121 123 126 127 126 124 122 121 120 120 120 121 123 124 124 124 123 125 127 129 134 138 145 148 146 140 134 131 131 131 130 131 128 123 119 116 116 117 114 107 99 97 99 101 103 104 106 106 106 106 105 104 104 103 102 101 101 100 99 99 100 101 102 102 102 103 103 103 103 103 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 346 347 347 347 347 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 342 343 344 345 nan nan nan nan nan 341 342 342 nan 341 341 341 341 340 338 338 337 337 338 338 nan nan nan nan nan nan nan 336 336 337 nan nan nan nan nan nan nan nan nan nan 332 333 334 334 nan nan nan nan 333 335 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 245 239 228 218 204 188 177 169 164 158 151 146 141 136 132 128 124 123 122 121 121 120 120 121 123 126 127 129 127 124 121 119 118 118 120 121 123 124 124 122 122 121 121 121 121 121 122 123 123 123 123 125 127 129 132 136 141 146 149 146 140 136 134 132 132 131 130 127 123 120 119 120 119 115 105 100 101 101 102 103 105 106 106 106 105 104 104 103 102 101 99 99 98 98 98 98 99 100 101 102 102 102 102 102 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 342 343 344 345 345 nan nan nan nan nan 341 342 342 341 nan 342 342 342 341 nan nan nan nan 339 nan nan nan nan nan nan nan nan nan 337 337 338 nan nan nan nan nan nan nan nan nan 335 336 337 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 nan nan nan nan nan 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 243 230 206 186 175 167 164 157 152 147 143 137 133 129 127 125 124 122 120 118 118 118 120 122 124 123 122 121 119 118 117 118 119 121 123 124 123 122 122 122 122 122 122 122 121 121 122 123 124 128 130 132 133 136 139 143 143 140 136 134 131 131 130 129 128 125 123 121 120 120 118 112 107 105 104 104 103 105 106 107 106 106 105 104 103 102 101 99 98 97 96 96 96 97 98 100 100 101 100 101 100 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 345 nan nan nan 343 343 344 345 345 nan nan nan nan nan 341 342 342 341 341 342 342 nan nan nan nan 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 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 nan nan nan nan nan 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 242 222 198 181 173 169 164 159 155 151 147 142 139 135 132 130 127 123 119 117 117 117 117 119 119 120 119 118 117 116 116 117 118 120 121 122 122 122 123 123 123 123 122 121 121 121 123 124 127 130 131 132 132 133 134 135 135 133 130 129 129 129 129 128 127 124 123 121 121 121 119 116 112 111 109 107 106 106 107 108 107 106 106 105 103 100 98 97 97 95 94 94 95 96 97 98 99 100 100 100 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 345 345 nan nan 344 344 344 345 345 nan nan nan nan nan 341 342 342 342 342 342 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 341 341 342 342 nan nan nan nan nan nan nan nan nan nan nan 337 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 231 208 191 179 175 167 162 159 157 156 156 153 150 145 140 134 128 124 120 118 117 115 115 115 116 116 116 116 115 114 114 115 116 118 119 120 121 123 124 124 122 122 122 122 122 123 124 126 128 130 130 129 129 129 130 130 128 126 125 126 129 129 130 128 127 125 124 124 124 128 130 129 124 119 113 109 108 107 108 109 109 108 105 102 99 95 96 97 96 94 93 94 94 95 96 97 98 100 100 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 345 345 345 345 345 344 nan nan nan 341 342 343 343 342 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 341 341 341 342 343 344 nan nan nan nan nan nan nan nan nan nan 338 338 339 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 220 203 188 179 169 164 161 161 166 171 175 172 164 152 143 135 129 125 121 120 117 115 114 113 113 113 113 114 114 113 113 114 114 116 117 118 120 122 123 123 122 122 122 123 124 125 126 127 128 129 129 129 128 128 128 126 123 123 125 127 130 131 131 130 128 125 124 124 129 138 143 137 128 123 118 113 110 109 111 112 106 90 81 87 92 95 98 99 96 94 94 94 94 94 95 96 98 99 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 345 344 344 343 342 342 342 343 343 343 nan nan nan 342 343 344 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 341 342 343 343 344 345 nan nan nan nan nan nan nan nan nan 340 341 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 215 197 181 171 162 159 161 169 184 193 195 188 174 158 144 136 130 127 124 122 118 115 112 112 112 112 113 114 113 113 112 113 114 116 118 119 121 121 122 122 122 122 123 124 126 126 127 128 129 129 129 129 129 129 127 125 124 125 127 131 133 133 133 130 127 125 121 118 121 126 130 128 129 132 128 120 114 115 115 101 62 41 66 91 97 100 102 101 99 97 97 95 95 94 94 96 98 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 344 344 344 344 344 343 nan 343 344 nan nan nan nan nan 344 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 343 344 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 156 158 168 nan nan nan nan 195 177 158 146 138 133 129 125 121 118 115 113 112 112 112 114 114 114 112 112 113 115 117 119 121 121 121 120 120 122 123 124 126 127 128 129 130 130 130 131 132 132 131 129 128 128 129 132 134 136 135 133 130 125 120 115 115 119 123 122 126 136 144 141 128 122 119 106 80 60 82 100 105 106 108 107 106 104 102 100 97 95 94 95 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 345 345 345 345 345 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 344 345 347 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan 158 156 164 177 nan nan nan nan 192 173 160 148 141 135 131 126 121 118 115 113 111 111 112 113 114 114 113 113 114 117 119 121 121 121 120 121 122 124 124 126 127 129 130 132 132 132 133 135 136 136 135 134 133 134 136 137 138 138 135 133 129 125 121 122 124 126 125 125 131 139 145 141 134 127 128 132 130 112 114 114 113 113 112 111 109 107 104 101 98 96 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan 346 345 345 346 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 345 347 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 335 nan nan nan nan nan nan 335 335 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 326 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 173 164 168 173 nan nan nan nan nan nan 168 160 151 146 138 131 125 121 117 114 112 110 110 111 113 113 113 113 113 115 117 120 121 121 122 121 123 124 125 127 128 129 131 133 134 135 137 139 140 141 142 141 140 141 142 142 142 141 139 137 135 134 134 134 135 134 133 132 134 140 145 146 144 141 145 151 153 137 130 127 123 120 120 115 104 99 97 98 100 98 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan 349 350 nan nan nan nan nan 347 347 346 346 347 347 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 346 347 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 337 nan nan nan nan nan 335 337 338 nan nan nan nan nan nan nan nan 332 333 nan nan nan nan nan 327 328 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 161 157 148 139 132 125 120 117 112 110 108 109 110 112 112 113 113 114 115 118 119 121 122 122 123 124 125 126 128 129 132 134 136 139 140 142 143 144 145 146 147 146 149 148 148 146 147 144 143 143 145 146 146 144 140 140 143 148 155 157 158 160 165 174 176 161 149 142 137 131 130 128 116 93 76 83 96 100 100 99 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 351 352 nan nan nan nan nan 349 350 nan nan nan nan nan 348 348 347 347 347 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 348 350 351 nan nan nan nan nan nan nan nan nan nan 345 344 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 338 339 nan nan nan nan nan nan nan nan nan 337 337 nan nan nan nan nan 330 332 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 159 149 140 132 125 120 116 111 109 108 108 110 110 111 112 112 113 115 117 119 120 122 122 122 124 125 127 129 131 133 136 139 141 144 145 145 146 148 150 152 154 155 155 156 155 154 154 154 155 153 151 149 147 148 151 157 163 167 169 170 174 176 173 170 163 159 153 146 141 148 173 153 104 82 94 102 104 103 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 351 nan nan nan nan nan 349 348 348 348 348 348 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 nan nan 350 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 341 342 nan nan nan nan nan 334 335 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 165 160 152 142 134 126 119 115 111 108 108 109 109 110 110 111 112 113 115 117 119 120 120 121 121 122 125 127 129 130 133 135 139 142 144 146 146 147 150 152 156 158 161 162 162 160 160 161 163 161 158 155 154 154 158 163 168 173 172 174 174 176 176 175 175 173 171 164 153 161 207 222 154 108 108 109 109 108 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan 349 349 349 349 348 349 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 344 nan nan nan nan nan nan nan 339 339 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 172 167 156 145 134 126 121 115 111 110 109 109 109 109 111 111 112 114 117 118 119 119 119 119 120 122 125 127 128 129 131 134 137 139 142 144 146 149 151 156 159 161 164 165 163 163 163 163 164 162 160 159 159 161 166 169 171 170 172 172 176 179 183 186 188 186 183 172 172 190 204 178 138 124 119 117 116 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 352 nan nan nan nan nan 349 350 350 349 349 349 349 350 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 344 344 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 190 181 172 161 150 141 131 124 118 115 112 111 110 110 110 111 111 113 116 118 119 119 119 118 119 120 122 123 125 126 128 130 133 136 139 143 145 149 153 155 158 162 164 164 162 162 160 160 162 161 159 157 157 159 162 164 164 164 167 170 178 183 190 196 200 201 197 194 190 186 183 172 158 142 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 nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 350 350 350 349 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 347 347 347 348 347 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 204 191 181 172 162 153 142 131 124 119 115 113 111 110 110 110 111 113 117 118 119 119 119 118 117 119 120 123 125 128 129 131 134 139 143 148 153 157 159 161 162 163 162 162 161 160 160 160 160 160 158 159 158 157 156 156 158 161 169 178 187 195 202 208 208 208 208 207 204 197 190 181 166 148 136 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 nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 351 350 350 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 nan nan nan nan nan nan nan nan nan nan nan nan nan 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 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 224 208 197 189 181 170 156 141 131 124 119 115 113 111 110 109 110 114 117 119 119 119 117 117 117 117 120 123 126 129 130 133 136 143 148 152 156 161 162 165 165 166 165 164 164 164 165 165 164 166 168 161 155 151 150 151 157 166 176 188 197 204 209 211 211 211 212 210 206 203 195 181 163 149 140 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 359 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 352 352 351 351 351 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 nan nan 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 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 270 254 238 226 216 204 189 172 153 138 130 123 118 114 111 109 110 112 115 117 119 119 117 116 115 116 117 120 124 126 127 130 133 138 143 147 151 155 161 165 168 169 171 171 171 171 173 173 174 178 185 166 151 145 144 147 155 163 174 185 192 197 202 206 208 209 208 206 204 201 195 184 171 161 151 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan 359 0 1 nan nan nan nan nan nan nan nan nan nan nan nan nan nan 358 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 355 nan nan nan nan nan nan 353 352 352 352 351 351 351 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 303 295 285 273 257 245 229 210 187 162 146 134 126 120 115 113 111 113 114 115 115 116 116 115 115 115 116 117 119 121 124 126 128 133 137 141 144 149 154 161 166 171 176 179 183 181 181 181 183 191 199 175 151 140 139 146 153 160 169 176 181 186 190 194 197 199 198 198 196 194 190 183 173 166 159 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan 360 1 1 1 nan nan nan 359 0 1 nan nan nan nan 1 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 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 353 352 352 352 352 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 nan nan nan nan nan nan nan nan nan nan nan nan 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 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 318 312 306 297 286 274 260 239 205 172 149 136 127 122 117 117 116 116 115 114 114 114 115 116 117 118 117 118 118 120 122 124 128 131 134 137 141 146 155 163 170 178 184 189 189 188 186 190 199 205 185 156 142 139 145 153 158 163 168 171 173 174 178 181 183 184 186 186 186 184 181 175 170 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 353 356 359 1 nan nan nan nan 359 1 1 0 nan nan nan 359 1 1 nan nan nan 1 1 nan nan nan nan nan nan nan nan nan 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 354 354 353 353 352 352 353 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 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 328 324 319 314 308 301 292 275 246 196 156 138 130 127 126 125 122 119 116 114 115 117 119 121 122 122 121 121 120 121 122 123 126 129 131 134 141 149 157 166 173 183 188 191 194 194 197 199 199 189 166 149 142 145 150 155 160 163 163 164 164 166 168 168 171 173 176 178 178 178 176 175 173 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 350 353 357 360 nan nan nan nan 358 0 0 359 nan nan nan 359 1 nan nan nan nan 360 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 nan nan 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 355 354 353 353 353 353 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 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 333 330 326 323 318 313 305 292 266 208 159 144 143 143 140 134 128 123 121 123 126 130 131 132 131 130 128 127 124 122 122 123 126 130 137 144 152 160 167 175 183 191 197 202 201 193 189 183 170 153 144 144 149 153 158 162 163 165 163 163 162 160 162 165 169 172 175 177 178 179 179 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 353 358 nan nan nan 356 358 360 360 358 nan nan nan 358 359 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 355 355 355 354 354 354 354 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 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 nan nan nan nan 337 335 333 330 325 321 317 317 318 314 299 275 243 221 197 168 157 151 149 150 151 151 151 148 144 140 134 128 125 124 124 129 135 143 151 159 164 170 179 190 200 205 202 192 183 172 162 152 146 146 150 155 160 162 167 170 171 168 163 161 161 164 167 170 173 177 181 184 186 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 350 348 348 350 354 nan nan nan 356 358 360 359 357 nan nan nan 358 358 357 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 355 355 355 355 354 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 352 352 352 352 352 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 nan nan nan nan nan nan nan nan 339 336 334 332 331 333 335 336 336 332 322 307 295 282 269 250 225 204 193 183 174 164 156 145 138 132 131 130 132 139 146 153 160 165 173 181 193 200 207 204 192 179 167 158 152 150 155 158 161 161 164 167 173 174 173 168 164 165 168 171 175 175 177 182 187 190 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 348 347 350 nan nan nan 357 359 360 359 nan nan nan 356 357 356 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 355 355 355 356 356 356 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 353 353 353 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 339 340 342 344 344 343 340 335 329 321 312 300 288 275 255 230 200 178 161 150 142 139 138 139 142 145 152 157 165 173 183 190 199 205 209 205 195 181 168 161 159 165 168 169 166 163 161 162 167 171 173 168 167 170 176 179 178 173 175 181 189 197 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 353 352 351 350 349 347 347 nan nan 356 358 359 359 nan nan nan 355 356 356 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 355 355 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 353 353 354 354 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 308 298 288 269 190 156 142 138 138 142 146 150 152 154 161 171 183 195 203 208 210 212 210 203 190 179 174 178 184 186 179 172 165 161 157 157 159 164 164 166 171 179 183 174 168 168 177 188 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 nan nan nan nan nan nan 353 352 352 351 350 348 346 346 349 354 358 359 358 nan nan 354 355 356 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 355 nan nan nan nan nan nan nan nan nan nan nan nan nan nan 355 355 356 356 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 353 354 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 323 316 323 23 48 72 117 138 148 152 153 155 162 175 191 204 212 215 215 215 215 211 205 199 196 199 199 194 186 178 170 163 157 152 151 153 158 162 169 175 177 166 158 162 171 184 195 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 352 352 350 348 345 344 346 351 356 358 nan nan nan 354 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 354 nan nan nan 354 355 357 nan nan nan nan nan nan nan nan nan nan nan nan nan 355 355 356 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 338 341 347 353 1 15 29 46 27 118 150 155 159 168 181 199 211 217 219 220 221 224 225 225 219 215 209 203 196 191 186 183 178 170 160 153 152 157 160 164 164 160 156 157 163 171 179 187 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 353 353 352 351 348 345 342 343 348 353 355 nan nan 353 354 355 nan nan nan 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 355 355 nan nan 354 355 357 nan nan nan nan nan nan nan nan nan nan nan nan nan 355 356 356 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 341 342 344 347 352 356 360 2 4 5 11 6 343 298 235 226 227 230 233 233 234 239 244 247 245 239 228 215 203 198 198 198 201 200 195 188 178 172 171 171 168 163 158 160 166 174 178 179 181 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 353 352 351 348 345 343 343 345 349 351 nan nan 352 354 354 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 355 356 nan nan 355 357 nan nan nan nan nan nan nan nan nan nan nan nan nan 356 356 357 358 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 347 350 353 356 358 360 360 359 355 346 330 326 321 307 290 276 272 272 273 273 271 267 257 243 229 217 213 215 218 223 223 223 219 213 208 202 196 191 183 181 184 190 191 190 185 182 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 353 353 352 351 348 345 344 344 345 346 348 nan nan 352 353 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 nan nan nan 357 nan nan nan nan 358 nan nan nan nan nan nan nan nan 357 357 358 359 360 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 349 352 354 356 357 357 357 355 353 350 346 340 331 322 316 312 309 306 303 298 290 281 272 265 261 257 254 251 249 248 246 243 240 235 233 231 227 224 223 220 217 210 202 196 193 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan 346 345 346 346 346 347 nan 351 352 353 nan nan nan 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 357 358 358 nan nan nan nan nan 357 358 358 359 360 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 352 354 355 355 355 354 352 350 349 346 343 339 334 330 327 324 321 318 315 310 305 302 299 295 289 281 275 270 266 261 258 257 257 259 257 256 252 244 235 223 213 209 207 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 348 348 348 349 348 nan nan 351 352 nan nan nan nan 351 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 nan nan nan nan nan nan 356 357 358 nan nan nan nan nan nan 358 360 0 1 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 354 354 354 353 352 350 349 348 347 345 343 340 337 334 331 330 328 327 327 326 323 320 311 302 294 287 282 276 273 272 273 274 275 274 268 260 249 236 224 222 222 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 350 351 nan nan nan nan 350 nan nan nan nan nan nan nan nan nan nan 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 356 357 358 nan nan nan nan nan 359 0 2 2 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 300 295 289 284 282 281 282 283 nan 275 267 256 244 237 235 236 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 348 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 356 357 358 359 nan nan nan nan nan 1 3 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 246 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 358 359 360 nan nan nan nan 1 3 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 -5 -6 -8 -9 -9 -9 -9 -10 -12 -15 -16 -17 -15 -13 -11 -11 -12 -17 -23 -27 -29 -32 -36 -40 -43 -45 -47 -49 -50 -50 -49 -48 -49 -51 -51 -51 -52 -52 -53 -53 -54 -54 -54 -54 -54 -53 -51 -47 -40 -33 -28 -25 -26 -26 -24 -23 -21 -19 -18 -20 -21 -22 -21 -18 -16 -14 -16 -19 -22 -24 -21 -18 -17 -17 -19 -22 -25 -28 -31 -35 -37 -38 -38 -37 -37 -38 -39 -40 -38 -31 -26 -26 -30 -32 -30 -21 -13 -9 -8 -7 -6 -6 -7 -7 -7 -7 -6 -6 -5 -5 -5 -6 -7 -6 -5 -3 -3 -3 -4 -6 -8 -8 -6 -4 -3 -2 -2 -1 -1 -1 -2 -4 -5 -5 -4 -3 -2 -3 -5 -8 -10 -9 -7 -6 -6 -7 -9 -10 -9 -8 -7 -7 -8 -9 -10 -10 -9 -9 -9 -9 -9 -8 -6 -6 -5 -4 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -5 -4 -2 -1 0 0 -1 -3 -4 -4 -4 -3 -2 -1 -0 -0 -1 -1 -0 0 1 1 2 2 2 3 3 3 4 4 5 4 3 1 1 -0 -1 -1 -0 -0 -0 -0 -0 0 0 0 -0 -1 -1 -0 2 4 6 4 2 2 4 7 10 10 6 3 2 1 1 3 4 5 5 5 6 7 6 5 3 2 1 1 1 0 0 -0 -0 -0 -0 -0 -0 -0 0 0 0 0 -0 -1 -2 -2 -3 -3 -3 -3 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -0 1 1 1 2 3 4 6 9 11 13 14 14 14 14 15 17 19 21 22 22 22 21 20 19 19 20 21 23 24 24 23 22 21 21 21 21 22 23 25 28 30 31 31 31 29 27 25 24 25 27 29 31 33 35 34 33 33 34 37 37 36 35 34 32 31 28 24 22 22 24 30 38 40 34 25 17 13 12 12 15 16 16 15 16 18 19 20 19 18 19 21 24 27 29 29 29 29 29 29 29 28 28 27 26 24 23 22 21 20 20 20 20 20 20 21 21 22 22 21 21 21 21 -6 -7 -9 -10 -11 -11 -11 -12 -14 -16 -17 -19 -19 -19 -19 -20 -20 -22 -28 -31 -34 -36 -40 -43 -45 -47 -48 -50 -52 -51 -50 -50 -51 -52 -53 -52 -52 -52 -53 -54 -55 -56 -57 -57 -57 -56 -53 -47 -42 -36 -33 -33 -34 -33 -30 -27 -25 -23 -22 -23 -24 -23 -20 -16 -13 -13 -16 -19 -22 -21 -18 -16 -15 -17 -19 -22 -25 -28 -31 -33 -35 -37 -37 -38 -39 -40 -41 -41 -37 -31 -26 -26 -31 -34 -30 -21 -12 -7 -7 -6 -6 -7 -7 -7 -7 -7 -6 -5 -5 -5 -6 -7 -6 -5 -4 -3 -3 -4 -6 -7 -6 -5 -4 -3 -2 -2 -1 -1 -2 -3 -5 -6 -5 -4 -2 -2 -4 -6 -9 -10 -10 -8 -7 -7 -9 -10 -11 -10 -9 -8 -8 -9 -11 -11 -11 -11 -11 -11 -11 -10 -10 -9 -9 -8 -7 -7 -7 -7 -7 -6 -6 -5 -5 -5 -5 -6 -7 -8 -6 -4 -2 -1 -3 -5 -6 -7 -6 -5 -4 -3 -3 -3 -4 -4 -3 -3 -2 -1 -1 -1 0 1 2 3 4 5 5 5 5 4 3 2 2 1 1 0 0 -0 -0 -0 -0 -0 -0 -1 -1 0 3 6 7 6 3 1 3 7 11 12 9 5 3 1 1 2 3 3 3 3 3 4 5 4 3 2 1 1 0 -0 -0 -1 -1 -0 0 0 0 -0 0 0 1 1 1 1 0 -0 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -2 -2 -1 0 1 1 1 2 2 4 6 8 10 11 11 11 12 14 16 19 20 21 21 20 20 19 18 18 19 21 23 25 26 25 24 23 22 21 21 20 21 22 23 24 25 27 28 28 26 22 21 22 25 28 30 32 32 30 25 22 25 32 36 37 36 35 33 31 28 24 22 21 22 27 34 38 38 34 27 21 17 16 15 14 9 10 14 17 18 17 17 16 16 18 21 24 26 27 28 29 30 30 30 29 29 29 28 28 27 25 24 23 22 21 21 21 21 22 22 22 22 21 21 21 21 -7 -8 -10 -12 -13 -13 -12 -14 -16 -18 -20 -22 -23 -25 -26 -25 -24 -26 -31 -35 -38 -40 -44 -46 -48 -48 -49 -51 -52 -50 -50 -50 -52 -53 -53 -53 -53 -53 -54 -55 -56 -58 -59 -60 -59 -57 -53 -48 -44 -41 -40 -41 -41 -38 -33 -30 -28 -27 -26 -27 -26 -23 -19 -14 -12 -13 -16 -18 -18 -15 -13 -13 -15 -17 -20 -23 -26 -29 -31 -33 -35 -37 -38 -39 -39 -40 -41 -40 -36 -31 -26 -26 -29 -32 -28 -20 -11 -6 -5 -6 -6 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -5 -4 -3 -3 -4 -4 -5 -5 -4 -4 -3 -2 -2 -2 -1 -1 -2 -4 -6 -6 -5 -3 -2 -3 -5 -8 -10 -11 -10 -9 -7 -8 -10 -11 -11 -11 -10 -9 -10 -11 -11 -12 -12 -13 -13 -13 -13 -12 -12 -12 -12 -11 -10 -10 -9 -9 -8 -8 -7 -7 -7 -6 -7 -8 -10 -12 -12 -9 -6 -5 -5 -7 -8 -8 -7 -5 -4 -4 -4 -5 -6 -6 -6 -5 -4 -3 -2 -2 -2 -1 1 3 4 5 5 5 5 5 5 5 4 4 3 2 1 0 -0 -0 -0 -1 -1 -1 -2 -1 2 6 8 8 5 1 2 5 9 11 9 5 2 1 1 1 2 1 0 -1 -1 0 1 2 1 0 -0 -1 -1 -1 -2 -2 -2 -2 -1 -1 -0 0 -0 -0 0 1 2 2 2 2 1 0 -1 -1 -1 -2 -1 -1 -1 -1 -1 -0 -0 -1 -1 -1 -1 -0 1 1 2 2 2 2 3 4 5 6 7 8 8 9 10 12 15 18 19 19 18 18 18 18 17 17 18 20 22 25 26 27 26 25 24 23 22 21 21 21 21 21 21 22 23 24 23 20 18 20 22 25 27 29 29 26 21 18 21 29 34 36 37 36 34 31 29 26 24 24 25 28 34 39 43 42 37 29 25 25 28 28 18 13 14 15 15 15 17 17 16 14 14 17 22 25 28 29 31 31 31 30 30 31 31 31 30 29 27 26 25 24 24 24 24 23 23 23 22 22 22 22 22 -9 -10 -12 -14 -15 -14 -14 -16 -18 -21 -23 -25 -26 -28 -29 -29 -27 -29 -34 -38 -41 -44 -46 -49 -50 -50 -50 -50 -51 -50 -51 -51 -52 -53 -54 -53 -53 -54 -55 -56 -58 -60 -61 -62 -61 -58 -53 -48 -46 -46 -47 -48 -46 -41 -36 -33 -32 -31 -30 -28 -26 -21 -17 -13 -12 -14 -15 -15 -13 -11 -12 -15 -17 -20 -22 -25 -28 -30 -32 -34 -37 -38 -38 -37 -38 -40 -41 -39 -34 -28 -24 -24 -27 -29 -24 -16 -9 -6 -6 -6 -6 -7 -7 -7 -7 -6 -7 -7 -6 -5 -4 -3 -2 -3 -4 -4 -3 -3 -2 -2 -2 -1 -1 -1 -1 -1 -3 -4 -6 -7 -5 -3 -3 -3 -6 -9 -11 -11 -10 -9 -8 -8 -10 -11 -12 -11 -9 -9 -10 -11 -12 -12 -13 -14 -14 -15 -14 -14 -14 -14 -14 -14 -13 -12 -11 -11 -11 -10 -10 -10 -10 -10 -11 -12 -14 -15 -15 -13 -10 -8 -8 -9 -9 -8 -6 -4 -3 -2 -3 -4 -6 -7 -7 -6 -5 -4 -3 -2 -2 -2 -1 2 3 4 5 5 5 5 5 5 5 5 5 4 3 1 0 -0 -0 -0 -1 -2 -2 -3 -1 3 7 8 6 3 1 4 7 9 7 4 1 -1 -2 -1 1 1 -1 -3 -4 -3 -2 -1 -1 -2 -2 -3 -3 -4 -4 -5 -5 -5 -5 -3 -2 -1 -1 -1 -1 -0 1 1 2 2 2 2 1 1 -0 -0 -1 -0 -0 0 1 1 1 1 1 1 1 2 3 3 3 3 3 3 4 4 4 5 5 6 6 7 8 10 12 14 16 17 16 16 16 15 15 16 16 17 19 21 24 25 26 26 26 25 24 23 22 21 21 20 20 20 20 20 21 21 20 19 20 21 22 23 24 26 25 23 21 22 28 32 35 37 37 35 33 31 31 30 31 32 34 36 40 42 43 42 37 34 35 37 35 25 19 18 17 17 17 20 20 16 11 7 9 17 25 30 30 30 30 30 31 32 33 33 33 31 30 29 28 28 28 28 27 26 26 25 25 24 24 23 23 23 -11 -13 -14 -16 -17 -16 -16 -18 -20 -23 -26 -28 -29 -30 -32 -31 -31 -33 -37 -40 -44 -46 -48 -50 -51 -51 -50 -50 -50 -52 -52 -52 -53 -53 -54 -55 -55 -55 -56 -58 -59 -61 -63 -63 -62 -58 -53 -49 -49 -51 -53 -52 -49 -44 -40 -38 -37 -34 -30 -25 -21 -18 -15 -15 -16 -17 -15 -13 -12 -13 -15 -18 -19 -20 -22 -25 -28 -30 -33 -35 -36 -36 -35 -35 -37 -39 -40 -37 -29 -23 -22 -24 -27 -27 -19 -10 -7 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -6 -5 -3 -2 -2 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -3 -5 -6 -6 -5 -3 -3 -4 -7 -10 -12 -11 -9 -8 -8 -8 -10 -12 -11 -10 -9 -8 -9 -11 -12 -12 -13 -14 -15 -16 -16 -16 -15 -16 -16 -16 -15 -14 -13 -13 -13 -12 -12 -13 -13 -14 -15 -16 -16 -16 -15 -13 -11 -9 -8 -8 -8 -7 -5 -3 -1 -1 -1 -2 -3 -5 -5 -5 -5 -5 -3 -2 -1 -1 -1 -0 2 3 4 4 4 4 5 5 5 5 5 5 4 3 1 0 -0 0 -0 -1 -2 -2 -2 -1 3 4 4 2 1 2 5 7 6 3 0 -3 -5 -5 -3 -0 -0 -3 -5 -5 -4 -3 -2 -3 -4 -4 -5 -5 -6 -6 -7 -8 -8 -7 -6 -5 -4 -3 -2 -2 -1 0 1 1 2 2 2 2 2 1 1 1 1 1 2 2 2 2 2 2 3 4 5 6 6 5 5 5 5 5 5 5 5 6 6 7 7 8 9 11 13 14 14 15 14 14 13 14 14 15 16 18 20 22 24 25 25 25 25 24 23 23 22 21 21 20 19 19 19 19 20 20 20 20 20 20 19 21 23 25 25 24 24 27 30 34 37 38 37 36 35 36 37 38 38 38 37 38 38 40 41 42 41 41 38 32 24 21 22 24 24 23 24 23 19 13 10 11 19 27 32 32 30 29 30 32 34 34 34 32 30 29 29 29 31 31 31 31 30 29 28 28 27 27 26 26 25 -13 -15 -16 -18 -19 -18 -18 -20 -23 -26 -30 -32 -32 -34 -36 -36 -36 -38 -40 -43 -46 -48 -50 -51 -52 -52 -51 -51 -51 -53 -53 -53 -53 -54 -55 -56 -56 -56 -57 -58 -61 -63 -64 -64 -61 -57 -53 -51 -53 -55 -56 -54 -50 -48 -46 -43 -38 -31 -24 -19 -17 -17 -18 -20 -20 -17 -14 -12 -13 -15 -17 -17 -17 -18 -20 -24 -28 -31 -33 -34 -34 -33 -33 -34 -36 -38 -39 -35 -29 -23 -22 -24 -27 -27 -19 -9 -6 -6 -6 -6 -7 -7 -6 -6 -6 -7 -6 -5 -4 -2 -2 -2 -2 -1 0 1 1 0 -0 -0 -0 -1 -1 -2 -4 -5 -5 -5 -4 -4 -4 -6 -8 -10 -11 -10 -8 -7 -8 -9 -11 -12 -11 -10 -8 -8 -8 -10 -11 -12 -13 -14 -16 -17 -17 -17 -16 -16 -17 -17 -16 -15 -14 -14 -14 -14 -14 -14 -15 -16 -18 -18 -17 -15 -14 -12 -9 -8 -6 -6 -5 -4 -3 -2 -2 -1 -1 -0 -0 -1 -1 -2 -3 -4 -4 -3 -2 -1 -1 -1 -0 1 2 3 3 3 4 4 4 4 4 5 5 4 2 1 0 0 1 1 -0 -1 -1 -1 0 1 1 1 0 0 3 4 4 2 0 -3 -6 -7 -6 -3 -2 -3 -5 -7 -6 -5 -3 -3 -4 -6 -6 -7 -7 -8 -8 -9 -9 -9 -9 -8 -7 -7 -6 -5 -4 -2 -1 -1 -0 0 1 2 2 2 2 1 1 2 2 2 2 3 3 4 4 5 6 7 8 7 6 6 6 6 6 7 7 7 7 8 8 8 9 10 11 12 12 13 13 13 12 12 12 13 14 16 17 18 20 22 23 24 24 24 23 22 22 22 21 21 20 20 19 19 19 19 19 20 19 19 19 18 20 21 23 23 23 23 25 29 33 36 37 38 38 38 39 40 40 40 39 37 36 35 35 38 41 42 41 35 28 23 23 25 26 26 26 27 27 25 24 23 22 22 26 30 32 31 29 30 31 32 32 30 28 26 25 27 29 32 34 35 35 34 33 33 32 32 31 31 30 29 -16 -17 -18 -19 -20 -20 -21 -23 -27 -30 -34 -38 -39 -41 -41 -41 -41 -43 -44 -46 -48 -50 -51 -52 -53 -53 -53 -53 -53 -54 -54 -54 -54 -55 -56 -57 -57 -57 -58 -60 -62 -65 -66 -64 -60 -56 -54 -55 -57 -57 -57 -55 -53 -51 -49 -43 -34 -25 -18 -16 -17 -19 -22 -22 -20 -16 -13 -12 -14 -16 -16 -15 -15 -17 -20 -24 -28 -31 -33 -33 -33 -32 -32 -34 -36 -37 -37 -35 -31 -25 -24 -24 -26 -27 -19 -9 -6 -7 -6 -6 -6 -5 -5 -5 -6 -7 -6 -4 -3 -2 -2 -2 -1 0 1 2 1 0 -0 -1 -1 -1 -3 -4 -5 -5 -5 -4 -4 -5 -7 -8 -9 -9 -9 -7 -7 -8 -10 -11 -12 -11 -10 -9 -8 -8 -9 -10 -11 -12 -14 -16 -17 -18 -17 -17 -16 -17 -17 -17 -16 -15 -15 -15 -14 -14 -15 -15 -17 -18 -18 -16 -14 -12 -10 -8 -6 -5 -4 -3 -2 -1 -1 -2 -3 -3 -2 1 2 2 1 -1 -3 -4 -4 -3 -3 -3 -3 -2 -1 0 1 1 2 2 3 3 3 3 4 4 4 3 2 2 1 1 2 1 1 0 -0 0 0 0 -0 -1 -1 -1 1 2 2 1 -2 -5 -6 -5 -4 -3 -4 -5 -7 -8 -7 -6 -5 -5 -6 -8 -9 -9 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -8 -6 -5 -4 -3 -3 -2 -0 1 1 1 0 0 0 1 1 1 2 3 4 4 5 6 7 8 9 8 6 6 6 6 7 8 8 9 9 9 9 9 9 10 10 11 11 12 12 11 11 11 12 13 14 15 16 17 19 21 22 23 23 23 22 22 21 21 21 21 20 20 19 19 19 19 19 19 19 18 18 19 19 20 21 22 22 22 25 28 32 35 36 37 38 39 39 40 39 39 38 37 36 34 33 35 37 39 38 33 27 24 25 27 28 28 28 27 27 27 29 29 23 17 16 20 26 28 27 25 25 25 24 22 21 20 21 24 28 33 36 37 37 37 36 36 36 36 36 35 34 33 -18 -19 -20 -21 -22 -23 -25 -28 -31 -35 -40 -44 -47 -48 -47 -45 -44 -48 -47 -48 -50 -51 -52 -54 -55 -56 -55 -55 -55 -54 -54 -54 -55 -55 -57 -58 -58 -59 -60 -62 -64 -66 -65 -63 -59 -57 -57 -59 -59 -59 -57 -55 -54 -52 -47 -39 -30 -21 -16 -17 -20 -22 -23 -21 -16 -13 -12 -13 -15 -15 -15 -14 -15 -18 -22 -25 -28 -30 -32 -33 -33 -33 -33 -35 -36 -37 -37 -36 -34 -29 -26 -23 -23 -24 -17 -10 -7 -7 -6 -5 -4 -4 -4 -6 -7 -7 -5 -4 -3 -3 -3 -2 -1 1 1 1 0 -0 -1 -1 -2 -3 -4 -6 -6 -5 -5 -4 -5 -7 -9 -9 -9 -8 -7 -7 -8 -10 -11 -11 -11 -10 -10 -10 -10 -10 -11 -11 -12 -14 -15 -17 -18 -18 -17 -16 -16 -17 -17 -17 -17 -16 -16 -15 -14 -14 -14 -16 -16 -16 -14 -12 -10 -8 -7 -6 -5 -4 -3 -1 0 0 -2 -5 -6 -5 -2 1 3 3 1 -1 -3 -3 -3 -4 -4 -4 -4 -3 -2 -1 -1 -0 0 1 2 2 3 3 3 4 4 3 3 2 2 2 3 2 2 1 1 1 1 -0 -1 -2 -3 -2 0 1 1 -0 -1 -1 -1 -1 -2 -2 -3 -5 -7 -8 -7 -6 -6 -7 -9 -10 -11 -12 -12 -12 -12 -12 -12 -11 -11 -12 -12 -12 -12 -11 -9 -8 -8 -7 -6 -4 -2 -1 -2 -2 -2 -3 -3 -2 -2 -1 0 2 3 4 5 7 8 9 8 6 5 5 6 7 8 9 10 10 10 10 9 9 9 9 10 10 11 11 11 10 10 11 12 13 14 15 15 16 18 20 21 23 23 23 22 21 20 20 20 20 20 20 20 19 19 19 19 19 18 18 18 19 19 20 20 21 22 23 26 28 31 33 35 35 36 36 37 37 37 37 37 37 37 36 36 37 38 39 37 33 29 28 29 30 31 31 28 24 19 15 13 9 1 -4 -0 11 20 21 17 15 14 15 15 14 13 12 15 20 26 32 36 38 39 38 37 38 38 39 39 38 37 35 -20 -20 -21 -22 -24 -26 -29 -33 -36 -40 -45 -50 -53 -53 -51 -49 -49 -51 -52 -52 -53 -54 -55 -56 -58 -58 -57 -56 -55 -54 -54 -55 -56 -57 -58 -59 -60 -60 -62 -64 -66 -66 -65 -62 -60 -59 -60 -61 -61 -59 -57 -55 -53 -49 -42 -34 -27 -21 -18 -20 -22 -22 -20 -16 -12 -12 -13 -15 -16 -16 -16 -16 -18 -20 -23 -26 -27 -29 -31 -33 -33 -33 -34 -35 -36 -37 -37 -36 -35 -32 -27 -23 -20 -20 -14 -9 -8 -6 -5 -4 -4 -4 -6 -7 -7 -6 -4 -4 -4 -4 -4 -2 -1 -0 -0 -0 -1 -1 -2 -2 -3 -4 -5 -6 -6 -5 -5 -6 -7 -8 -9 -8 -8 -7 -8 -9 -10 -11 -11 -10 -10 -10 -11 -12 -12 -12 -12 -12 -13 -15 -16 -17 -18 -18 -17 -17 -17 -18 -18 -19 -18 -17 -15 -13 -12 -13 -15 -15 -15 -13 -9 -7 -6 -6 -6 -6 -6 -4 -2 -1 -1 -2 -5 -8 -8 -6 -2 2 3 2 0 -1 -2 -2 -3 -4 -4 -4 -4 -3 -2 -2 -1 -0 0 1 2 3 3 4 4 4 4 4 3 3 3 3 3 3 2 2 2 2 1 -0 -2 -2 -3 -2 -0 -0 -0 -0 0 1 1 1 1 -1 -3 -4 -4 -5 -5 -6 -7 -9 -10 -11 -12 -13 -13 -14 -14 -13 -13 -13 -12 -13 -14 -14 -14 -12 -11 -11 -11 -10 -8 -6 -5 -5 -5 -5 -6 -6 -7 -6 -6 -5 -3 -0 2 3 5 7 8 8 6 5 4 5 7 8 9 10 11 11 11 10 9 9 8 8 9 9 10 10 10 10 10 11 12 13 14 14 14 15 17 19 21 22 23 23 22 21 21 20 20 20 20 20 20 19 19 19 19 19 18 18 17 18 19 19 19 20 22 24 26 27 29 30 31 32 32 33 34 34 34 34 35 36 37 39 40 42 43 42 40 36 33 32 32 34 35 34 29 22 15 10 6 -0 -12 -17 -4 18 21 13 5 2 4 8 9 8 5 0 -1 8 22 30 35 38 38 37 37 37 38 39 39 39 38 36 -21 -21 -22 -24 -28 -31 -35 -38 -40 -44 -49 -53 -54 -54 -53 -53 -54 -54 -55 -55 -55 -56 -57 -59 -60 -61 -59 -57 -56 -55 -55 -55 -56 -57 -59 -60 -61 -62 -63 -65 -66 -66 -65 -63 -62 -62 -63 -63 -61 -59 -56 -53 -49 -43 -37 -31 -26 -22 -22 -23 -23 -19 -14 -10 -9 -12 -15 -18 -19 -19 -19 -20 -21 -22 -23 -25 -26 -28 -31 -32 -32 -32 -33 -34 -35 -35 -35 -34 -34 -32 -28 -23 -19 -18 -11 -9 -8 -6 -5 -4 -5 -7 -8 -8 -7 -5 -4 -4 -5 -5 -4 -3 -2 -2 -2 -2 -2 -2 -2 -2 -4 -5 -6 -6 -6 -6 -6 -7 -8 -8 -8 -7 -7 -8 -10 -11 -11 -11 -10 -9 -10 -11 -12 -13 -13 -13 -13 -14 -14 -15 -17 -18 -18 -18 -18 -18 -18 -19 -19 -19 -18 -15 -13 -12 -13 -14 -15 -14 -11 -7 -5 -6 -7 -8 -7 -6 -5 -4 -3 -3 -4 -6 -8 -8 -7 -4 -1 2 2 1 -0 -1 -1 -2 -3 -4 -4 -3 -3 -3 -2 -1 -1 0 1 2 2 3 4 5 5 5 5 5 4 4 4 4 4 3 3 3 3 2 1 -0 -1 -2 -2 -1 -0 -1 -0 0 2 3 3 3 2 1 1 1 -0 -2 -4 -5 -7 -9 -10 -11 -13 -13 -14 -14 -14 -14 -13 -13 -13 -14 -15 -15 -14 -13 -12 -11 -11 -11 -11 -10 -9 -9 -9 -9 -10 -10 -10 -11 -10 -9 -7 -4 -1 2 4 6 7 5 4 3 4 6 8 9 10 10 11 11 10 10 9 8 7 7 7 7 8 8 9 9 10 10 11 12 13 13 13 15 16 18 20 22 23 23 23 22 22 21 21 21 20 20 20 19 19 19 18 18 18 17 17 17 17 17 17 18 20 22 23 24 25 25 26 27 28 30 32 32 32 32 33 35 36 39 42 44 45 45 42 39 36 35 36 37 38 35 30 23 17 14 13 9 6 17 37 51 29 8 -0 1 6 9 7 3 -0 -3 -4 -6 21 29 33 34 34 34 34 36 37 38 38 38 37 36 -23 -23 -24 -26 -31 -35 -39 -42 -44 -47 -50 -54 -55 -55 -55 -57 -58 -58 -58 -58 -58 -58 -59 -61 -62 -62 -60 -58 -56 -55 -55 -55 -56 -57 -59 -61 -62 -63 -64 -66 -67 -66 -65 -64 -64 -64 -64 -63 -61 -58 -54 -49 -42 -36 -32 -28 -26 -24 -25 -25 -21 -14 -8 -6 -9 -14 -18 -21 -22 -22 -22 -22 -22 -22 -23 -24 -26 -28 -29 -30 -30 -30 -32 -33 -34 -34 -34 -34 -35 -33 -28 -24 -21 -19 -11 -9 -8 -6 -4 -5 -7 -9 -10 -8 -6 -4 -4 -5 -5 -5 -5 -4 -4 -4 -4 -4 -3 -2 -3 -4 -5 -5 -5 -5 -5 -6 -7 -7 -7 -7 -7 -7 -8 -10 -11 -11 -11 -10 -9 -9 -10 -12 -13 -13 -13 -13 -14 -15 -15 -16 -17 -18 -19 -19 -19 -19 -20 -20 -20 -19 -16 -14 -13 -13 -14 -14 -13 -10 -7 -6 -7 -9 -9 -7 -5 -4 -4 -3 -4 -5 -6 -6 -7 -6 -4 -2 1 2 1 1 1 1 -0 -1 -2 -3 -2 -2 -2 -2 -1 -1 0 1 2 2 3 4 4 5 6 6 6 6 5 5 5 5 4 4 4 4 4 3 2 1 -0 -0 0 1 0 -0 0 2 4 5 5 4 4 4 5 3 1 -1 -2 -3 -5 -7 -9 -10 -11 -12 -13 -13 -13 -13 -13 -13 -13 -14 -15 -15 -14 -12 -11 -10 -11 -12 -12 -12 -12 -12 -12 -12 -12 -13 -14 -15 -15 -14 -11 -7 -4 -0 2 3 3 2 2 3 5 7 8 8 8 9 9 10 10 10 9 8 7 6 5 5 5 6 7 8 9 9 10 11 11 12 12 14 15 17 19 21 22 23 23 23 23 23 22 22 21 20 20 19 18 18 18 17 17 16 16 16 16 15 15 16 17 18 19 20 20 20 21 23 25 27 29 30 30 30 31 33 35 37 40 42 43 43 42 40 39 38 39 40 40 37 32 28 25 24 25 24 27 39 53 50 25 9 10 20 25 18 10 7 6 10 17 15 27 28 26 25 25 27 30 33 36 38 38 37 36 35 -26 -26 -27 -30 -33 -38 -42 -45 -47 -49 -52 -55 -56 -56 -57 -59 -61 -61 -61 -60 -59 -60 -61 -63 -63 -62 -60 -59 -57 -56 -56 -56 -56 -57 -59 -61 -63 -64 -65 -67 -67 -67 -66 -66 -65 -65 -64 -63 -61 -57 -50 -41 -33 -29 -27 -26 -26 -26 -28 -24 -16 -8 -4 -6 -12 -18 -22 -24 -23 -23 -22 -23 -23 -24 -25 -26 -27 -28 -27 -26 -26 -28 -30 -32 -34 -34 -34 -35 -36 -33 -28 -23 -21 -20 -12 -9 -7 -6 -5 -7 -10 -10 -9 -7 -5 -4 -4 -5 -5 -6 -6 -6 -6 -6 -5 -4 -3 -3 -4 -5 -5 -5 -4 -4 -5 -6 -6 -6 -6 -6 -6 -7 -8 -10 -10 -10 -10 -9 -9 -10 -11 -12 -13 -13 -13 -14 -15 -15 -16 -18 -19 -19 -19 -19 -20 -20 -21 -21 -20 -18 -16 -14 -14 -15 -14 -12 -8 -6 -5 -7 -9 -9 -7 -4 -2 -2 -3 -4 -4 -4 -4 -4 -4 -3 -1 0 1 1 2 2 2 2 -0 -2 -2 -2 -1 -1 -1 -1 -1 0 1 2 3 3 3 4 5 5 6 6 6 6 6 6 5 5 4 5 5 6 6 5 3 2 2 1 2 2 1 1 2 3 5 5 5 5 6 7 6 3 1 0 -1 -1 -3 -4 -6 -7 -8 -9 -10 -10 -11 -11 -11 -12 -12 -13 -13 -13 -12 -10 -9 -9 -11 -12 -12 -12 -12 -12 -13 -14 -14 -15 -17 -18 -18 -16 -13 -9 -6 -3 -2 -2 -1 -1 1 3 5 6 5 5 5 7 8 9 10 10 10 9 7 5 4 3 4 4 5 6 6 7 7 8 9 10 11 13 14 16 17 19 20 21 23 23 24 24 24 23 23 21 20 19 18 18 17 16 16 15 14 14 14 14 14 14 14 14 15 15 16 17 19 20 22 24 25 26 27 28 29 31 32 34 36 37 39 40 41 41 41 41 42 42 41 38 36 34 33 34 34 33 35 38 39 32 22 22 33 43 44 28 19 19 23 29 35 31 27 20 14 12 13 18 22 27 32 36 37 36 35 34 -29 -30 -33 -35 -37 -40 -44 -47 -50 -52 -54 -55 -57 -58 -59 -60 -62 -63 -63 -62 -61 -61 -62 -63 -63 -61 -60 -59 -58 -57 -56 -56 -56 -57 -59 -62 -63 -65 -66 -67 -68 -67 -67 -66 -65 -64 -62 -61 -58 -52 -43 -33 -25 -23 -24 -26 -27 -28 -27 -19 -10 -5 -5 -10 -16 -21 -23 -23 -22 -21 -22 -23 -25 -26 -27 -27 -27 -25 -24 -23 -24 -26 -29 -32 -34 -34 -35 -37 -38 -34 -29 -24 -23 -22 -12 -9 -7 -6 -7 -9 -10 -9 -7 -6 -5 -5 -5 -5 -5 -6 -7 -7 -6 -5 -5 -4 -4 -5 -5 -5 -4 -3 -3 -4 -4 -5 -5 -4 -4 -5 -5 -6 -7 -8 -9 -9 -10 -10 -10 -10 -11 -12 -12 -12 -13 -14 -15 -16 -18 -19 -19 -19 -19 -20 -20 -21 -21 -21 -19 -17 -16 -15 -15 -14 -11 -7 -4 -4 -5 -7 -8 -6 -3 -1 -1 -2 -3 -3 -3 -2 -1 -1 -2 -1 -0 1 2 2 3 4 3 1 -0 -1 -1 -1 -1 -1 -1 -1 -0 1 1 2 3 3 4 4 4 5 6 6 6 6 6 6 5 4 4 5 6 7 7 6 5 4 3 2 3 3 3 3 3 4 5 6 6 8 9 9 6 4 2 1 0 -1 -1 -2 -3 -4 -5 -6 -7 -7 -8 -8 -9 -9 -9 -9 -10 -9 -8 -7 -7 -8 -9 -10 -9 -8 -9 -11 -13 -14 -16 -17 -18 -18 -17 -16 -13 -11 -10 -9 -8 -7 -5 -3 -0 2 3 3 2 2 3 5 6 8 9 9 10 9 8 6 4 3 3 3 4 4 4 4 4 5 6 7 9 11 13 14 15 17 18 20 21 22 23 23 24 24 24 23 22 20 19 18 17 16 15 14 14 13 13 13 13 13 13 12 12 13 14 15 17 19 20 20 21 21 22 24 26 28 30 31 32 33 34 36 39 41 43 44 44 44 43 41 40 39 38 38 38 38 38 36 33 29 29 34 42 45 39 30 27 30 37 41 40 33 23 14 7 3 4 9 11 14 22 31 34 34 33 32 -33 -35 -38 -40 -41 -43 -46 -49 -53 -56 -57 -57 -58 -59 -60 -61 -62 -64 -65 -65 -64 -63 -62 -63 -63 -61 -60 -59 -58 -57 -57 -56 -56 -56 -58 -61 -64 -66 -68 -68 -68 -67 -67 -66 -65 -63 -61 -58 -54 -45 -35 -25 -19 -19 -23 -26 -28 -27 -22 -13 -7 -5 -8 -13 -19 -22 -22 -21 -20 -20 -21 -23 -25 -26 -26 -26 -25 -23 -22 -22 -24 -26 -29 -31 -33 -34 -35 -37 -39 -36 -30 -25 -24 -22 -12 -9 -8 -8 -8 -8 -8 -7 -6 -6 -6 -5 -4 -3 -4 -5 -7 -6 -5 -4 -4 -4 -5 -5 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -5 -6 -8 -9 -9 -9 -9 -10 -11 -12 -12 -12 -13 -14 -16 -18 -19 -19 -19 -18 -19 -20 -20 -21 -20 -19 -18 -17 -16 -16 -14 -10 -6 -3 -2 -3 -5 -6 -4 -1 1 0 -2 -3 -3 -2 -0 1 1 -1 -1 -1 0 2 3 4 4 4 3 1 0 -0 -1 -0 -0 -0 -0 -0 0 1 2 2 3 3 3 4 4 5 5 6 6 6 6 5 5 4 4 5 6 7 7 7 6 4 3 3 5 5 5 4 5 6 7 8 10 11 12 10 7 5 3 2 1 0 0 -0 -1 -1 -3 -4 -5 -5 -6 -6 -6 -5 -5 -5 -6 -5 -5 -6 -6 -7 -7 -6 -4 -5 -7 -10 -12 -14 -16 -17 -17 -16 -16 -15 -15 -16 -16 -16 -13 -10 -7 -5 -3 -2 -1 -1 -0 0 2 3 4 5 6 7 9 9 9 8 7 5 4 4 3 3 2 2 2 2 2 4 6 8 10 12 13 14 16 18 19 20 21 22 23 24 24 24 23 22 21 19 18 16 15 14 14 13 12 12 12 12 12 12 12 12 13 15 17 18 18 18 18 18 18 19 21 23 25 27 28 29 30 33 37 40 43 45 46 46 45 44 42 40 40 39 41 43 44 43 40 38 38 40 43 43 37 31 29 31 35 39 39 33 23 15 8 5 7 5 4 8 15 22 26 28 29 28 -37 -39 -42 -44 -45 -46 -49 -52 -56 -59 -60 -59 -59 -60 -60 -62 -64 -65 -66 -67 -66 -65 -64 -63 -62 -61 -60 -59 -59 -58 -58 -57 -55 -55 -57 -62 -65 -67 -68 -69 -68 -67 -67 -65 -64 -61 -58 -55 -48 -38 -27 -18 -15 -17 -22 -26 -26 -23 -16 -9 -6 -7 -10 -14 -18 -20 -20 -20 -20 -20 -21 -22 -23 -24 -25 -24 -23 -22 -21 -22 -23 -25 -28 -30 -31 -32 -33 -36 -38 -37 -32 -27 -24 -22 -12 -10 -9 -8 -8 -6 -5 -5 -6 -6 -6 -5 -3 -2 -3 -5 -6 -5 -3 -3 -3 -3 -4 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -4 -5 -7 -8 -8 -8 -9 -10 -11 -11 -12 -12 -13 -15 -17 -18 -17 -17 -17 -17 -18 -19 -19 -18 -17 -17 -16 -16 -16 -14 -10 -5 -1 -1 -2 -3 -4 -2 1 2 1 -2 -3 -3 -1 0 1 1 0 -1 -2 -1 1 3 5 5 4 3 2 1 0 0 1 1 1 1 0 0 1 2 2 2 3 3 3 4 4 5 5 5 5 5 5 5 4 4 4 5 6 7 8 7 6 4 3 5 7 7 7 7 7 9 10 12 13 14 13 10 8 5 3 2 2 2 2 1 1 -0 -2 -3 -4 -4 -4 -4 -2 -1 -1 -1 -2 -3 -4 -5 -6 -5 -3 -1 -1 -4 -7 -10 -12 -13 -14 -13 -13 -14 -15 -17 -20 -22 -22 -19 -15 -12 -10 -10 -8 -7 -5 -3 -2 -1 -0 1 2 2 3 5 7 8 10 10 10 8 7 5 4 3 2 1 -0 -0 -0 1 3 4 6 8 10 12 13 15 17 18 19 20 21 23 23 23 23 23 22 21 20 18 17 15 14 13 12 12 12 11 11 12 12 13 14 15 16 17 17 17 16 16 16 16 17 18 20 22 23 25 28 31 35 39 41 43 44 45 45 44 43 41 39 40 43 46 48 49 47 45 44 44 44 43 38 33 31 33 37 41 40 34 27 21 16 14 16 13 9 14 30 17 14 17 20 22 -41 -43 -45 -47 -48 -50 -53 -56 -58 -60 -61 -61 -60 -60 -61 -63 -64 -66 -67 -68 -68 -67 -65 -63 -62 -61 -60 -59 -59 -59 -58 -56 -54 -54 -58 -62 -65 -67 -68 -69 -68 -67 -66 -64 -62 -59 -56 -51 -42 -31 -21 -15 -13 -16 -20 -22 -21 -16 -11 -7 -7 -8 -11 -13 -16 -17 -18 -19 -19 -19 -19 -19 -21 -22 -22 -22 -21 -20 -21 -22 -23 -25 -26 -27 -28 -29 -30 -32 -35 -36 -32 -27 -23 -21 -12 -10 -9 -8 -7 -5 -4 -5 -5 -6 -5 -4 -2 -1 -2 -3 -4 -3 -2 -1 -1 -2 -2 -2 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 -0 -1 -2 -3 -5 -5 -6 -7 -8 -9 -10 -11 -11 -11 -12 -13 -15 -16 -15 -15 -14 -15 -15 -16 -16 -15 -14 -13 -13 -14 -14 -13 -9 -4 -1 -1 -2 -3 -3 -1 2 4 2 -2 -4 -3 -1 1 2 2 1 -0 -2 -2 -0 2 5 6 5 4 3 2 1 1 2 3 3 2 1 1 2 3 3 3 2 2 2 3 3 4 5 5 5 5 5 4 4 4 5 6 7 7 8 7 6 4 3 4 7 9 10 10 10 11 12 13 14 14 13 12 9 7 6 4 4 3 3 3 2 1 -0 -1 -2 -2 -2 -2 -1 -0 1 1 1 -0 -2 -3 -4 -3 -1 1 1 -1 -4 -7 -9 -10 -11 -10 -9 -10 -13 -17 -21 -25 -26 -24 -20 -16 -14 -14 -13 -11 -8 -5 -4 -5 -4 -2 -1 -0 -0 1 3 5 7 9 11 12 11 10 9 7 5 3 1 -0 -1 -1 -1 0 1 3 4 6 8 10 12 14 16 18 19 20 21 21 22 22 23 23 22 21 20 19 17 15 14 13 12 11 11 11 11 12 13 14 15 16 16 16 16 16 15 15 14 14 14 16 17 18 21 25 29 33 35 37 38 40 42 43 43 41 39 39 40 43 47 51 52 50 48 47 47 46 44 38 34 32 34 38 42 43 39 33 27 23 23 25 25 24 27 37 20 11 10 13 14 -46 -47 -48 -49 -51 -54 -57 -59 -59 -59 -60 -62 -62 -62 -62 -63 -64 -66 -67 -69 -70 -68 -65 -63 -62 -61 -59 -58 -58 -58 -57 -55 -54 -54 -58 -62 -64 -66 -67 -68 -67 -65 -63 -62 -60 -57 -53 -47 -38 -27 -19 -14 -14 -16 -17 -16 -14 -11 -9 -8 -9 -9 -11 -12 -14 -15 -17 -18 -18 -17 -16 -17 -19 -20 -20 -18 -18 -18 -19 -20 -22 -23 -24 -24 -24 -24 -26 -29 -32 -34 -31 -26 -22 -20 -11 -10 -9 -8 -6 -4 -4 -4 -4 -4 -4 -3 -1 1 1 -1 -2 -2 -1 0 0 -0 -2 -2 -0 0 0 -0 -0 0 0 0 1 1 1 0 -1 -2 -3 -4 -4 -5 -7 -8 -9 -10 -10 -10 -11 -12 -13 -14 -13 -13 -12 -13 -13 -13 -13 -12 -11 -10 -10 -11 -12 -11 -8 -4 -2 -3 -5 -6 -5 -2 2 5 2 -2 -4 -4 -1 2 3 2 2 1 -0 -1 -0 2 4 6 6 5 4 3 3 2 3 5 5 4 3 2 3 4 5 4 3 2 2 2 3 3 4 4 5 4 4 4 4 4 5 7 8 9 9 7 5 3 2 4 6 10 12 13 13 14 14 14 13 13 12 11 10 9 8 7 6 6 5 5 4 3 2 1 0 -0 -0 -0 -0 0 1 1 1 1 -0 -1 -2 -2 -1 -0 0 -0 -2 -4 -6 -7 -8 -8 -7 -7 -10 -14 -20 -25 -27 -26 -23 -19 -16 -16 -16 -14 -11 -8 -7 -8 -7 -6 -4 -3 -2 -1 1 3 5 7 9 11 12 12 12 12 11 8 5 3 1 0 0 -0 -1 -0 0 1 3 5 7 9 11 14 16 18 19 19 20 21 21 22 22 22 22 22 20 19 17 15 14 12 11 10 10 11 11 12 13 14 14 14 15 15 15 14 14 13 12 12 13 14 15 17 20 24 28 30 31 31 33 36 38 38 38 37 37 38 42 46 49 51 50 49 48 46 45 41 37 34 34 36 40 44 45 42 38 32 29 29 31 33 36 36 35 22 13 11 12 10 -50 -51 -51 -52 -55 -58 -60 -61 -61 -60 -59 -61 -63 -65 -64 -63 -64 -65 -68 -70 -70 -68 -65 -62 -61 -60 -59 -57 -57 -57 -56 -54 -53 -54 -57 -60 -62 -64 -65 -66 -64 -62 -60 -58 -56 -54 -50 -43 -35 -27 -20 -16 -15 -14 -12 -10 -8 -8 -8 -10 -10 -10 -10 -12 -13 -15 -16 -16 -15 -14 -14 -15 -17 -17 -16 -14 -14 -15 -17 -19 -19 -20 -20 -20 -20 -21 -23 -26 -30 -33 -30 -25 -20 -18 -10 -8 -8 -7 -6 -5 -4 -3 -2 -2 -2 -2 1 4 3 1 -1 -1 1 2 1 -0 -1 -1 0 1 1 0 -0 0 1 1 1 1 1 -0 -1 -2 -2 -3 -4 -5 -7 -8 -8 -8 -9 -10 -11 -12 -12 -12 -11 -11 -11 -11 -11 -11 -10 -9 -8 -8 -9 -10 -10 -8 -5 -4 -5 -9 -10 -9 -5 0 3 1 -4 -6 -5 -1 3 3 2 2 2 2 2 2 3 4 6 7 6 4 3 3 3 4 6 7 6 4 3 4 6 7 6 4 3 2 2 3 3 4 4 4 4 4 4 3 4 5 7 9 11 11 9 5 2 1 2 6 10 13 14 15 15 15 14 13 12 11 10 10 10 10 10 10 9 9 8 7 7 5 4 3 3 3 3 3 2 1 0 0 0 0 0 0 0 -0 -0 -1 -1 -2 -3 -3 -4 -5 -6 -5 -5 -8 -12 -17 -22 -25 -25 -23 -19 -17 -17 -17 -16 -13 -10 -9 -10 -10 -9 -7 -6 -5 -3 -1 1 3 5 7 9 10 11 13 14 14 13 11 8 6 4 3 3 2 1 0 0 0 1 2 4 6 9 11 14 16 17 18 19 20 20 21 21 21 22 22 21 20 18 17 15 13 12 11 10 10 11 11 12 12 12 12 12 12 13 13 12 11 11 11 11 11 12 13 16 19 21 22 23 23 26 29 32 33 33 33 34 36 39 42 45 47 47 46 44 42 40 36 34 33 34 36 40 44 45 44 40 36 34 35 36 38 39 39 35 26 20 19 20 17 -53 -54 -55 -56 -59 -61 -61 -62 -62 -61 -60 -61 -63 -66 -65 -64 -64 -65 -67 -69 -70 -68 -66 -63 -62 -60 -59 -57 -56 -55 -54 -52 -51 -52 -55 -58 -60 -62 -63 -63 -60 -57 -54 -52 -51 -49 -45 -39 -33 -27 -23 -20 -17 -13 -9 -6 -5 -6 -8 -10 -10 -10 -11 -12 -14 -15 -14 -13 -12 -11 -12 -14 -14 -13 -11 -10 -11 -13 -15 -15 -15 -15 -15 -15 -16 -18 -21 -24 -29 -31 -30 -25 -19 -15 -8 -7 -7 -6 -6 -5 -4 -2 -1 -1 -2 -1 4 5 4 2 0 0 2 2 1 -1 -1 -0 1 1 0 -0 0 1 1 1 0 0 -0 -1 -1 -1 -2 -3 -4 -6 -7 -7 -7 -7 -8 -10 -10 -11 -10 -10 -10 -11 -11 -11 -10 -9 -8 -7 -7 -8 -9 -10 -9 -6 -6 -8 -12 -14 -12 -8 -3 -0 -3 -8 -10 -7 -2 2 2 1 1 2 4 5 6 6 6 7 7 7 5 3 3 3 5 7 8 7 5 5 5 7 8 8 5 3 2 3 4 4 5 5 5 5 5 5 4 4 5 6 8 10 10 9 6 2 1 2 5 9 13 15 16 16 15 14 12 11 10 10 10 11 11 12 12 12 12 11 11 10 9 8 7 7 7 7 6 5 3 1 -1 -1 -0 0 1 1 1 0 -1 -2 -2 -2 -2 -2 -3 -3 -4 -4 -6 -10 -14 -18 -21 -21 -20 -18 -17 -17 -18 -17 -15 -12 -10 -11 -12 -11 -10 -9 -8 -7 -5 -2 1 4 6 8 9 10 11 12 13 13 13 12 10 9 8 7 6 5 4 3 2 1 1 1 2 4 6 9 11 14 16 17 18 19 19 19 20 20 21 21 21 20 19 18 17 15 13 12 11 10 10 10 10 10 10 10 10 10 11 11 10 10 10 9 9 9 10 11 12 13 15 15 15 17 20 23 26 28 29 29 31 32 34 36 38 40 40 39 37 35 32 30 29 30 32 35 38 41 43 42 41 39 38 39 42 44 44 43 40 34 30 30 31 24 -57 -58 -59 -60 -61 -62 -62 -63 -64 -64 -63 -62 -63 -65 -66 -65 -65 -65 -66 -68 -69 -68 -66 -63 -62 -61 -59 -57 -55 -52 -50 -49 -48 -50 -53 -56 -58 -60 -61 -59 -55 -50 -47 -46 -44 -42 -39 -35 -31 -27 -25 -22 -18 -13 -9 -6 -5 -6 -7 -8 -9 -10 -12 -13 -14 -13 -11 -10 -10 -10 -11 -12 -11 -9 -7 -7 -8 -11 -11 -11 -10 -9 -10 -12 -14 -16 -19 -23 -27 -30 -30 -25 -18 -13 -6 -6 -6 -6 -6 -5 -3 -2 -2 -2 -2 1 5 5 3 1 1 1 2 1 -1 -2 -2 -0 0 -0 -0 0 2 2 1 0 -1 -1 -1 -1 -1 -2 -2 -3 -5 -6 -6 -6 -6 -7 -8 -9 -8 -8 -8 -9 -10 -10 -10 -10 -10 -9 -8 -8 -9 -9 -10 -9 -8 -7 -9 -13 -16 -15 -10 -5 -3 -6 -11 -14 -10 -4 -0 1 0 0 2 5 7 8 8 7 7 7 7 6 4 3 2 4 6 8 8 6 5 6 8 10 9 6 3 2 2 4 5 6 6 6 6 6 6 6 6 6 6 7 8 8 7 6 4 3 4 7 10 13 15 16 15 13 12 11 10 9 10 11 12 12 13 14 14 14 14 14 13 12 11 10 10 10 11 10 9 6 3 0 -1 -1 0 1 2 1 -1 -2 -3 -3 -3 -2 -2 -2 -2 -3 -3 -4 -7 -10 -13 -16 -17 -16 -16 -15 -16 -17 -18 -16 -14 -12 -12 -12 -12 -11 -11 -10 -10 -8 -6 -3 1 4 6 8 9 10 11 11 12 11 11 11 11 11 10 10 9 8 7 5 4 3 2 2 2 3 4 6 9 11 13 15 16 17 18 18 19 19 20 20 20 20 20 19 18 17 15 14 12 11 11 10 9 8 8 7 8 9 9 10 9 9 8 8 7 7 7 8 9 9 10 10 10 12 15 19 22 24 25 26 27 27 28 28 30 30 29 28 27 25 22 21 22 25 27 30 33 36 38 39 40 39 40 41 43 45 47 48 46 43 40 39 36 28 -61 -63 -63 -63 -63 -63 -64 -65 -66 -67 -65 -63 -63 -64 -65 -66 -66 -65 -65 -67 -68 -67 -65 -63 -62 -61 -59 -55 -52 -48 -46 -45 -46 -49 -52 -55 -57 -58 -57 -53 -47 -42 -39 -39 -37 -36 -34 -31 -28 -26 -24 -23 -19 -15 -12 -9 -6 -5 -5 -5 -7 -10 -12 -14 -13 -11 -9 -8 -9 -10 -10 -9 -7 -5 -4 -5 -6 -8 -8 -7 -6 -6 -7 -9 -11 -14 -17 -20 -24 -28 -29 -26 -20 -15 -6 -5 -5 -5 -4 -3 -3 -3 -4 -4 -2 1 3 3 2 1 0 1 -0 -1 -3 -3 -2 -1 -1 -1 -0 1 3 2 0 -1 -1 -2 -2 -2 -2 -2 -3 -4 -4 -4 -4 -4 -5 -6 -6 -6 -5 -5 -6 -8 -10 -10 -10 -10 -9 -9 -9 -10 -10 -10 -10 -9 -8 -9 -13 -15 -15 -11 -6 -5 -8 -13 -16 -13 -6 -2 -1 -1 -1 2 5 7 9 9 8 7 7 7 7 5 3 2 3 5 7 8 7 7 8 10 11 9 6 2 1 1 3 5 6 6 6 7 7 7 7 7 7 7 7 7 6 6 5 5 6 8 10 12 14 15 14 13 11 10 9 8 9 10 12 13 13 14 14 15 15 15 15 15 14 13 12 11 12 12 13 12 10 6 3 1 1 2 3 3 1 -1 -3 -4 -4 -4 -3 -3 -3 -2 -2 -2 -3 -5 -7 -10 -12 -14 -15 -14 -14 -14 -15 -16 -17 -15 -14 -13 -13 -12 -11 -11 -11 -11 -10 -9 -6 -3 0 3 6 7 9 10 10 10 10 9 9 10 11 11 11 11 11 10 9 8 6 5 4 4 3 4 4 5 7 9 11 13 15 16 16 17 18 19 20 20 21 21 21 20 20 19 17 15 14 12 11 10 9 8 6 6 6 7 8 9 9 8 7 6 6 5 5 6 7 7 7 7 7 9 11 14 17 19 21 22 22 22 21 22 21 20 18 16 14 13 13 14 16 18 20 23 26 29 32 35 38 39 40 42 43 46 49 51 51 49 46 42 37 30 -66 -67 -66 -65 -64 -64 -65 -67 -69 -69 -67 -64 -63 -63 -64 -65 -66 -66 -66 -67 -67 -65 -62 -60 -59 -58 -56 -52 -48 -44 -43 -43 -45 -48 -52 -54 -55 -54 -51 -45 -39 -35 -33 -33 -32 -31 -29 -27 -25 -25 -24 -23 -22 -19 -15 -11 -7 -4 -3 -4 -6 -10 -12 -13 -11 -9 -8 -8 -8 -9 -8 -6 -4 -2 -2 -3 -4 -5 -5 -4 -4 -4 -4 -6 -9 -11 -13 -16 -19 -23 -27 -26 -21 -16 -5 -4 -4 -3 -3 -3 -4 -5 -5 -5 -2 1 1 0 -1 -1 -0 -1 -3 -4 -4 -3 -2 -2 -3 -2 1 3 3 1 -0 -1 -1 -1 -1 -2 -3 -3 -4 -3 -3 -3 -3 -3 -4 -4 -3 -1 -1 -3 -5 -7 -9 -10 -9 -9 -8 -9 -10 -11 -11 -11 -10 -8 -9 -11 -14 -14 -11 -6 -5 -9 -14 -17 -14 -8 -4 -3 -3 -2 0 4 7 9 9 8 6 5 6 6 6 4 2 2 3 5 7 8 9 10 11 11 10 5 1 -1 0 2 5 6 6 6 6 6 6 6 6 7 7 7 7 7 6 6 6 7 9 12 13 14 14 13 11 10 8 8 8 9 10 12 13 14 14 14 15 15 15 15 14 14 13 12 11 11 12 13 13 12 10 7 4 3 4 4 4 3 1 -2 -4 -5 -5 -5 -5 -4 -4 -3 -2 -2 -3 -5 -8 -10 -12 -13 -13 -12 -12 -12 -14 -15 -14 -14 -13 -13 -12 -11 -11 -11 -11 -10 -9 -8 -6 -3 0 3 5 6 8 8 9 8 8 8 9 10 10 11 11 11 11 10 10 9 8 7 6 6 5 5 5 6 7 8 10 12 13 14 15 16 17 18 19 20 21 21 22 22 21 20 18 17 15 13 12 11 10 8 6 5 5 6 7 7 8 7 7 6 5 4 4 4 5 5 5 5 5 6 7 9 11 14 16 16 16 16 16 16 14 12 8 5 2 4 11 13 13 12 14 18 20 23 27 31 36 39 41 42 44 47 51 53 53 52 49 46 40 33 -70 -70 -67 -66 -65 -66 -67 -69 -71 -71 -68 -65 -63 -62 -62 -64 -65 -66 -67 -68 -67 -64 -60 -58 -57 -57 -54 -50 -45 -42 -41 -42 -45 -48 -51 -52 -52 -49 -45 -40 -36 -32 -30 -29 -28 -27 -26 -25 -24 -24 -25 -25 -24 -21 -17 -12 -8 -4 -3 -4 -7 -10 -11 -11 -9 -8 -7 -8 -8 -8 -6 -4 -1 -1 -1 -2 -2 -3 -3 -3 -3 -2 -3 -4 -6 -7 -9 -11 -13 -17 -22 -23 -20 -16 -5 -3 -2 -2 -2 -3 -5 -6 -6 -4 -1 0 -1 -3 -3 -2 -1 -3 -4 -5 -5 -4 -3 -3 -3 -1 1 3 2 0 -0 -0 0 0 -0 -1 -3 -4 -4 -3 -2 -2 -2 -2 -1 0 2 1 0 -2 -4 -7 -8 -8 -8 -7 -8 -9 -10 -11 -11 -11 -9 -8 -10 -12 -12 -10 -5 -4 -9 -14 -17 -14 -8 -4 -4 -4 -4 -2 2 6 8 8 6 4 3 3 4 5 5 3 1 1 3 5 8 9 10 11 11 9 5 1 -1 -0 2 4 5 6 6 6 6 6 6 5 6 6 6 7 7 7 7 8 9 10 12 13 13 13 12 10 9 8 8 8 9 10 11 12 13 13 14 15 15 15 14 13 12 11 10 10 10 11 12 13 12 11 9 6 5 5 5 5 4 2 0 -1 -3 -4 -5 -6 -6 -5 -4 -3 -2 -3 -4 -7 -9 -12 -13 -13 -11 -10 -10 -11 -12 -12 -11 -11 -10 -10 -11 -11 -11 -10 -10 -9 -8 -6 -4 -1 1 3 4 5 6 7 7 7 7 8 9 9 9 9 9 9 9 10 10 10 9 9 8 7 7 6 6 6 7 8 10 12 13 14 15 16 17 18 19 19 20 21 22 22 23 22 21 19 16 14 12 11 9 8 7 6 5 6 6 6 6 6 6 6 5 5 4 4 5 4 4 4 3 4 4 6 7 9 11 11 11 10 11 10 9 6 3 0 0 9 19 21 15 10 12 16 19 22 25 30 35 39 42 44 46 49 51 52 52 51 49 46 41 35 -73 -70 -67 -66 -66 -67 -69 -71 -72 -71 -68 -65 -62 -61 -60 -61 -63 -65 -67 -68 -66 -63 -59 -56 -55 -53 -51 -47 -44 -41 -41 -42 -44 -47 -50 -50 -48 -45 -41 -38 -34 -31 -28 -26 -26 -25 -24 -24 -24 -25 -25 -25 -24 -22 -18 -13 -9 -6 -5 -6 -8 -10 -10 -10 -8 -7 -7 -7 -7 -6 -4 -1 0 1 0 -0 -1 -1 -2 -2 -2 -1 -2 -3 -3 -3 -4 -6 -7 -11 -15 -18 -18 -15 -5 -2 -1 -0 -1 -3 -5 -7 -6 -3 -0 -1 -3 -5 -5 -3 -2 -3 -5 -6 -5 -4 -3 -4 -3 -1 1 2 1 -0 -0 0 1 1 1 -1 -2 -3 -3 -3 -2 -2 -1 -0 1 3 3 2 0 -2 -4 -6 -7 -7 -6 -6 -7 -9 -11 -11 -11 -9 -8 -8 -10 -11 -9 -5 -4 -8 -14 -16 -14 -9 -4 -4 -5 -4 -2 1 5 7 6 5 2 1 1 2 3 3 2 1 0 1 3 6 8 9 10 9 8 5 1 -1 0 2 4 5 5 5 5 5 5 5 5 5 5 5 5 6 7 7 8 9 10 11 11 10 10 9 9 9 9 9 9 10 10 11 11 12 13 13 14 15 15 14 12 11 10 9 8 8 9 10 11 11 10 9 7 6 5 5 5 4 3 2 1 1 -1 -3 -5 -6 -5 -4 -3 -3 -3 -4 -6 -8 -11 -12 -13 -11 -8 -8 -9 -10 -10 -9 -8 -7 -8 -9 -10 -10 -9 -8 -7 -6 -5 -4 -2 0 2 3 4 5 5 5 5 6 6 7 7 7 7 7 8 8 9 9 10 10 10 10 9 9 8 7 7 7 7 8 9 11 13 14 16 17 18 18 19 19 19 20 20 21 22 22 22 21 20 17 14 11 9 8 7 7 7 7 6 5 5 4 5 5 5 6 5 5 5 4 3 2 2 2 2 3 5 6 7 7 7 7 7 7 6 5 4 5 10 23 33 31 21 13 13 16 19 21 25 30 35 39 42 44 47 49 51 50 49 48 46 44 40 36 -73 -69 -67 -67 -68 -68 -70 -72 -71 -70 -67 -64 -62 -61 -60 -61 -61 -62 -64 -66 -65 -62 -59 -56 -53 -51 -47 -44 -41 -41 -41 -42 -44 -46 -48 -47 -45 -43 -41 -38 -34 -30 -26 -25 -25 -25 -24 -24 -24 -25 -25 -24 -23 -20 -17 -14 -11 -9 -8 -8 -9 -10 -9 -8 -7 -7 -7 -7 -6 -4 -2 0 2 2 2 1 1 1 0 -0 -0 -1 -1 -1 -1 -0 -1 -2 -4 -5 -8 -13 -16 -16 -5 -2 -0 0 -1 -3 -5 -6 -5 -2 0 -1 -4 -6 -5 -3 -2 -3 -5 -6 -5 -4 -3 -4 -3 -1 0 0 -0 -1 -1 0 1 2 2 1 -0 -1 -2 -2 -2 -2 -1 1 3 4 3 2 -0 -2 -4 -5 -5 -5 -6 -7 -8 -9 -10 -10 -8 -7 -7 -8 -9 -8 -6 -5 -7 -12 -15 -14 -9 -5 -4 -5 -4 -2 1 4 6 5 3 1 -1 -1 -0 1 1 1 -0 -1 -1 1 3 6 7 7 7 5 3 1 -0 0 3 4 5 5 4 4 4 4 4 4 4 4 4 4 5 5 6 7 9 9 9 9 8 7 7 7 8 9 10 11 11 11 11 11 12 12 13 13 14 14 12 11 10 9 8 8 8 8 8 9 9 9 8 7 6 5 5 4 3 3 3 3 3 2 0 -2 -4 -4 -4 -3 -2 -2 -3 -4 -6 -8 -10 -11 -10 -7 -5 -6 -8 -9 -8 -6 -5 -5 -6 -8 -9 -8 -7 -6 -5 -4 -3 -1 1 2 3 4 5 5 5 5 5 5 5 5 5 5 6 6 7 8 9 9 10 10 10 10 10 9 9 8 8 7 7 8 8 10 11 13 15 16 17 18 19 19 19 19 19 20 21 21 21 21 21 21 20 17 13 9 8 8 9 9 8 7 5 4 4 4 5 6 6 6 5 4 3 1 1 1 1 2 3 4 4 4 5 5 6 6 6 7 9 13 22 34 39 35 25 16 15 15 17 19 24 29 33 37 41 44 47 49 49 48 46 44 42 41 38 36 -72 -69 -68 -69 -69 -69 -69 -70 -69 -68 -66 -64 -63 -62 -62 -62 -62 -62 -62 -63 -62 -61 -58 -55 -52 -48 -43 -40 -38 -39 -40 -42 -43 -45 -45 -44 -43 -42 -41 -38 -33 -28 -25 -25 -25 -25 -25 -25 -25 -25 -25 -24 -22 -20 -17 -15 -13 -11 -10 -10 -10 -9 -8 -7 -7 -7 -6 -5 -4 -2 0 2 3 3 3 3 3 3 3 2 1 1 1 1 1 2 2 0 -2 -1 -3 -7 -11 -16 -6 -2 0 1 -1 -3 -5 -6 -4 -1 1 -1 -4 -5 -4 -2 -1 -2 -4 -4 -4 -3 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 0 2 2 2 2 1 -0 -1 -2 -1 -0 2 3 3 2 1 -1 -2 -3 -3 -4 -5 -6 -7 -8 -9 -8 -7 -5 -5 -6 -8 -8 -6 -4 -5 -8 -12 -12 -9 -5 -4 -4 -3 -1 1 3 5 5 2 -1 -2 -2 -1 -0 -0 -1 -2 -2 -2 -1 2 4 5 5 4 3 1 -1 -1 -0 2 4 5 4 3 2 2 3 3 3 2 2 3 3 3 4 4 5 6 7 7 7 6 6 6 6 7 9 11 12 13 13 13 13 12 13 13 13 13 13 12 11 10 9 9 9 8 8 8 8 8 8 7 7 6 5 5 5 4 3 4 4 5 5 3 1 -1 -2 -3 -2 -1 -1 -1 -1 -2 -4 -6 -7 -7 -5 -3 -4 -6 -8 -8 -6 -4 -3 -4 -6 -7 -7 -6 -5 -4 -4 -2 -0 2 3 4 5 5 5 6 6 6 6 5 4 4 4 4 5 7 8 9 9 10 10 11 11 11 10 10 10 9 9 8 8 8 8 9 10 12 13 15 16 17 19 20 20 20 20 20 20 20 20 21 21 22 22 22 21 21 22 22 20 16 14 12 10 8 6 6 6 6 6 6 5 4 3 1 0 -0 -0 0 1 2 3 4 5 6 6 7 7 8 11 15 22 29 32 29 23 17 14 13 13 15 19 24 28 32 36 40 44 46 46 44 41 39 38 37 36 34 -72 -69 -70 -71 -71 -70 -69 -67 -66 -66 -66 -65 -64 -64 -64 -64 -64 -63 -62 -62 -60 -59 -57 -54 -50 -46 -40 -36 -36 -38 -40 -42 -42 -43 -43 -43 -42 -42 -40 -37 -32 -28 -26 -26 -27 -27 -27 -26 -25 -25 -25 -24 -22 -20 -18 -17 -15 -13 -12 -11 -10 -9 -7 -6 -6 -6 -6 -4 -2 -0 2 4 4 5 5 5 5 5 4 4 3 3 3 4 3 4 5 3 2 2 1 -2 -6 -15 -9 -2 1 1 -1 -3 -5 -5 -3 -0 0 -1 -2 -3 -2 -1 0 -0 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -2 -1 -0 1 2 3 3 2 1 -0 -1 -0 1 2 2 2 1 0 -1 -1 -2 -2 -3 -5 -6 -7 -7 -7 -5 -4 -3 -4 -6 -6 -5 -3 -3 -5 -8 -10 -8 -5 -3 -2 -1 0 2 4 5 5 3 -0 -2 -2 -2 -1 -1 -2 -3 -4 -4 -2 -0 2 3 3 2 0 -1 -2 -3 -1 1 3 4 3 2 1 1 1 2 1 1 1 1 2 2 3 3 3 3 4 4 5 6 6 7 7 8 9 11 12 13 14 14 14 14 14 14 14 14 13 12 11 10 10 10 10 9 9 9 9 8 8 7 7 7 6 6 6 5 5 6 7 7 7 5 3 1 -0 -1 -0 1 2 2 2 1 1 -1 -2 -2 -2 -1 -1 -4 -6 -7 -6 -3 -2 -2 -3 -5 -6 -5 -4 -4 -3 -2 -0 2 3 4 5 6 6 6 7 7 7 7 7 6 5 5 5 6 7 8 9 10 10 11 11 11 12 11 11 11 10 10 9 9 8 8 9 10 11 12 14 15 17 18 20 21 21 21 21 21 21 21 21 21 22 23 24 24 23 23 22 21 23 26 26 23 19 15 12 11 9 8 7 6 5 3 1 -0 -1 -1 -2 -1 0 2 4 6 7 8 7 8 9 11 14 18 22 24 23 19 15 12 10 9 11 14 17 21 25 29 34 38 40 39 37 33 31 31 32 32 32 -72 -70 -71 -72 -72 -71 -69 -67 -64 -64 -65 -66 -66 -65 -65 -65 -65 -64 -63 -62 -60 -58 -55 -52 -48 -43 -37 -35 -35 -38 -41 -41 -41 -42 -42 -42 -42 -41 -39 -35 -32 -30 -29 -29 -29 -28 -26 -25 -25 -25 -25 -24 -22 -21 -20 -18 -16 -14 -12 -11 -9 -7 -6 -6 -6 -6 -5 -3 -1 2 4 5 6 6 7 7 6 6 5 5 5 5 6 5 6 7 7 6 5 5 3 0 -2 -10 -10 -2 2 1 -2 -3 -5 -5 -3 -0 -0 -0 -0 -0 0 1 1 1 0 -0 -1 -1 -2 -1 -0 -0 -1 -0 -0 -1 -1 -1 0 1 2 2 3 2 2 1 0 1 1 1 1 0 0 1 1 0 -0 -0 -2 -5 -6 -7 -5 -3 -2 -2 -3 -4 -5 -4 -2 -2 -3 -5 -8 -7 -4 -2 -1 0 2 3 5 5 5 4 1 -1 -2 -2 -2 -2 -3 -4 -5 -5 -4 -2 0 1 1 -0 -2 -3 -4 -4 -3 -1 2 3 2 1 0 0 1 1 1 1 1 1 2 2 2 2 2 2 2 3 4 5 6 7 8 9 10 11 12 13 14 14 14 15 15 16 16 16 15 14 13 12 12 11 11 11 10 10 10 9 9 8 7 7 7 8 8 8 8 10 11 11 10 8 5 3 2 1 2 3 5 6 6 5 4 3 2 1 1 1 1 -1 -4 -5 -4 -3 -1 -0 -1 -3 -4 -4 -3 -3 -2 -2 -1 1 3 4 5 6 6 7 7 8 8 9 9 9 8 8 7 7 8 8 9 10 11 11 11 11 12 12 12 12 12 11 11 11 10 10 9 10 10 11 12 13 15 16 18 19 21 22 22 23 23 23 23 23 23 23 24 25 25 24 23 22 22 22 23 24 25 26 25 23 19 15 13 10 7 5 3 1 -1 -2 -3 -3 -2 -1 1 4 7 9 8 8 8 9 11 13 16 18 20 20 16 12 9 8 8 9 9 10 13 17 22 26 29 29 27 25 23 23 23 24 26 27 -72 -72 -72 -72 -73 -72 -70 -67 -64 -63 -64 -65 -66 -66 -66 -65 -65 -64 -63 -62 -60 -58 -55 -51 -47 -41 -35 -34 -36 -39 -41 -40 -40 -41 -42 -42 -42 -41 -38 -35 -33 -32 -32 -31 -29 -27 -26 -25 -25 -25 -24 -23 -22 -22 -21 -19 -17 -14 -12 -9 -7 -5 -5 -5 -5 -5 -4 -2 0 3 5 6 7 8 8 8 7 7 6 6 6 7 8 4 5 8 9 7 5 5 2 0 -0 -4 -6 0 2 0 -2 -4 -5 -3 -2 -0 0 1 2 3 3 2 2 2 2 1 -0 -1 -0 1 1 1 0 0 1 0 0 -0 -1 -0 1 1 2 2 2 1 1 1 1 -0 -1 -1 0 1 1 1 1 0 -2 -4 -6 -5 -2 -0 -1 -2 -4 -4 -4 -2 -1 -1 -3 -6 -6 -4 -2 -0 1 3 4 6 6 6 5 3 1 -1 -1 -2 -3 -3 -4 -5 -6 -5 -3 -1 -0 -1 -2 -3 -4 -5 -5 -4 -2 -0 1 0 -1 -1 -1 -0 1 1 2 2 2 2 3 3 3 2 2 2 2 3 4 6 7 8 9 10 11 12 13 14 14 14 14 15 16 17 17 17 16 15 14 14 14 13 12 12 11 11 11 10 9 8 8 8 8 9 10 11 13 14 14 13 11 7 5 4 4 4 6 8 10 10 10 8 7 5 4 3 2 2 1 -2 -3 -3 -2 -0 1 1 0 -1 -2 -3 -2 -1 -1 -1 0 1 3 4 5 6 7 7 7 8 9 9 10 10 10 10 10 9 9 10 10 11 11 11 11 12 12 12 12 11 11 11 11 11 11 11 11 11 11 12 12 13 14 15 17 18 20 21 22 23 24 24 24 24 25 25 25 25 25 25 25 24 23 22 22 23 23 24 24 24 23 22 18 14 10 4 1 -2 -3 -4 -4 -4 -3 -1 1 4 7 8 8 8 8 9 11 13 15 16 17 16 14 12 10 9 9 9 8 6 7 10 15 18 17 13 10 10 14 16 16 16 18 22 -73 -73 -72 -72 -73 -73 -71 -67 -64 -62 -63 -64 -65 -65 -65 -65 -65 -64 -62 -61 -60 -58 -56 -53 -48 -39 -34 -34 -36 -39 -39 -39 -40 -41 -43 -43 -42 -40 -38 -36 -35 -34 -32 -31 -28 -26 -25 -25 -25 -25 -24 -23 -23 -23 -21 -20 -17 -14 -11 -8 -5 -4 -3 -3 -4 -4 -3 -1 1 3 5 7 8 8 9 9 8 7 7 6 7 7 7 3 4 7 10 7 5 2 -0 -1 -0 -0 -1 3 4 1 -2 -4 -3 -1 -0 0 1 3 4 4 4 4 4 4 3 1 0 0 2 3 3 2 1 1 2 1 -0 -2 -2 -1 0 1 2 2 2 2 1 1 -0 -2 -3 -3 -0 0 0 -0 -0 -0 -2 -4 -3 -1 1 0 -2 -4 -4 -4 -2 -0 -1 -3 -5 -6 -4 -2 0 2 4 6 7 7 7 6 5 3 1 0 -1 -2 -3 -3 -4 -5 -5 -4 -3 -1 -2 -2 -3 -4 -5 -5 -5 -3 -1 -0 -1 -2 -3 -2 -1 -0 1 2 2 3 3 4 4 3 3 3 2 3 3 4 5 7 8 9 10 11 12 13 14 14 13 14 14 15 16 17 17 17 17 17 16 16 15 14 13 13 12 12 12 11 10 10 9 10 10 11 13 15 16 16 15 12 9 7 6 6 7 9 11 13 14 13 12 10 8 6 4 3 2 2 0 -1 -1 -0 1 3 3 3 1 -0 -1 -1 -0 -0 -0 0 1 2 3 4 5 6 7 7 8 8 9 10 10 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 11 11 11 10 10 10 10 10 11 11 12 12 13 13 14 15 16 17 18 20 21 22 23 24 25 25 26 26 26 26 26 26 25 25 24 23 23 23 23 23 23 23 22 21 21 20 17 6 1 -3 -7 -9 -6 -5 -3 -2 1 3 5 7 7 6 7 8 10 12 13 14 14 13 12 12 12 12 13 12 9 7 6 9 12 12 8 2 1 7 19 20 14 9 10 17 -73 -72 -72 -72 -73 -73 -71 -68 -64 -62 -61 -63 -64 -63 -63 -63 -63 -63 -62 -61 -59 -57 -55 -52 -46 -38 -34 -33 -36 -38 -39 -40 -41 -43 -44 -44 -43 -40 -39 -38 -37 -35 -32 -30 -28 -27 -26 -26 -26 -25 -24 -23 -22 -22 -21 -19 -16 -13 -10 -7 -5 -3 -2 -2 -2 -3 -2 -1 1 3 5 7 8 9 9 9 9 8 7 6 6 6 4 2 3 6 8 7 5 1 -2 -3 -0 4 5 7 5 2 -2 -3 -1 0 1 1 2 4 6 5 5 5 5 4 3 1 1 2 4 5 4 3 2 2 2 1 -2 -3 -3 -1 0 1 2 2 2 2 1 0 -1 -3 -4 -4 -2 -2 -2 -3 -2 -2 -2 -2 -0 1 -0 -2 -4 -5 -4 -2 -0 -1 -3 -5 -6 -5 -2 1 3 6 7 8 8 8 7 6 4 3 2 0 -1 -2 -2 -2 -3 -4 -4 -3 -2 -2 -3 -3 -4 -4 -4 -4 -3 -2 -1 -1 -2 -3 -3 -2 -1 -0 1 1 2 3 4 4 4 4 3 3 3 4 5 6 7 8 9 10 11 12 13 13 13 13 13 14 14 15 16 17 17 17 18 18 17 17 16 15 14 14 13 13 13 12 12 11 11 12 12 14 16 18 17 15 13 10 9 9 9 10 11 12 14 15 15 14 12 11 9 7 5 3 2 2 1 1 1 2 4 5 5 4 2 1 0 1 1 1 1 1 1 2 3 4 5 6 7 8 9 9 9 10 11 11 12 12 12 13 13 13 13 13 14 14 14 13 13 13 12 11 11 10 9 9 9 8 9 10 11 11 12 13 13 14 15 16 17 18 20 21 22 23 24 25 26 26 26 26 26 26 26 25 25 25 24 24 24 24 24 23 23 22 20 18 15 12 8 1 -5 -6 -1 -5 -4 -3 -1 1 3 4 4 4 5 7 9 11 11 11 11 10 10 11 12 13 14 14 12 10 10 12 13 10 5 2 5 16 29 27 16 8 7 14 -73 -71 -71 -72 -72 -72 -71 -67 -63 -61 -60 -61 -63 -62 -61 -61 -61 -61 -61 -59 -58 -56 -54 -50 -44 -37 -33 -33 -36 -39 -40 -42 -44 -45 -46 -46 -44 -42 -41 -39 -37 -34 -32 -30 -28 -28 -28 -28 -27 -26 -24 -23 -21 -21 -20 -18 -15 -13 -10 -7 -5 -4 -3 -2 -2 -2 -1 -0 1 3 5 6 8 8 9 9 9 8 7 6 5 4 2 2 3 5 5 4 4 -0 -3 -4 -1 6 9 9 8 4 0 -1 1 2 2 1 3 6 7 6 6 6 5 4 3 3 3 4 5 5 5 4 3 3 2 -1 -3 -3 -3 -1 0 1 1 2 2 2 1 1 -1 -3 -4 -4 -4 -4 -4 -4 -4 -3 -1 0 0 -1 -4 -6 -5 -3 -1 -0 -1 -4 -6 -6 -5 -2 2 5 7 9 10 10 9 7 6 5 4 3 1 -0 -1 -1 -0 -1 -2 -3 -3 -2 -2 -2 -3 -4 -3 -3 -3 -2 -1 -1 -1 -1 -2 -2 -2 -2 -1 -1 -0 0 1 2 3 3 3 4 4 4 5 6 7 8 9 10 11 12 12 13 13 13 13 13 14 14 15 15 16 16 17 17 18 17 17 16 15 15 15 15 14 14 14 13 13 13 13 14 15 16 18 18 16 14 12 10 11 11 12 12 12 13 13 13 12 11 11 10 9 7 5 4 3 2 2 3 3 5 6 7 7 5 3 2 2 2 3 2 2 2 2 3 4 4 5 7 8 8 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 16 16 16 15 14 14 13 12 11 10 9 9 8 8 8 9 9 10 11 12 13 13 14 15 17 18 19 21 22 23 24 25 25 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 25 23 21 19 16 13 12 10 10 10 2 2 5 7 3 3 2 2 3 3 5 8 9 10 9 8 8 8 9 10 11 12 12 12 12 14 16 15 11 8 9 14 24 31 27 18 11 11 15 -73 -70 -69 -71 -71 -72 -71 -68 -63 -60 -59 -60 -61 -61 -59 -59 -59 -60 -59 -58 -57 -55 -53 -50 -44 -37 -33 -33 -36 -40 -42 -43 -45 -48 -48 -48 -46 -44 -42 -40 -37 -34 -32 -30 -30 -30 -30 -30 -28 -26 -24 -22 -21 -20 -18 -17 -14 -12 -10 -8 -7 -6 -4 -3 -2 -2 -1 1 2 3 5 6 7 8 8 8 8 7 6 5 3 2 1 3 3 3 3 2 1 -1 -4 -4 -1 7 13 11 9 7 2 0 2 2 2 2 3 7 8 7 6 5 5 5 5 5 5 5 6 6 5 5 4 3 1 -1 -2 -2 -1 -0 1 1 1 2 2 2 1 0 -1 -3 -4 -4 -4 -4 -5 -6 -5 -3 -1 -0 -2 -5 -7 -6 -3 -0 1 -0 -4 -6 -6 -4 -1 3 6 9 12 12 12 10 8 6 5 4 3 2 -0 -1 -0 1 2 1 -1 -2 -2 -1 -2 -3 -4 -4 -3 -2 -2 -2 -1 -1 -1 -2 -2 -2 -1 -1 -1 -1 -1 -0 0 1 2 2 3 3 4 5 7 8 9 10 11 11 12 12 12 12 12 12 13 13 14 14 15 15 16 16 17 17 17 17 16 16 15 15 15 15 15 15 15 15 15 15 15 16 17 18 18 17 15 13 12 12 13 13 12 12 11 11 10 9 9 9 10 10 9 8 6 5 4 4 4 5 6 7 9 10 8 6 4 3 3 4 4 4 3 3 4 4 4 5 6 7 8 9 10 10 11 12 12 12 13 13 14 14 15 16 17 17 18 18 18 18 17 16 15 15 14 13 12 11 10 9 8 8 8 8 8 9 10 10 11 13 14 15 16 18 19 20 22 22 23 24 24 25 25 25 26 27 27 28 28 29 29 29 29 29 29 29 28 27 24 22 19 17 15 15 14 14 15 17 17 12 12 11 9 7 7 8 9 11 11 9 7 6 5 5 6 7 8 9 10 11 13 16 15 13 12 14 19 25 26 24 20 17 15 15 -74 -70 -68 -69 -70 -71 -70 -67 -62 -59 -58 -58 -59 -59 -57 -57 -58 -58 -58 -57 -55 -54 -53 -49 -44 -38 -34 -34 -37 -41 -43 -45 -47 -49 -50 -49 -47 -44 -42 -39 -37 -35 -34 -32 -32 -32 -32 -31 -30 -27 -24 -22 -20 -18 -17 -15 -14 -12 -11 -10 -9 -8 -7 -5 -3 -1 0 2 3 4 5 5 6 7 7 8 8 7 5 4 2 1 1 3 3 2 1 -1 -2 -4 -6 -5 -2 6 14 9 7 6 4 2 3 3 2 2 4 8 8 7 6 5 6 7 7 7 6 7 8 7 6 5 4 3 1 0 -0 0 1 1 2 2 2 2 2 2 1 0 -1 -2 -3 -3 -3 -4 -6 -6 -5 -3 -2 -3 -5 -7 -6 -3 0 2 2 -1 -4 -5 -3 0 4 8 11 13 14 13 10 7 6 5 4 3 2 -0 -1 0 2 3 2 0 -1 -1 -1 -1 -2 -4 -4 -4 -3 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -2 -2 -1 -1 -0 0 0 1 2 3 5 6 8 9 10 11 11 12 12 12 12 12 12 12 13 13 14 14 15 15 16 16 16 17 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 16 17 17 17 16 14 13 13 13 13 12 11 10 9 9 8 8 8 9 10 10 9 8 7 6 5 5 5 6 8 10 11 11 9 7 6 5 5 5 5 5 5 5 5 5 5 6 7 8 8 9 10 10 11 12 13 13 14 14 14 14 15 16 17 18 19 19 19 19 19 18 17 16 16 15 14 13 12 11 10 9 8 8 8 7 8 8 9 10 12 13 14 16 17 18 19 20 21 21 22 22 23 23 24 26 27 28 29 30 31 32 32 32 33 33 32 32 30 28 26 24 22 21 20 20 20 20 21 21 21 21 19 18 17 18 18 18 17 13 9 7 5 5 4 4 5 6 7 9 11 13 13 12 11 12 15 18 20 21 20 18 17 13 -74 -71 -69 -68 -69 -69 -68 -66 -61 -58 -57 -57 -57 -57 -56 -56 -57 -57 -57 -55 -54 -53 -52 -49 -45 -39 -34 -34 -37 -42 -45 -47 -49 -50 -50 -49 -46 -43 -41 -39 -38 -37 -36 -35 -34 -34 -34 -33 -31 -28 -25 -22 -20 -17 -15 -14 -13 -13 -12 -11 -11 -10 -9 -6 -4 -1 1 3 4 4 5 5 6 6 7 7 7 6 5 3 1 1 2 2 1 0 -2 -3 -5 -7 -8 -7 -4 3 10 4 1 2 3 4 4 3 2 3 6 9 9 8 7 7 10 11 10 9 8 8 9 9 8 6 5 4 3 3 3 3 4 4 4 4 4 4 3 2 1 0 -0 -1 -1 -1 -3 -4 -6 -6 -5 -4 -4 -5 -6 -6 -3 0 2 3 2 -0 -3 -2 1 5 10 13 15 15 14 11 8 6 5 5 4 2 0 -1 0 2 3 2 1 -1 -1 -1 -2 -3 -4 -5 -5 -4 -3 -3 -4 -4 -4 -3 -3 -3 -2 -2 -2 -2 -2 -1 -1 -1 -1 -0 -0 0 1 3 4 6 7 8 9 10 10 10 10 10 11 11 11 12 12 13 13 13 14 14 15 15 15 16 16 16 16 16 16 16 16 15 15 14 14 14 14 14 14 15 15 16 16 16 15 15 14 13 12 10 9 8 8 8 8 8 9 10 10 10 10 9 8 7 7 6 7 8 9 11 12 12 10 8 7 7 7 7 6 6 6 6 6 6 6 7 8 8 9 9 9 10 11 12 13 14 14 14 14 14 15 16 17 18 19 19 19 19 19 19 18 18 17 17 17 16 14 13 12 11 10 9 8 8 7 7 7 8 9 10 12 13 14 16 16 17 18 18 18 19 19 20 21 23 24 26 28 30 31 32 33 34 34 35 35 35 34 33 32 31 29 28 27 27 27 26 26 26 26 26 26 26 26 26 26 26 24 22 19 16 14 12 10 8 7 6 6 7 9 10 10 10 9 9 11 14 16 16 15 14 13 9 -75 -72 -69 -68 -67 -67 -66 -65 -61 -58 -56 -56 -56 -55 -54 -55 -56 -56 -55 -54 -53 -52 -51 -50 -47 -41 -35 -34 -38 -43 -46 -48 -50 -50 -49 -47 -44 -42 -41 -41 -40 -39 -37 -36 -36 -36 -35 -33 -30 -28 -25 -22 -19 -16 -13 -13 -13 -13 -12 -11 -11 -11 -9 -7 -3 -0 2 3 4 4 5 6 6 6 6 6 6 5 4 2 1 1 1 0 -1 -3 -5 -7 -8 -9 -10 -9 -6 -2 2 -2 -6 -4 2 5 5 4 4 5 8 9 9 8 9 11 14 14 12 11 10 10 11 11 10 8 6 6 6 7 7 7 7 7 7 7 6 5 3 2 2 1 0 0 -0 -1 -2 -4 -5 -5 -5 -5 -5 -5 -4 -2 1 2 2 2 2 1 0 3 6 11 14 16 17 16 13 10 7 5 5 4 3 1 -0 0 2 3 2 1 -1 -2 -2 -3 -4 -6 -7 -7 -6 -4 -4 -4 -5 -6 -5 -5 -4 -4 -3 -3 -3 -2 -1 -1 -0 -0 -0 -0 -0 0 1 2 4 5 6 7 8 8 9 9 9 9 10 10 11 11 12 12 12 12 13 13 13 14 14 15 15 16 16 16 16 16 15 15 14 14 13 13 13 13 14 14 15 16 16 16 16 15 13 12 10 9 9 9 9 9 9 10 11 11 11 11 10 10 9 9 8 8 8 9 11 12 12 11 10 9 9 9 8 8 8 8 7 7 7 7 7 7 8 8 9 9 9 9 10 11 12 13 14 14 14 14 15 15 17 18 18 19 19 19 19 19 19 19 19 18 18 18 17 15 14 12 11 10 9 9 8 7 7 7 8 8 9 10 11 12 13 13 14 14 14 14 15 16 17 18 20 22 25 27 29 30 32 33 34 35 35 36 36 36 36 35 35 34 33 33 33 32 32 31 31 30 30 30 30 31 31 31 30 28 26 25 23 22 20 16 12 9 7 7 8 9 9 9 8 8 10 11 10 9 8 7 6 2 -76 -73 -70 -68 -66 -66 -66 -64 -62 -59 -57 -56 -55 -54 -54 -55 -56 -55 -54 -53 -52 -51 -51 -51 -50 -45 -37 -35 -38 -43 -46 -48 -49 -48 -47 -46 -44 -44 -43 -43 -41 -39 -37 -37 -37 -35 -33 -31 -30 -28 -26 -22 -18 -15 -14 -14 -13 -12 -10 -9 -10 -10 -9 -6 -3 -0 1 2 3 4 5 7 7 7 7 6 5 4 2 2 1 1 0 -1 -3 -5 -8 -10 -11 -12 -11 -10 -9 -7 -6 -6 -8 -7 2 7 7 7 7 8 10 10 10 10 12 15 16 15 14 13 12 12 13 12 11 10 9 9 10 10 11 11 11 11 11 9 7 6 4 4 3 2 1 -0 -1 -1 -2 -3 -3 -4 -5 -6 -5 -3 -1 2 2 1 1 2 3 3 4 8 12 15 17 18 17 15 12 9 6 6 6 4 2 1 1 2 3 2 1 -1 -2 -3 -3 -5 -7 -8 -9 -7 -5 -4 -5 -6 -7 -6 -6 -5 -5 -5 -5 -4 -3 -2 -1 -0 0 0 0 0 0 1 1 2 3 3 4 5 6 7 7 8 8 9 9 10 10 10 10 11 11 11 11 11 12 12 13 13 14 15 16 16 16 15 15 14 14 13 13 13 13 13 14 15 16 17 17 16 15 14 12 11 11 10 10 11 11 11 12 12 13 12 12 11 12 11 11 10 10 10 10 11 12 12 11 10 10 10 10 10 10 9 9 9 8 8 8 8 8 8 8 8 8 9 9 9 9 10 10 11 12 13 14 14 15 15 16 17 18 18 18 19 19 19 19 19 19 19 19 19 18 17 16 14 13 12 11 10 9 8 8 8 8 8 8 9 9 9 10 10 10 11 11 11 12 12 13 14 16 18 20 22 25 26 28 30 31 32 34 35 35 36 36 37 37 36 36 35 35 35 35 34 33 33 32 32 32 32 33 33 33 32 31 29 27 25 23 19 16 13 11 10 10 10 9 9 8 8 9 8 6 5 3 2 0 -2 -77 -75 -71 -68 -66 -65 -64 -64 -63 -61 -59 -57 -54 -53 -54 -55 -55 -54 -52 -51 -50 -50 -50 -50 -51 -48 -40 -36 -37 -41 -45 -47 -47 -48 -47 -47 -46 -45 -44 -43 -41 -38 -37 -37 -36 -34 -32 -31 -31 -29 -25 -21 -19 -17 -17 -16 -13 -11 -9 -9 -10 -10 -8 -5 -3 -1 -1 0 2 4 6 8 8 7 6 5 3 2 1 0 -0 -0 -1 -3 -5 -8 -10 -13 -14 -14 -13 -12 -11 -12 -10 -6 -7 -6 2 10 11 10 10 11 11 11 11 12 14 16 16 16 16 15 14 14 14 13 12 11 11 12 13 14 14 15 15 15 13 11 8 7 6 6 5 4 2 0 -1 -1 -1 -1 -2 -3 -4 -5 -3 -0 2 3 2 1 2 3 4 6 9 13 16 18 18 17 16 13 10 8 7 7 6 4 2 2 2 4 3 2 -0 -2 -3 -3 -5 -7 -8 -9 -8 -6 -4 -5 -6 -8 -8 -7 -6 -6 -6 -6 -5 -4 -3 -2 -1 -0 -0 0 0 0 1 1 1 1 2 2 3 4 5 5 6 7 8 8 9 9 9 9 10 10 10 11 11 11 11 12 12 13 13 14 14 15 15 15 15 14 14 14 14 14 14 14 15 16 16 17 16 15 14 13 12 12 12 12 12 12 12 12 13 13 13 13 13 13 14 13 13 12 12 12 12 12 12 12 11 10 10 10 10 11 11 10 10 10 9 9 8 8 8 8 8 8 8 8 8 9 9 9 9 10 11 12 13 14 14 15 15 16 17 17 18 18 18 18 18 18 19 19 19 19 19 19 18 16 15 14 12 11 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 11 11 13 14 16 18 20 22 24 26 27 29 30 32 33 34 35 35 36 36 35 35 35 35 35 34 34 33 32 32 32 33 34 34 35 34 33 32 30 29 27 25 22 19 16 14 13 12 11 10 9 8 6 3 2 2 1 1 -1 -2 -78 -75 -71 -68 -65 -64 -63 -61 -61 -61 -60 -58 -56 -54 -54 -54 -53 -52 -51 -49 -49 -48 -48 -48 -48 -48 -43 -38 -36 -38 -43 -46 -48 -49 -49 -47 -45 -44 -43 -42 -40 -38 -38 -37 -35 -34 -33 -32 -31 -28 -24 -22 -21 -20 -19 -17 -14 -11 -10 -10 -10 -9 -7 -6 -4 -4 -3 -2 0 3 6 7 8 7 6 4 2 0 -1 -1 -2 -2 -4 -6 -8 -11 -13 -15 -16 -17 -16 -15 -14 -14 -11 -4 -3 -3 3 12 14 14 14 13 13 13 13 14 15 16 16 16 16 15 15 15 14 13 13 13 14 15 16 16 17 18 18 17 14 11 9 9 9 9 8 6 4 2 1 1 1 1 -0 -2 -3 -2 0 2 3 3 2 3 4 5 6 9 15 18 18 18 17 16 15 12 9 8 8 8 6 4 3 3 4 5 4 1 -1 -3 -3 -4 -6 -8 -9 -8 -6 -4 -5 -6 -8 -9 -7 -7 -6 -7 -7 -6 -5 -4 -3 -2 -1 -1 -1 -0 -0 0 0 1 1 1 2 2 2 3 4 5 6 7 7 8 8 8 8 9 9 9 10 10 11 11 12 12 12 13 13 13 13 14 14 15 15 15 15 15 15 15 15 16 16 16 16 16 15 14 13 13 13 13 13 12 12 11 11 11 12 12 13 14 15 16 16 15 14 14 13 14 14 14 13 12 11 11 11 11 11 11 11 11 11 10 10 9 9 9 8 8 8 8 8 8 8 9 9 9 9 10 10 11 12 13 14 15 15 15 16 16 17 17 17 17 17 17 18 18 19 19 20 19 19 18 17 16 14 13 12 11 11 11 11 11 11 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 12 14 16 18 20 22 23 25 26 28 30 31 32 33 34 34 34 34 34 34 34 34 34 34 33 33 33 34 35 36 36 36 36 35 34 33 33 31 28 25 21 18 17 15 13 11 9 6 1 -2 -3 -0 1 1 0 1 -77 -74 -70 -67 -65 -63 -61 -59 -59 -59 -58 -58 -57 -55 -53 -52 -51 -50 -49 -47 -46 -45 -44 -44 -45 -46 -43 -39 -37 -38 -42 -46 -48 -49 -48 -46 -45 -44 -43 -41 -39 -38 -38 -36 -35 -35 -34 -32 -30 -27 -25 -25 -24 -23 -21 -17 -15 -13 -12 -12 -11 -9 -8 -7 -7 -7 -6 -4 -1 2 4 6 7 6 5 3 1 -1 -2 -3 -3 -5 -7 -9 -11 -14 -16 -17 -19 -19 -18 -17 -15 -14 -10 -1 2 2 3 11 16 17 16 16 15 15 15 15 16 16 16 16 15 15 15 15 14 14 14 15 16 17 17 18 19 19 19 18 15 12 11 11 12 12 10 8 7 5 4 3 3 2 2 1 1 2 3 4 4 4 5 6 6 7 10 15 19 19 17 16 16 15 13 10 9 9 9 8 5 4 4 4 6 5 3 1 -2 -3 -4 -5 -7 -8 -8 -6 -4 -4 -6 -8 -9 -8 -7 -7 -7 -7 -7 -6 -5 -4 -3 -2 -2 -2 -2 -1 -1 -1 -0 0 1 1 2 2 2 2 3 4 5 6 7 7 8 8 8 8 9 9 9 9 10 10 11 12 12 13 13 13 13 14 14 15 16 16 17 17 17 17 17 17 17 16 16 15 14 14 13 13 12 12 11 10 9 9 9 9 10 12 13 15 16 17 17 16 15 15 15 15 15 15 14 13 12 12 12 12 12 12 12 11 11 11 10 10 10 9 9 8 8 8 8 8 9 9 9 9 9 10 10 10 11 12 13 14 15 15 15 15 16 16 16 16 16 16 16 17 18 18 19 19 19 19 19 18 17 15 14 13 12 12 12 12 12 12 11 11 11 11 11 11 11 11 11 10 10 9 8 9 10 11 13 15 17 18 20 21 22 24 26 28 30 31 32 33 33 33 33 33 34 34 34 34 34 34 35 35 36 37 38 38 38 37 37 37 36 35 33 29 26 23 20 18 15 13 10 5 -2 -6 -6 -1 2 1 2 3 -76 -73 -70 -67 -65 -63 -60 -58 -57 -57 -57 -57 -56 -54 -50 -49 -48 -47 -46 -45 -44 -42 -41 -42 -43 -44 -44 -43 -41 -41 -42 -44 -46 -47 -46 -45 -44 -43 -42 -40 -39 -39 -38 -37 -37 -36 -34 -32 -29 -28 -27 -27 -26 -24 -20 -17 -16 -15 -14 -14 -12 -10 -10 -10 -10 -10 -8 -6 -3 -1 1 3 5 5 4 2 -1 -2 -3 -4 -6 -8 -11 -12 -14 -16 -18 -19 -20 -20 -19 -17 -14 -12 -9 -1 5 6 3 7 15 18 18 17 16 16 16 16 16 16 16 15 15 15 15 15 14 14 15 16 17 18 18 18 19 19 19 17 14 13 13 14 15 14 13 11 10 8 7 6 5 4 4 4 5 5 5 5 6 7 8 8 9 11 16 19 19 17 15 15 15 14 11 10 10 10 9 7 5 4 5 6 7 6 3 0 -2 -3 -4 -6 -7 -7 -6 -4 -4 -6 -8 -9 -9 -8 -7 -8 -8 -8 -7 -5 -5 -4 -3 -3 -3 -3 -3 -3 -2 -2 -1 -0 0 1 1 1 2 2 3 3 4 5 6 7 7 8 8 8 8 8 8 8 8 9 10 11 12 13 13 13 14 14 15 16 16 17 17 17 17 18 17 17 17 16 16 15 14 13 13 12 11 10 9 8 7 7 8 9 11 12 14 15 16 16 15 15 15 15 15 15 15 15 15 14 14 14 14 13 13 13 12 12 12 11 11 11 10 10 9 9 9 8 8 9 9 9 10 10 10 10 10 10 11 12 13 14 14 15 15 15 15 15 15 15 15 15 15 15 16 17 18 18 19 19 20 20 19 18 16 15 14 14 13 13 13 13 12 12 12 12 12 12 11 11 11 10 9 9 8 7 8 9 10 12 14 16 17 18 19 21 22 24 26 29 30 32 33 33 33 34 34 34 34 35 35 36 36 36 37 37 38 38 38 38 38 38 37 36 34 32 29 27 24 21 18 14 11 5 -1 -5 -4 2 3 3 3 4 -74 -71 -68 -66 -64 -62 -59 -56 -55 -55 -54 -54 -53 -51 -48 -46 -46 -46 -46 -45 -43 -41 -41 -42 -43 -44 -46 -46 -46 -45 -44 -44 -44 -44 -44 -44 -43 -42 -41 -40 -40 -39 -39 -39 -38 -36 -34 -32 -30 -30 -30 -29 -26 -22 -18 -17 -17 -17 -17 -16 -13 -12 -12 -12 -12 -11 -10 -8 -6 -4 -2 0 2 2 1 -0 -2 -3 -5 -7 -9 -12 -14 -15 -15 -17 -18 -20 -20 -19 -16 -14 -11 -9 -8 -3 4 8 4 2 12 16 18 17 16 16 16 16 17 16 16 15 15 15 15 14 14 14 15 16 17 17 17 17 18 18 17 16 14 14 15 16 17 16 14 13 12 12 10 9 8 7 7 7 8 8 7 7 8 9 9 10 12 16 20 20 17 15 15 15 14 12 11 11 11 11 8 6 4 5 6 8 8 5 2 -1 -2 -3 -5 -6 -6 -5 -4 -4 -6 -8 -10 -9 -8 -7 -8 -9 -9 -8 -6 -6 -5 -5 -4 -4 -4 -4 -4 -4 -3 -2 -2 -1 -0 0 1 1 1 2 3 3 4 5 6 6 7 8 8 8 7 7 7 7 7 8 9 10 12 13 14 14 15 16 16 16 16 16 16 16 17 17 17 17 17 16 15 15 14 13 12 11 10 9 7 7 7 7 9 10 11 12 13 13 13 13 13 14 14 14 14 15 15 16 16 16 16 15 15 15 14 14 13 13 13 12 12 12 11 10 10 9 9 9 9 9 10 10 11 11 11 11 11 11 11 12 12 13 14 14 14 15 15 14 14 14 14 14 14 14 15 15 16 17 18 18 19 20 20 19 19 17 16 15 15 14 14 13 13 13 13 12 12 12 11 11 10 10 9 8 8 7 7 7 8 10 11 13 14 16 17 18 19 21 23 25 27 29 31 32 33 33 33 34 34 35 35 36 36 36 37 37 37 38 38 38 37 37 36 35 34 32 31 29 27 24 21 17 14 9 5 2 3 6 6 5 5 5 -72 -69 -66 -64 -63 -61 -58 -55 -52 -52 -53 -52 -51 -49 -46 -45 -46 -47 -47 -45 -44 -43 -42 -43 -44 -45 -47 -48 -49 -49 -48 -46 -44 -43 -43 -43 -42 -40 -40 -40 -40 -40 -40 -39 -37 -35 -33 -32 -32 -32 -30 -28 -23 -19 -17 -18 -18 -19 -18 -17 -15 -13 -13 -13 -13 -12 -11 -10 -8 -6 -5 -3 -2 -2 -2 -3 -4 -5 -7 -10 -14 -16 -16 -16 -16 -17 -18 -19 -17 -15 -12 -10 -9 -7 -6 -5 1 6 6 -1 6 13 16 16 16 15 15 16 16 16 15 15 15 14 14 13 13 13 14 14 15 15 15 15 16 16 15 14 14 16 17 18 18 17 16 15 15 15 14 12 11 11 10 11 11 10 9 9 9 10 10 13 17 20 21 18 15 14 14 14 13 12 12 13 12 10 6 4 5 6 8 8 7 4 1 -1 -2 -3 -4 -4 -4 -3 -4 -5 -8 -10 -9 -8 -6 -7 -9 -9 -9 -8 -7 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -3 -2 -1 -1 -0 0 1 1 2 3 4 5 5 6 6 7 7 7 7 7 6 6 6 6 7 9 10 11 13 14 15 16 16 16 15 15 15 15 15 15 16 16 16 16 15 15 14 13 12 11 10 9 7 7 7 8 9 11 11 12 12 12 11 11 11 12 12 13 13 13 14 15 16 16 17 17 17 16 16 16 15 15 14 14 14 13 13 12 12 11 10 10 10 10 10 10 11 11 12 12 12 12 12 12 12 12 13 13 14 14 14 14 14 14 14 13 13 13 13 13 14 15 15 16 17 18 19 19 20 20 19 18 17 16 15 14 14 13 13 13 12 12 11 11 10 10 9 9 8 8 7 7 7 7 8 9 10 12 14 15 16 17 18 20 21 23 25 28 29 31 32 32 33 34 34 35 36 36 36 36 37 37 37 37 37 37 35 34 34 33 32 31 30 29 27 24 21 18 14 12 11 11 11 10 8 7 6 -71 -68 -64 -61 -61 -60 -57 -53 -51 -51 -52 -51 -50 -48 -46 -46 -47 -48 -47 -46 -45 -44 -44 -44 -45 -46 -48 -49 -50 -51 -51 -50 -47 -45 -45 -44 -42 -40 -40 -40 -40 -40 -40 -38 -36 -35 -34 -34 -33 -32 -29 -24 -20 -17 -18 -20 -21 -21 -20 -17 -15 -14 -14 -13 -13 -13 -12 -10 -9 -8 -8 -7 -6 -6 -6 -6 -6 -8 -12 -15 -16 -16 -15 -15 -15 -15 -15 -14 -12 -10 -9 -9 -8 -6 -4 -4 -1 3 7 0 2 8 12 13 14 13 13 13 13 13 13 13 12 12 11 10 10 11 11 12 11 11 11 11 12 13 13 14 15 17 18 18 18 17 17 17 17 17 17 16 15 14 14 13 13 12 11 11 10 11 13 17 20 21 19 16 15 15 15 14 12 12 14 13 11 8 5 5 6 8 9 8 5 2 0 -1 -1 -2 -2 -2 -2 -3 -5 -7 -9 -8 -6 -5 -6 -8 -9 -9 -8 -8 -7 -7 -7 -7 -8 -8 -8 -7 -6 -5 -4 -3 -3 -2 -2 -1 -1 0 1 2 3 4 5 6 6 6 7 7 7 6 6 6 6 6 7 7 9 10 11 13 14 15 16 16 15 14 14 14 14 14 14 15 15 15 15 14 14 13 12 11 10 9 8 8 8 8 9 10 11 12 11 11 10 9 9 10 11 11 11 12 12 13 14 15 16 16 17 17 17 16 16 16 16 15 15 15 14 14 13 13 12 12 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 13 13 14 14 14 14 14 14 13 13 13 12 12 13 13 14 14 15 15 16 17 18 19 20 19 19 18 18 17 16 15 14 14 13 12 12 11 10 9 9 8 8 8 7 7 7 7 7 7 7 8 9 11 13 15 16 17 18 19 20 22 24 26 28 29 31 32 33 34 34 35 36 36 36 36 37 37 37 37 36 35 34 33 32 31 31 30 30 28 26 24 22 19 18 17 16 15 13 11 9 7 -71 -67 -63 -59 -59 -58 -56 -53 -50 -51 -52 -51 -50 -48 -47 -48 -48 -48 -47 -46 -46 -45 -45 -45 -46 -48 -48 -49 -50 -51 -51 -51 -49 -48 -48 -46 -43 -39 -39 -40 -40 -40 -39 -38 -36 -35 -34 -33 -32 -30 -26 -22 -19 -20 -22 -23 -24 -23 -21 -17 -15 -14 -14 -14 -14 -13 -11 -10 -9 -9 -10 -10 -10 -9 -9 -9 -10 -13 -16 -16 -15 -14 -13 -13 -13 -12 -11 -9 -8 -7 -8 -9 -9 -7 -3 -2 -1 1 6 4 1 3 6 9 10 10 11 11 10 10 10 9 8 7 7 6 7 8 8 8 8 7 7 8 9 10 12 14 16 17 18 17 17 17 18 18 19 19 19 19 18 17 16 15 14 14 13 12 12 13 17 20 21 19 16 15 15 15 14 13 13 14 15 13 9 6 4 6 8 9 8 6 3 1 1 0 0 -0 -1 -1 -2 -3 -5 -7 -6 -5 -4 -4 -6 -8 -9 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -8 -7 -6 -5 -4 -3 -3 -2 -2 -1 0 1 3 4 4 5 6 6 6 6 6 6 5 5 5 5 6 7 8 9 10 11 12 14 15 15 14 14 13 13 13 13 13 13 13 13 13 13 13 12 12 12 11 10 9 9 9 9 9 10 10 10 10 10 10 9 9 9 9 10 10 11 11 11 12 13 14 15 16 16 16 16 16 16 16 16 16 16 16 15 15 15 14 14 13 13 13 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 14 14 14 14 14 14 13 13 13 12 12 12 13 13 13 14 14 15 16 17 18 19 19 19 19 19 18 18 17 16 15 14 13 12 11 10 9 8 8 7 7 7 7 7 7 7 7 7 7 8 9 11 13 15 16 17 17 18 19 21 22 24 26 28 30 32 33 34 35 35 36 36 36 37 37 37 37 37 36 35 34 32 32 31 31 30 29 28 26 25 23 22 21 19 17 15 13 10 8 -71 -68 -63 -58 -57 -57 -55 -52 -50 -50 -51 -51 -50 -49 -49 -50 -50 -49 -48 -46 -46 -45 -45 -46 -48 -48 -48 -49 -50 -51 -51 -51 -50 -49 -49 -47 -44 -40 -39 -39 -40 -40 -39 -38 -36 -34 -33 -32 -30 -26 -23 -22 -22 -23 -25 -26 -26 -24 -20 -17 -14 -13 -13 -13 -13 -12 -11 -10 -10 -10 -11 -11 -11 -11 -11 -12 -14 -16 -16 -15 -13 -11 -10 -10 -9 -8 -7 -6 -6 -6 -8 -9 -10 -7 -3 1 1 1 4 5 1 -2 -1 4 6 7 8 8 7 7 6 5 4 3 2 3 4 4 4 4 4 4 4 5 7 9 11 13 15 16 16 16 16 17 18 19 19 20 21 21 20 19 18 17 16 16 15 15 15 18 21 21 20 17 15 15 16 15 14 13 14 15 14 11 8 6 6 8 8 7 5 3 2 2 2 2 1 1 0 -1 -2 -3 -5 -5 -3 -2 -3 -5 -8 -8 -8 -7 -8 -8 -9 -9 -10 -10 -10 -10 -10 -9 -8 -7 -6 -5 -4 -4 -3 -2 -1 -0 1 2 3 4 5 5 5 5 5 5 5 5 4 4 5 5 6 7 8 9 10 12 13 13 14 13 13 13 13 13 13 13 12 12 11 11 11 11 11 11 11 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 11 11 12 13 13 14 14 15 15 15 15 16 16 16 16 16 16 16 16 16 15 15 15 14 14 14 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 13 13 13 13 12 12 12 13 13 13 14 15 15 16 17 17 18 19 19 19 19 19 18 18 17 16 15 13 12 11 9 8 8 7 7 7 7 7 7 7 6 6 6 7 8 10 12 14 15 16 17 17 18 19 20 22 24 26 28 30 31 33 34 35 35 36 36 36 37 37 37 37 37 36 35 34 33 32 32 31 30 29 28 27 26 25 24 22 20 17 15 13 10 -71 -68 -64 -58 -55 -56 -54 -52 -49 -49 -50 -50 -51 -51 -51 -51 -51 -50 -48 -47 -46 -46 -46 -48 -49 -49 -48 -49 -50 -50 -51 -51 -50 -49 -49 -48 -46 -42 -41 -41 -41 -41 -40 -37 -34 -32 -30 -29 -26 -23 -23 -24 -25 -27 -28 -28 -27 -24 -20 -17 -14 -12 -12 -11 -12 -11 -11 -10 -10 -11 -11 -12 -12 -12 -13 -15 -17 -17 -14 -12 -10 -9 -8 -8 -7 -6 -5 -4 -5 -6 -8 -10 -10 -7 -1 4 5 3 3 5 1 -4 -6 -3 1 4 5 5 5 3 2 1 -0 -1 -1 -0 0 1 0 -0 -0 0 1 3 5 7 9 11 12 12 13 13 14 16 17 18 19 20 21 21 21 20 19 19 19 19 18 19 20 22 22 21 18 16 16 16 15 14 14 15 16 16 13 9 7 6 8 9 7 5 3 2 2 3 3 2 1 1 -0 -1 -2 -3 -3 -2 -1 -2 -5 -7 -8 -8 -7 -7 -7 -8 -9 -10 -10 -11 -11 -11 -10 -10 -9 -8 -7 -6 -5 -4 -3 -3 -1 -0 1 2 3 4 4 5 5 5 5 4 4 4 3 3 4 4 5 6 7 9 10 11 12 12 13 12 12 12 12 12 12 11 11 10 9 9 9 9 10 10 10 10 10 10 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 11 12 12 13 13 13 13 14 14 15 15 16 16 17 17 17 17 17 16 16 16 15 15 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 13 13 13 13 12 12 12 13 13 13 14 14 15 16 16 17 18 18 18 19 19 18 18 18 17 16 15 13 12 10 9 8 7 7 7 7 7 7 7 6 6 7 7 8 9 10 12 14 16 17 17 18 18 19 21 23 24 26 28 30 31 33 34 34 35 35 36 36 37 37 38 38 37 36 35 35 34 33 31 30 29 29 28 28 27 26 24 22 19 17 15 12 -70 -68 -64 -58 -54 -54 -53 -51 -48 -48 -50 -50 -51 -52 -53 -53 -52 -50 -48 -47 -46 -47 -48 -49 -50 -50 -49 -49 -49 -49 -50 -50 -50 -49 -49 -48 -46 -45 -44 -43 -42 -40 -37 -33 -30 -29 -29 -27 -25 -24 -25 -27 -28 -29 -29 -29 -27 -24 -21 -17 -15 -13 -11 -11 -11 -12 -11 -11 -11 -11 -11 -11 -12 -14 -16 -17 -17 -14 -11 -9 -7 -7 -7 -6 -5 -5 -4 -4 -5 -6 -9 -10 -9 -4 1 5 6 5 4 3 1 -5 -9 -9 -4 1 3 3 2 1 -1 -2 -3 -3 -3 -3 -2 -3 -3 -4 -3 -3 -2 0 2 4 6 8 8 9 9 11 12 14 15 17 18 20 21 21 20 20 20 21 22 22 22 23 23 24 22 20 19 18 17 16 15 14 15 16 16 14 11 8 7 8 9 7 4 2 1 2 3 3 3 2 1 -0 -1 -2 -3 -3 -2 -1 -2 -5 -7 -8 -8 -6 -6 -6 -8 -9 -9 -10 -11 -11 -11 -11 -10 -10 -9 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 4 4 4 4 4 3 3 2 2 3 3 4 5 6 8 9 10 11 12 12 11 11 12 12 12 11 10 9 8 7 7 7 8 9 9 9 9 9 9 9 10 10 10 10 9 9 9 9 9 8 8 8 8 8 8 8 8 8 9 9 9 10 11 11 11 11 11 12 12 13 14 14 15 16 17 18 18 18 18 17 17 17 16 16 15 15 15 15 15 15 15 14 14 14 14 14 14 14 14 14 14 14 14 14 14 13 13 13 13 12 12 13 13 13 13 14 14 15 16 16 17 17 18 18 18 18 17 17 16 15 14 13 11 9 8 8 7 8 8 8 8 7 7 7 8 8 9 9 10 11 13 15 16 17 18 19 19 20 22 23 25 26 28 29 31 32 33 34 34 35 35 36 37 38 38 38 38 37 37 36 34 33 31 29 29 29 29 29 28 26 24 22 19 17 14 -69 -68 -64 -59 -55 -53 -51 -49 -48 -48 -50 -52 -53 -53 -53 -53 -52 -50 -49 -48 -47 -48 -49 -50 -50 -50 -49 -49 -48 -48 -49 -49 -50 -49 -48 -47 -46 -45 -45 -43 -40 -36 -32 -30 -28 -29 -28 -27 -26 -28 -29 -30 -30 -30 -30 -29 -27 -24 -21 -19 -17 -15 -13 -12 -12 -13 -13 -12 -11 -11 -11 -12 -14 -16 -16 -15 -13 -10 -8 -7 -6 -6 -5 -5 -5 -5 -5 -5 -6 -8 -10 -10 -8 -0 3 5 5 4 3 1 -0 -4 -8 -11 -9 -2 0 1 -0 -1 -2 -3 -4 -4 -4 -5 -5 -5 -6 -6 -5 -5 -4 -2 -0 1 3 4 4 5 7 8 10 11 13 15 17 19 20 20 20 20 21 23 24 25 25 25 25 25 23 21 20 18 17 16 15 15 16 16 16 13 10 9 9 10 8 5 2 1 2 4 4 3 2 0 -1 -2 -2 -3 -3 -3 -2 -3 -5 -8 -9 -8 -6 -5 -6 -7 -8 -9 -10 -11 -11 -11 -11 -11 -10 -10 -10 -9 -9 -8 -8 -7 -5 -4 -3 -1 -0 1 1 2 3 3 3 3 3 3 2 2 2 2 2 2 3 4 5 6 8 9 10 10 11 11 11 11 12 11 11 10 9 8 7 6 6 7 8 8 8 8 8 8 9 9 9 10 10 10 9 9 9 8 8 8 7 7 7 7 7 7 7 7 7 8 8 8 9 9 9 9 10 10 11 11 13 14 15 16 17 18 18 18 18 18 18 17 17 17 17 16 16 16 16 16 16 16 16 15 15 15 15 14 14 14 14 14 14 14 14 14 13 13 13 13 12 12 12 12 13 13 14 15 15 16 17 17 17 17 17 16 16 16 15 14 13 12 10 9 8 8 8 9 9 9 9 8 8 9 9 10 10 11 11 12 14 15 17 18 19 20 21 22 23 24 25 26 28 30 31 32 33 33 34 35 36 37 38 38 39 39 39 39 38 37 34 32 30 29 29 30 30 29 28 26 24 21 18 16 -68 -66 -62 -58 -54 -52 -50 -48 -48 -48 -51 -52 -53 -53 -53 -53 -52 -50 -49 -48 -48 -48 -49 -50 -50 -50 -50 -48 -48 -48 -48 -49 -49 -48 -47 -46 -46 -45 -44 -41 -37 -32 -29 -29 -29 -30 -30 -30 -30 -32 -32 -31 -30 -30 -29 -28 -25 -23 -21 -20 -19 -18 -16 -15 -16 -16 -15 -13 -12 -11 -12 -14 -16 -16 -14 -10 -7 -7 -6 -6 -5 -5 -5 -5 -6 -6 -7 -8 -9 -11 -12 -12 -8 2 3 2 2 2 1 -1 -2 -3 -6 -11 -14 -7 -3 -2 -2 -3 -3 -4 -4 -5 -5 -6 -6 -6 -6 -6 -6 -6 -5 -4 -3 -2 -1 -0 1 2 4 6 7 8 10 12 15 17 18 18 19 20 22 24 26 27 27 27 26 25 24 22 20 18 17 16 16 17 17 16 14 11 9 10 10 9 5 2 0 1 3 4 3 1 -0 -1 -2 -3 -4 -4 -4 -4 -5 -6 -8 -9 -8 -6 -5 -5 -6 -7 -8 -10 -10 -11 -11 -11 -11 -11 -10 -10 -10 -10 -10 -9 -9 -8 -6 -5 -3 -2 -1 -0 0 1 1 2 2 2 2 2 1 1 1 1 1 2 2 3 3 4 6 7 8 9 9 10 11 11 11 11 11 10 9 9 8 7 7 7 7 7 7 7 7 7 8 8 9 9 9 9 9 9 8 8 8 7 7 7 7 7 7 7 6 6 6 6 6 6 6 7 7 7 8 8 9 9 10 12 13 15 16 18 18 19 19 19 19 18 18 18 18 18 18 18 17 17 17 17 17 17 16 16 15 15 14 14 14 15 15 14 14 14 14 14 13 13 13 12 12 12 12 12 13 14 15 16 16 16 16 16 16 16 15 15 15 14 14 13 11 10 10 9 9 10 10 10 10 10 10 10 10 11 11 12 12 13 13 14 16 17 19 20 21 22 22 23 24 26 27 28 29 31 32 33 34 35 36 37 38 38 39 39 39 39 39 38 36 34 32 31 30 30 30 29 28 26 24 22 19 17 -67 -65 -62 -58 -54 -51 -49 -47 -47 -49 -51 -52 -52 -52 -52 -52 -52 -50 -49 -48 -48 -48 -49 -50 -50 -50 -50 -48 -47 -48 -48 -49 -49 -48 -47 -46 -45 -43 -41 -37 -33 -30 -29 -30 -32 -32 -32 -32 -33 -32 -31 -30 -29 -29 -29 -26 -23 -21 -20 -21 -21 -21 -20 -20 -20 -20 -17 -14 -12 -12 -13 -16 -16 -13 -8 -5 -4 -5 -5 -4 -4 -4 -4 -5 -6 -7 -9 -12 -14 -15 -16 -16 -10 0 -0 0 1 1 -2 -5 -7 -6 -6 -10 -17 -15 -9 -4 -3 -3 -3 -4 -4 -5 -6 -6 -7 -7 -6 -6 -6 -6 -6 -5 -5 -5 -4 -3 -1 1 2 4 5 6 8 10 12 14 15 16 18 20 22 24 26 27 27 27 27 25 24 22 19 18 17 17 17 17 17 15 12 10 10 11 10 6 2 1 1 2 3 3 1 -1 -2 -3 -3 -4 -5 -5 -6 -6 -7 -8 -9 -8 -7 -5 -5 -6 -7 -8 -9 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -9 -8 -7 -6 -4 -3 -2 -2 -1 -0 0 1 1 1 1 1 1 0 1 1 1 1 2 2 2 3 4 5 6 7 8 9 10 11 11 11 11 11 10 10 9 9 8 7 7 6 6 6 6 6 7 8 8 9 9 9 9 9 8 8 8 7 7 7 7 7 7 6 6 5 5 5 4 5 5 5 5 6 6 6 7 7 8 10 11 13 15 16 17 18 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 17 17 16 15 15 15 15 15 15 15 15 15 14 14 14 14 13 13 12 12 12 12 12 13 14 15 15 16 16 16 15 15 15 15 14 14 14 13 13 12 11 11 11 11 12 12 12 12 11 11 11 12 12 12 13 13 14 14 15 16 17 19 20 21 23 24 24 25 26 27 28 30 31 32 34 35 36 36 37 37 38 38 38 38 38 38 37 36 35 33 32 31 31 30 28 26 24 22 20 18 -67 -64 -60 -57 -54 -50 -47 -46 -47 -49 -51 -52 -52 -52 -52 -52 -52 -51 -50 -49 -48 -48 -48 -48 -49 -49 -49 -48 -47 -47 -48 -48 -48 -47 -45 -43 -41 -39 -35 -31 -31 -32 -33 -34 -33 -33 -33 -32 -31 -29 -29 -30 -30 -30 -27 -23 -20 -20 -21 -22 -22 -23 -23 -24 -24 -22 -19 -16 -15 -15 -16 -16 -13 -8 -4 -2 -2 -4 -3 -3 -3 -3 -4 -5 -6 -9 -12 -15 -17 -17 -17 -15 -11 -2 -3 -2 -2 -2 -6 -12 -15 -10 -7 -10 -20 -24 -17 -9 -4 -3 -3 -3 -3 -4 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -6 -6 -4 -2 -1 1 2 3 4 7 9 10 12 12 13 16 18 20 22 24 25 26 26 26 24 22 20 18 17 17 17 18 17 16 13 10 10 11 10 7 3 1 1 2 3 2 1 -1 -2 -3 -4 -4 -5 -6 -6 -6 -7 -8 -9 -8 -7 -6 -6 -7 -8 -9 -9 -10 -11 -11 -12 -12 -12 -12 -12 -12 -12 -12 -12 -11 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 -1 -0 -0 -0 -0 -0 -0 -0 -0 0 1 1 1 1 1 2 2 3 4 5 7 9 10 11 11 11 11 11 11 10 10 9 9 8 7 6 6 5 5 6 7 8 8 9 9 9 9 9 8 8 8 8 8 7 7 7 6 6 5 4 4 4 3 3 4 4 4 5 5 5 5 6 7 8 9 11 12 14 15 16 17 18 19 19 19 19 19 19 19 19 19 19 19 19 19 19 18 18 17 16 16 15 15 15 15 15 15 15 15 15 15 14 14 13 13 13 12 12 12 13 13 14 15 15 15 15 15 15 15 15 14 14 14 14 13 13 13 13 13 13 13 14 14 13 13 13 12 12 13 13 14 14 15 15 16 16 17 18 19 21 23 24 25 26 27 27 28 29 31 32 34 34 35 35 36 36 36 36 36 36 36 37 37 37 37 36 34 33 32 31 29 26 24 22 21 20 -66 -63 -60 -57 -54 -50 -47 -46 -47 -50 -52 -52 -52 -52 -52 -52 -52 -52 -50 -49 -48 -48 -47 -47 -47 -48 -48 -48 -46 -46 -46 -47 -46 -44 -42 -40 -38 -34 -30 -30 -33 -36 -36 -33 -30 -30 -30 -30 -28 -28 -31 -32 -32 -30 -26 -22 -21 -21 -22 -22 -22 -23 -24 -25 -24 -23 -20 -18 -18 -18 -17 -14 -9 -4 -2 -1 -2 -3 -3 -3 -4 -5 -6 -7 -9 -12 -15 -17 -16 -15 -14 -12 -9 -4 -6 -7 -6 -7 -11 -18 -20 -15 -8 -7 -14 -26 -24 -15 -6 -3 -2 -2 -2 -3 -4 -5 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -6 -5 -3 -2 -1 0 2 4 6 8 9 9 10 11 13 15 17 19 21 22 23 24 23 22 20 18 17 17 17 18 18 16 13 11 10 11 10 8 4 1 1 2 3 2 1 -1 -2 -3 -3 -4 -5 -5 -6 -6 -6 -7 -8 -8 -8 -8 -8 -8 -9 -9 -10 -10 -11 -11 -12 -13 -13 -13 -13 -13 -13 -13 -13 -12 -12 -11 -10 -9 -8 -8 -7 -6 -5 -4 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -0 -0 0 1 1 1 1 1 1 2 3 4 6 7 9 10 10 11 11 11 11 11 10 10 9 8 8 7 6 6 6 7 8 8 9 9 9 9 9 9 9 9 9 8 8 8 7 7 6 5 5 4 3 3 3 3 3 4 4 4 4 4 4 4 5 6 7 8 10 11 13 14 15 16 17 17 18 18 18 18 18 19 19 19 19 19 19 19 19 18 18 17 17 16 16 16 16 16 16 16 16 16 15 15 15 14 14 13 13 13 13 13 13 13 14 15 15 15 16 15 15 15 15 14 14 14 14 14 14 14 14 14 15 15 15 15 15 14 14 14 14 14 14 15 16 16 17 17 17 18 19 20 22 24 26 27 27 28 29 30 31 33 33 34 34 35 35 35 35 35 35 35 35 36 36 37 37 36 35 35 33 32 29 27 25 24 23 22 -66 -63 -59 -55 -53 -49 -46 -46 -47 -50 -53 -53 -53 -52 -52 -53 -53 -53 -51 -49 -48 -48 -47 -46 -46 -47 -47 -46 -44 -44 -45 -45 -44 -43 -41 -38 -35 -32 -29 -31 -35 -38 -37 -33 -30 -29 -29 -28 -28 -31 -33 -33 -32 -29 -25 -23 -23 -23 -23 -23 -23 -24 -24 -24 -22 -21 -19 -19 -19 -17 -14 -10 -5 -2 -1 -2 -3 -3 -4 -5 -6 -8 -9 -10 -12 -15 -17 -18 -15 -14 -13 -12 -10 -8 -12 -14 -12 -12 -16 -21 -24 -21 -15 -8 -9 -21 -23 -18 -10 -4 -1 -0 -1 -2 -3 -4 -5 -6 -6 -6 -7 -7 -8 -8 -8 -7 -6 -5 -4 -3 -1 -0 2 4 6 7 8 7 7 8 10 12 15 17 19 20 21 21 20 19 18 18 17 18 18 18 16 14 11 10 11 10 8 5 2 2 2 3 2 0 -1 -2 -2 -3 -4 -5 -5 -6 -6 -6 -7 -7 -8 -8 -8 -8 -9 -10 -10 -10 -11 -11 -12 -12 -13 -14 -14 -14 -14 -14 -14 -13 -13 -13 -13 -12 -11 -10 -10 -9 -8 -7 -6 -5 -4 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 0 0 0 0 1 1 2 3 5 6 7 8 9 10 11 11 11 11 10 10 9 9 8 7 7 7 7 7 8 8 9 9 9 9 9 9 9 9 9 9 8 8 7 6 6 5 4 4 3 3 2 3 3 3 3 4 3 3 3 3 3 4 5 6 7 8 10 11 12 13 14 15 16 16 17 18 18 19 19 20 20 20 20 19 19 18 18 18 17 17 17 17 17 17 17 16 16 16 16 16 15 15 14 14 14 14 13 13 13 13 13 14 15 15 15 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 16 16 17 18 18 18 18 19 20 22 24 25 27 28 29 30 31 32 33 33 34 34 35 35 36 36 36 36 35 35 35 35 35 34 34 34 34 33 32 31 29 27 26 25 24 -65 -62 -58 -54 -51 -48 -45 -45 -48 -51 -53 -54 -53 -53 -53 -53 -54 -53 -52 -51 -50 -49 -47 -45 -45 -45 -46 -45 -43 -42 -43 -44 -44 -42 -40 -37 -34 -31 -30 -32 -36 -37 -36 -33 -30 -28 -27 -27 -29 -33 -33 -32 -30 -27 -24 -24 -25 -25 -25 -24 -24 -24 -23 -21 -19 -18 -17 -18 -17 -15 -11 -6 -2 -1 -1 -3 -5 -5 -6 -8 -9 -10 -11 -13 -15 -17 -19 -18 -15 -16 -16 -16 -15 -14 -18 -19 -18 -18 -20 -23 -26 -27 -23 -15 -7 -13 -17 -18 -15 -8 -1 1 0 -1 -2 -4 -5 -6 -6 -7 -7 -8 -9 -9 -9 -8 -7 -6 -4 -3 -1 0 3 5 6 6 5 5 5 6 8 12 15 17 19 19 19 19 18 18 18 18 18 18 18 16 14 12 11 11 10 8 5 3 2 2 2 1 0 -1 -2 -2 -3 -3 -4 -5 -6 -6 -6 -7 -7 -8 -8 -8 -9 -9 -10 -10 -10 -11 -12 -12 -13 -14 -14 -15 -15 -15 -14 -14 -14 -14 -14 -14 -14 -13 -12 -12 -11 -10 -9 -9 -8 -6 -5 -4 -3 -3 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -0 0 1 2 3 4 5 6 7 8 9 10 10 10 10 10 10 9 9 8 8 8 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 6 5 4 4 3 3 3 3 3 3 3 3 3 2 2 2 2 2 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 18 19 20 20 21 20 20 19 18 18 18 18 18 18 18 18 18 18 17 17 17 17 16 16 16 15 15 14 14 14 14 13 13 13 13 14 14 15 15 15 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 16 16 16 16 16 16 17 17 18 18 18 19 19 20 21 23 24 26 27 28 29 30 32 33 33 34 34 35 36 37 37 37 37 37 36 35 34 33 31 30 30 31 31 31 31 30 30 29 27 26 -65 -61 -56 -52 -49 -47 -45 -46 -49 -53 -55 -55 -55 -54 -54 -54 -54 -53 -52 -51 -50 -49 -47 -46 -44 -44 -45 -45 -42 -41 -41 -42 -43 -41 -39 -36 -33 -31 -30 -33 -35 -35 -34 -31 -28 -26 -26 -28 -30 -31 -30 -29 -28 -25 -24 -25 -26 -25 -25 -25 -25 -23 -21 -18 -17 -16 -16 -16 -15 -11 -8 -3 -1 -1 -2 -5 -7 -8 -9 -9 -10 -10 -12 -13 -15 -18 -19 -19 -18 -18 -18 -19 -20 -20 -21 -22 -22 -22 -23 -24 -28 -31 -30 -23 -10 -8 -10 -16 -19 -14 -2 1 1 0 -2 -4 -5 -6 -6 -7 -8 -9 -9 -10 -9 -9 -8 -6 -4 -3 -1 2 4 5 5 4 3 2 2 5 9 13 16 18 18 18 17 17 18 18 18 18 18 17 16 13 12 11 11 10 8 5 3 2 2 2 1 -0 -1 -2 -2 -3 -3 -4 -4 -5 -6 -6 -6 -7 -7 -8 -8 -9 -9 -10 -10 -10 -11 -12 -13 -14 -14 -15 -15 -15 -15 -15 -14 -14 -14 -15 -15 -15 -15 -14 -14 -13 -12 -11 -11 -10 -9 -8 -6 -5 -4 -4 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -1 -0 0 1 2 3 4 5 6 7 8 9 10 10 10 10 10 9 9 9 8 8 8 8 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 6 5 5 4 4 3 3 3 3 3 3 3 2 2 2 1 1 1 1 2 2 3 3 4 4 5 6 6 7 9 10 11 13 15 17 19 20 21 21 21 20 19 18 18 18 18 18 18 19 19 19 19 18 18 18 17 17 17 16 15 15 14 14 14 14 14 13 13 13 13 14 14 15 15 15 16 16 16 16 16 17 16 16 16 16 15 15 15 14 14 14 15 15 16 16 16 16 17 17 17 17 18 18 19 19 19 20 21 23 24 25 26 27 29 30 31 32 33 34 36 36 37 37 37 37 37 36 34 33 31 29 28 27 27 28 29 30 30 31 30 29 28 -64 -60 -55 -51 -47 -45 -45 -48 -51 -54 -56 -56 -55 -55 -55 -55 -54 -53 -52 -51 -50 -49 -47 -45 -44 -44 -44 -44 -42 -40 -40 -41 -41 -40 -37 -34 -32 -31 -31 -32 -33 -32 -31 -28 -26 -24 -25 -27 -28 -27 -26 -25 -24 -23 -24 -25 -25 -25 -25 -25 -24 -21 -19 -17 -16 -16 -16 -15 -12 -9 -6 -3 -2 -3 -5 -7 -10 -10 -9 -9 -9 -10 -11 -13 -15 -17 -19 -19 -19 -19 -20 -21 -22 -23 -23 -23 -24 -25 -26 -27 -29 -32 -33 -29 -18 -9 -7 -12 -19 -19 -7 -1 0 0 -1 -4 -5 -6 -6 -7 -7 -8 -9 -9 -9 -9 -8 -6 -4 -2 1 3 5 5 3 1 -0 -1 2 5 10 14 16 16 16 16 16 17 18 19 18 18 17 15 13 12 11 11 10 8 5 4 2 2 1 0 -1 -2 -3 -3 -3 -3 -4 -4 -5 -6 -6 -6 -7 -7 -8 -8 -9 -9 -10 -10 -10 -11 -12 -13 -14 -15 -16 -15 -15 -15 -14 -14 -14 -15 -15 -15 -16 -16 -16 -15 -15 -14 -13 -12 -12 -11 -10 -9 -8 -7 -6 -5 -5 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -2 -2 -1 -0 0 1 2 3 4 5 6 7 8 9 9 10 10 10 10 9 9 9 8 8 8 7 7 6 6 6 6 6 6 6 5 5 6 6 6 6 5 5 4 4 4 3 3 3 3 3 3 2 2 1 1 0 0 0 1 1 2 2 2 3 3 3 3 4 5 6 7 9 11 14 16 18 19 21 21 21 20 19 18 18 18 18 18 18 19 19 19 19 19 19 18 18 18 17 16 16 15 15 14 14 14 14 14 13 13 13 13 13 14 14 15 15 16 16 17 17 17 17 17 16 16 15 15 14 13 13 14 14 15 15 16 16 17 17 17 17 17 17 17 18 18 19 19 20 21 22 23 24 25 26 27 28 30 31 33 34 35 35 35 35 35 34 33 31 30 29 28 26 25 25 25 25 26 28 29 30 30 29 -63 -59 -55 -50 -46 -44 -47 -50 -53 -55 -56 -57 -56 -56 -55 -55 -54 -52 -51 -51 -50 -48 -46 -44 -44 -43 -43 -43 -42 -40 -40 -40 -40 -38 -36 -33 -31 -30 -30 -30 -31 -30 -28 -26 -24 -24 -25 -26 -24 -23 -22 -21 -20 -21 -22 -23 -24 -26 -26 -26 -23 -20 -18 -17 -16 -16 -15 -13 -10 -8 -6 -4 -4 -6 -8 -11 -12 -11 -10 -10 -11 -12 -13 -14 -16 -17 -18 -18 -18 -19 -20 -22 -23 -24 -25 -25 -27 -28 -30 -30 -30 -31 -33 -33 -28 -16 -8 -9 -16 -20 -14 -7 -2 -1 -1 -3 -4 -5 -5 -5 -6 -6 -7 -8 -8 -7 -6 -4 -2 0 3 5 5 4 1 -1 -2 -1 3 7 11 14 14 13 13 14 16 17 18 18 17 16 15 13 12 12 11 10 8 5 4 3 2 1 0 -1 -2 -3 -3 -4 -4 -4 -4 -5 -5 -6 -6 -6 -7 -7 -8 -8 -9 -10 -10 -10 -11 -12 -14 -15 -16 -16 -16 -16 -15 -14 -14 -14 -14 -15 -16 -16 -17 -17 -16 -16 -15 -14 -14 -13 -12 -12 -11 -10 -9 -8 -7 -7 -6 -6 -6 -6 -5 -5 -5 -5 -4 -4 -4 -4 -3 -3 -2 -1 -0 0 1 2 3 4 6 7 8 8 9 9 9 9 9 9 9 8 8 8 7 7 6 6 5 5 4 4 4 4 4 4 4 4 4 5 4 4 4 4 3 3 3 3 3 3 3 2 2 1 1 0 0 0 1 1 1 2 2 2 2 2 2 2 3 4 5 7 9 12 14 16 18 19 20 20 20 19 18 17 17 17 17 18 18 19 19 20 20 20 19 19 18 18 17 16 16 15 14 14 14 14 14 14 14 13 13 13 13 14 14 15 15 16 17 17 17 18 17 17 17 16 15 14 13 14 14 14 15 15 16 16 17 17 17 17 17 17 17 17 17 17 18 19 20 21 21 22 23 23 24 25 27 29 30 31 32 32 32 32 31 30 29 27 27 26 26 25 24 24 23 23 24 25 27 28 29 28 -61 -58 -55 -50 -46 -44 -48 -52 -54 -56 -57 -57 -57 -56 -55 -55 -54 -52 -51 -50 -50 -48 -45 -44 -43 -43 -43 -42 -42 -41 -40 -39 -39 -37 -34 -32 -30 -29 -27 -27 -29 -29 -26 -23 -24 -26 -26 -24 -22 -20 -19 -17 -17 -19 -20 -22 -25 -27 -28 -27 -24 -21 -18 -16 -14 -13 -12 -11 -9 -8 -7 -6 -7 -9 -11 -14 -14 -12 -11 -11 -12 -13 -14 -15 -17 -18 -18 -18 -18 -19 -21 -22 -24 -25 -27 -29 -31 -33 -34 -33 -31 -30 -32 -35 -35 -26 -12 -7 -10 -17 -22 -16 -9 -3 -1 -2 -3 -3 -3 -3 -3 -4 -5 -5 -5 -4 -3 -1 1 3 5 6 5 2 -1 -2 -1 2 6 10 11 12 11 10 11 13 15 17 18 17 15 14 13 12 12 12 10 8 6 4 4 3 2 1 -0 -1 -3 -4 -4 -4 -4 -4 -5 -5 -6 -6 -6 -7 -7 -7 -8 -9 -10 -10 -10 -11 -12 -14 -15 -16 -16 -16 -16 -15 -15 -14 -14 -14 -15 -16 -17 -17 -17 -17 -16 -16 -15 -15 -14 -14 -13 -13 -12 -11 -10 -9 -9 -8 -8 -8 -8 -7 -7 -6 -6 -5 -5 -5 -5 -5 -4 -3 -3 -2 -1 -1 -0 1 2 3 5 6 7 8 8 9 9 8 8 8 7 7 7 7 7 6 6 5 4 3 3 3 2 2 2 2 3 3 4 4 4 4 4 4 3 3 3 3 3 3 3 2 2 2 1 1 1 1 1 1 2 2 2 1 1 1 0 1 1 2 4 5 8 10 12 14 15 17 18 19 19 18 18 17 17 17 17 17 17 18 18 19 20 20 20 20 19 19 18 17 17 16 15 15 15 15 14 14 14 14 13 13 13 14 14 15 15 16 17 17 18 18 18 18 17 17 16 15 15 15 15 16 16 16 16 17 17 17 17 18 18 17 17 17 16 17 17 18 19 19 20 20 21 21 22 23 25 26 28 28 29 29 28 28 27 25 24 24 24 24 24 24 24 23 23 23 23 23 25 26 26 26 -59 -57 -54 -50 -46 -45 -49 -53 -55 -56 -57 -57 -57 -56 -55 -54 -53 -52 -51 -51 -50 -49 -47 -45 -44 -44 -43 -42 -42 -42 -40 -39 -38 -36 -33 -31 -28 -26 -24 -25 -27 -25 -22 -21 -24 -27 -25 -21 -17 -15 -15 -16 -18 -20 -22 -23 -26 -29 -30 -29 -25 -21 -18 -15 -12 -11 -10 -10 -10 -10 -10 -10 -10 -12 -14 -15 -14 -12 -12 -12 -13 -14 -14 -15 -16 -17 -18 -18 -18 -19 -21 -24 -26 -27 -30 -32 -35 -37 -37 -34 -31 -29 -29 -32 -37 -32 -20 -10 -8 -15 -25 -26 -20 -11 -4 -2 -2 -2 -1 -0 -0 -1 -1 -1 -1 0 1 2 4 6 7 6 3 0 -1 -1 2 6 9 10 10 9 8 8 10 12 14 16 16 15 13 12 12 12 12 10 8 6 4 4 4 3 2 1 -1 -2 -3 -4 -5 -5 -5 -5 -5 -5 -6 -6 -7 -7 -7 -8 -8 -9 -10 -10 -11 -12 -14 -15 -16 -16 -16 -16 -16 -15 -14 -14 -14 -15 -16 -16 -17 -17 -17 -17 -16 -16 -15 -15 -15 -15 -14 -14 -13 -12 -11 -11 -10 -10 -10 -10 -9 -8 -7 -7 -6 -6 -6 -6 -6 -5 -5 -4 -3 -3 -2 -2 -1 -0 1 2 3 5 6 7 8 8 8 8 7 7 6 6 6 6 6 6 5 4 3 3 2 1 1 1 1 1 2 3 3 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 2 2 2 2 2 2 2 2 1 1 0 -0 -0 0 1 2 4 6 9 10 12 13 15 16 17 17 17 17 16 16 16 16 16 16 17 18 18 19 20 20 20 20 20 19 19 18 17 17 16 16 16 15 15 15 14 14 14 14 14 14 15 15 16 17 17 18 18 18 18 18 17 17 16 16 17 17 17 17 17 17 17 17 17 18 18 18 18 18 17 17 17 17 17 17 18 18 19 19 20 20 22 23 24 26 27 27 27 27 26 24 22 21 21 21 22 23 23 23 23 23 23 23 23 24 24 24 24 -58 -56 -53 -50 -47 -46 -50 -53 -55 -56 -56 -57 -57 -56 -56 -55 -54 -53 -52 -51 -51 -51 -49 -47 -45 -44 -43 -43 -43 -42 -41 -39 -37 -34 -31 -29 -27 -25 -24 -25 -25 -23 -21 -21 -24 -23 -19 -14 -11 -13 -17 -20 -22 -23 -24 -26 -28 -29 -27 -25 -21 -20 -18 -16 -14 -12 -11 -12 -12 -13 -13 -13 -14 -15 -16 -15 -13 -12 -12 -12 -13 -14 -14 -14 -16 -17 -17 -18 -19 -20 -22 -25 -27 -29 -31 -34 -37 -40 -40 -36 -32 -26 -23 -26 -36 -37 -28 -16 -8 -11 -19 -29 -31 -24 -13 -5 -3 -2 -1 -0 1 1 1 1 2 3 4 5 7 7 7 5 2 1 2 4 6 9 10 10 8 7 7 8 10 12 13 14 14 12 11 12 12 12 10 7 5 4 4 4 3 2 2 1 -1 -2 -3 -4 -5 -5 -5 -5 -5 -6 -6 -7 -7 -8 -8 -9 -9 -10 -11 -11 -12 -13 -14 -15 -15 -16 -16 -16 -15 -15 -14 -14 -15 -15 -16 -17 -17 -17 -17 -17 -16 -16 -16 -16 -16 -16 -15 -14 -13 -13 -12 -12 -12 -13 -12 -11 -10 -9 -8 -8 -7 -7 -7 -7 -7 -6 -5 -5 -4 -4 -3 -3 -2 -2 -1 1 2 4 5 6 7 7 7 7 6 6 5 5 5 5 5 5 4 4 3 2 1 1 0 0 1 1 2 2 3 4 4 4 4 4 4 3 3 4 4 4 4 4 4 4 4 4 4 4 4 3 3 2 2 1 1 0 -0 -1 -0 1 2 4 6 8 10 11 12 14 15 15 16 16 16 16 16 15 15 16 16 16 17 17 18 19 19 20 20 21 20 20 19 19 18 18 17 17 17 16 15 15 15 14 14 14 15 15 16 16 17 18 18 18 19 19 19 18 18 18 18 18 17 17 17 17 17 17 18 18 18 19 19 19 18 18 18 17 17 16 16 16 17 17 18 18 19 20 22 23 25 26 27 27 27 26 24 22 21 20 20 21 22 22 22 22 23 23 23 23 23 23 22 22 -58 -55 -52 -49 -47 -48 -52 -55 -56 -56 -56 -57 -57 -57 -56 -55 -55 -54 -53 -53 -53 -52 -50 -49 -47 -45 -44 -44 -43 -43 -41 -39 -35 -32 -30 -29 -27 -26 -24 -25 -24 -22 -21 -21 -22 -19 -15 -12 -12 -17 -21 -23 -25 -25 -26 -27 -26 -23 -20 -18 -16 -17 -17 -16 -16 -15 -15 -15 -15 -16 -16 -15 -15 -16 -16 -14 -12 -12 -12 -14 -15 -15 -14 -14 -15 -16 -17 -18 -19 -21 -23 -26 -29 -31 -33 -35 -38 -41 -41 -38 -30 -21 -17 -21 -32 -36 -32 -21 -10 -10 -16 -28 -36 -35 -27 -15 -8 -5 -3 -1 1 2 2 2 3 4 5 6 7 7 6 5 4 4 5 7 8 9 9 8 8 7 7 8 10 11 12 12 11 11 11 11 11 10 7 4 3 3 3 3 3 2 1 1 -1 -2 -3 -4 -4 -4 -4 -5 -5 -6 -7 -8 -8 -9 -9 -10 -11 -11 -12 -12 -13 -13 -14 -15 -15 -16 -16 -15 -15 -14 -14 -15 -15 -16 -16 -17 -17 -17 -17 -17 -17 -17 -17 -17 -17 -17 -16 -15 -14 -13 -13 -14 -15 -15 -14 -13 -11 -10 -10 -9 -9 -9 -9 -9 -8 -7 -6 -6 -5 -5 -4 -4 -3 -2 -2 -0 1 3 4 5 6 7 7 6 6 5 5 4 4 5 5 4 4 3 2 2 1 0 0 0 0 1 1 2 3 4 4 4 4 4 4 4 4 4 4 5 5 5 6 6 6 6 6 6 6 5 4 3 3 2 2 1 0 0 0 1 2 4 7 9 10 11 12 13 14 14 15 15 15 15 15 15 15 15 15 16 16 17 17 18 18 19 20 20 21 21 21 20 20 20 19 18 18 17 17 16 16 16 16 16 16 16 16 17 18 18 19 19 19 19 19 19 19 19 18 18 17 17 17 17 17 17 17 18 19 19 19 19 19 19 18 17 17 16 15 15 15 15 16 16 18 19 21 23 24 26 27 27 27 26 25 24 23 22 22 22 22 22 22 22 22 22 23 23 22 22 21 21 -57 -54 -52 -50 -49 -51 -53 -55 -57 -57 -57 -58 -58 -58 -57 -56 -56 -55 -55 -54 -54 -53 -51 -50 -49 -48 -46 -46 -45 -43 -41 -38 -35 -32 -31 -30 -28 -26 -24 -24 -23 -22 -20 -20 -19 -15 -13 -13 -16 -21 -22 -24 -25 -26 -25 -23 -20 -18 -15 -14 -13 -14 -15 -15 -16 -17 -19 -19 -19 -19 -18 -16 -14 -16 -16 -14 -12 -12 -14 -16 -16 -16 -15 -14 -15 -16 -17 -19 -20 -22 -24 -27 -30 -32 -33 -35 -37 -39 -40 -36 -27 -18 -14 -16 -23 -28 -30 -24 -16 -15 -17 -24 -33 -39 -39 -31 -19 -11 -7 -4 -2 1 1 2 2 3 5 6 7 6 6 5 6 7 8 8 8 8 8 7 7 7 8 8 9 10 10 10 10 10 11 11 9 7 4 3 2 2 2 2 2 2 1 0 -1 -2 -3 -3 -4 -4 -4 -5 -6 -7 -8 -9 -9 -10 -11 -11 -12 -12 -12 -12 -13 -13 -14 -15 -16 -16 -15 -15 -14 -14 -14 -15 -16 -16 -16 -16 -17 -17 -17 -17 -17 -17 -17 -18 -18 -17 -16 -15 -13 -13 -14 -16 -16 -16 -15 -13 -12 -12 -12 -11 -11 -11 -11 -10 -9 -8 -8 -7 -6 -6 -5 -4 -4 -3 -2 -1 0 2 3 4 5 5 5 5 5 4 4 4 4 4 4 4 4 3 2 2 1 1 1 1 1 1 2 2 3 4 4 5 5 5 5 5 5 5 5 5 6 6 6 7 7 7 8 8 7 6 6 5 4 3 3 2 2 2 2 3 4 6 8 10 11 11 12 13 13 13 14 14 15 15 15 15 15 15 16 16 16 16 16 17 17 18 19 19 20 21 21 21 21 21 21 20 19 18 18 18 17 17 17 17 17 17 17 18 18 19 19 19 20 20 19 19 19 19 18 18 17 17 16 16 16 17 17 18 18 19 19 19 19 19 18 18 17 16 15 14 14 14 14 15 17 19 21 22 24 26 27 27 27 27 26 25 25 24 24 23 23 22 21 21 22 22 22 22 21 21 21 21 -57 -53 -52 -53 -53 -54 -54 -55 -56 -57 -58 -59 -59 -58 -58 -57 -56 -56 -55 -54 -54 -54 -53 -52 -51 -50 -49 -48 -46 -44 -41 -38 -36 -33 -32 -31 -29 -27 -25 -24 -23 -21 -20 -18 -15 -13 -13 -15 -19 -22 -22 -22 -23 -23 -21 -18 -16 -15 -14 -14 -13 -14 -14 -15 -17 -19 -22 -23 -22 -20 -19 -17 -14 -17 -17 -15 -13 -14 -16 -18 -18 -18 -16 -15 -16 -17 -18 -20 -21 -23 -25 -28 -30 -32 -33 -34 -35 -36 -37 -35 -27 -19 -14 -14 -16 -20 -25 -26 -23 -23 -23 -24 -29 -36 -43 -42 -32 -22 -14 -9 -6 -3 -1 -0 0 2 3 5 5 5 6 6 7 8 8 7 7 7 6 6 7 7 7 8 8 9 9 9 9 10 10 9 7 5 3 2 2 2 2 2 2 2 1 -0 -1 -2 -3 -3 -3 -4 -5 -6 -7 -8 -9 -10 -11 -11 -12 -12 -12 -12 -12 -12 -13 -14 -15 -16 -16 -16 -15 -14 -14 -14 -15 -15 -16 -16 -16 -16 -17 -17 -17 -17 -17 -18 -18 -18 -18 -16 -15 -14 -13 -14 -16 -17 -17 -16 -15 -14 -13 -13 -13 -13 -13 -12 -12 -11 -11 -10 -9 -8 -8 -7 -6 -5 -4 -4 -3 -1 -0 1 2 3 4 4 4 4 4 4 3 3 4 4 4 4 3 3 3 2 2 2 2 2 2 3 3 3 4 4 5 5 6 6 6 5 5 6 6 6 6 6 7 7 8 8 8 8 8 7 7 6 5 5 4 4 4 4 5 6 7 8 10 11 11 11 11 12 12 12 13 14 14 14 14 14 15 15 16 16 16 16 16 16 16 17 17 18 19 20 21 21 22 22 21 21 20 19 19 19 19 19 18 18 18 18 18 18 18 19 19 19 19 19 19 19 19 18 18 17 17 16 16 16 16 16 17 17 18 18 18 18 19 18 18 17 17 16 15 14 14 14 14 15 17 19 21 23 24 26 26 27 27 27 26 26 26 25 25 25 24 22 22 21 21 21 21 21 21 21 20 20 -59 -54 -53 -54 -55 -55 -55 -56 -56 -57 -57 -59 -59 -59 -58 -57 -56 -56 -55 -54 -54 -55 -55 -54 -53 -52 -51 -50 -47 -44 -41 -38 -36 -34 -32 -31 -29 -28 -26 -24 -22 -21 -19 -16 -13 -11 -14 -18 -21 -20 -19 -20 -20 -19 -16 -13 -13 -13 -13 -13 -13 -14 -16 -17 -19 -22 -24 -24 -22 -21 -19 -17 -18 -19 -18 -15 -14 -16 -18 -20 -20 -19 -18 -18 -17 -18 -20 -22 -23 -24 -26 -28 -30 -32 -31 -31 -31 -32 -34 -35 -31 -23 -18 -18 -19 -20 -24 -28 -32 -36 -37 -33 -29 -30 -36 -41 -41 -34 -26 -18 -12 -8 -5 -4 -2 -1 1 2 3 4 6 7 7 7 6 6 6 5 5 6 6 6 6 7 7 8 9 9 9 9 9 7 5 3 2 2 2 2 3 3 2 2 1 -1 -2 -2 -3 -3 -4 -5 -6 -8 -8 -9 -10 -11 -11 -12 -12 -12 -12 -12 -12 -13 -14 -15 -17 -17 -16 -15 -14 -14 -14 -14 -15 -15 -16 -16 -16 -17 -17 -17 -17 -17 -18 -18 -18 -18 -17 -15 -14 -13 -14 -15 -17 -17 -16 -15 -14 -14 -14 -14 -14 -13 -13 -13 -12 -12 -12 -11 -10 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 1 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 3 3 3 3 4 4 4 5 5 5 5 6 6 7 7 7 6 6 6 6 6 7 7 7 7 8 8 9 9 9 8 8 7 7 6 6 6 6 7 8 9 10 11 11 11 11 10 10 10 10 11 11 12 13 13 13 14 14 15 16 16 16 16 16 16 16 16 16 17 17 18 19 20 21 21 21 21 20 20 20 20 20 20 20 19 19 19 18 18 18 19 19 19 19 19 18 18 18 17 17 17 17 16 16 16 16 16 16 17 18 18 19 18 18 18 17 17 16 16 15 14 14 14 15 16 17 19 21 23 24 25 26 26 26 26 26 26 26 25 25 24 23 23 22 22 21 21 21 20 20 20 20 20 -59 -56 -55 -56 -57 -57 -56 -56 -57 -57 -58 -58 -59 -59 -58 -57 -56 -55 -55 -56 -56 -56 -56 -55 -54 -54 -52 -51 -47 -44 -40 -38 -35 -33 -31 -30 -28 -27 -26 -24 -21 -19 -17 -14 -11 -12 -16 -20 -20 -17 -16 -18 -18 -16 -13 -10 -9 -9 -8 -8 -9 -12 -14 -17 -20 -22 -23 -22 -22 -21 -20 -18 -22 -21 -18 -16 -16 -18 -20 -21 -20 -20 -20 -20 -20 -20 -21 -23 -24 -25 -26 -28 -30 -30 -29 -28 -28 -29 -32 -35 -32 -26 -24 -27 -28 -27 -30 -37 -43 -48 -49 -48 -40 -30 -24 -29 -40 -44 -39 -30 -22 -17 -12 -9 -6 -3 -1 0 2 3 4 5 5 5 4 4 4 4 4 5 5 5 5 6 7 7 8 8 8 8 7 6 4 2 2 2 2 3 3 3 2 1 0 -1 -2 -2 -3 -4 -6 -7 -8 -9 -9 -10 -10 -11 -11 -12 -12 -12 -13 -13 -13 -14 -16 -17 -18 -17 -16 -15 -14 -14 -14 -15 -15 -15 -16 -16 -16 -17 -17 -17 -17 -17 -18 -18 -17 -16 -15 -13 -13 -13 -15 -16 -16 -16 -15 -14 -14 -14 -14 -14 -13 -13 -13 -13 -13 -13 -12 -12 -11 -11 -10 -9 -8 -7 -6 -5 -4 -2 -1 -0 1 1 2 2 3 3 3 3 3 2 2 3 3 3 4 4 5 5 5 5 5 5 6 6 7 7 7 7 7 8 8 8 7 7 7 7 7 7 7 7 7 7 8 8 9 9 9 9 9 9 8 8 7 8 8 9 10 11 12 12 11 10 10 9 9 9 9 9 10 10 11 12 13 13 14 15 15 16 16 16 16 16 16 16 16 16 16 17 18 19 20 20 20 20 20 20 20 21 21 21 21 21 20 20 19 19 18 18 18 18 18 18 17 17 17 17 16 16 17 16 16 16 16 16 16 17 18 18 19 19 19 18 18 17 16 16 15 15 15 15 16 17 17 19 21 23 24 25 25 25 24 25 25 25 24 24 24 23 22 22 22 22 21 21 21 20 20 20 19 19 -61 -58 -57 -57 -57 -57 -57 -58 -58 -59 -59 -59 -59 -59 -58 -56 -55 -55 -56 -57 -57 -57 -57 -56 -56 -54 -52 -49 -46 -42 -39 -36 -33 -31 -29 -28 -27 -26 -24 -22 -20 -18 -15 -13 -12 -14 -18 -20 -18 -15 -16 -17 -18 -16 -12 -7 -5 -4 -4 -4 -5 -8 -11 -15 -19 -20 -20 -20 -22 -25 -25 -23 -23 -21 -18 -17 -19 -20 -22 -22 -21 -21 -21 -22 -21 -22 -22 -24 -24 -24 -26 -28 -29 -29 -28 -26 -26 -28 -31 -34 -34 -32 -33 -38 -41 -37 -40 -46 -52 -51 -48 -52 -51 -43 -32 -30 -41 -49 -49 -43 -36 -30 -22 -15 -9 -5 -2 -1 -0 1 2 3 3 3 3 3 3 3 4 5 5 4 5 6 6 7 7 7 7 6 5 4 3 2 2 2 3 3 3 3 2 1 -0 -1 -2 -3 -4 -6 -7 -8 -9 -9 -10 -10 -11 -11 -11 -12 -12 -13 -13 -13 -15 -17 -18 -18 -18 -16 -15 -15 -15 -15 -15 -15 -15 -16 -16 -17 -17 -17 -17 -17 -17 -18 -17 -17 -16 -15 -13 -12 -13 -14 -15 -16 -15 -14 -14 -14 -15 -14 -14 -14 -13 -13 -13 -13 -13 -13 -13 -12 -12 -11 -11 -10 -9 -8 -7 -6 -4 -3 -2 -1 -0 1 1 2 3 3 4 4 4 3 3 3 3 3 4 5 5 6 6 7 7 7 8 8 9 9 9 9 9 9 9 8 8 8 8 8 8 8 7 7 7 7 8 8 9 10 10 10 10 10 10 10 10 10 11 12 12 13 13 12 11 10 9 8 8 8 7 8 8 9 10 11 12 13 14 14 15 16 16 17 17 17 16 16 16 16 16 16 17 17 18 19 19 20 20 20 21 21 22 22 22 22 22 21 20 19 19 18 18 18 18 17 17 17 16 16 16 16 16 17 17 16 16 16 16 17 18 18 19 20 19 19 18 17 17 16 15 15 15 16 16 17 18 19 20 22 24 24 24 24 24 23 23 23 23 23 22 21 21 21 22 21 21 21 20 20 20 19 19 18 -62 -61 -60 -58 -57 -56 -57 -59 -59 -60 -60 -59 -59 -58 -57 -55 -54 -55 -56 -58 -58 -58 -57 -57 -56 -53 -50 -47 -44 -40 -36 -33 -30 -28 -27 -26 -25 -24 -22 -20 -18 -17 -15 -14 -13 -16 -18 -18 -16 -15 -17 -17 -16 -14 -9 -6 -6 -5 -5 -6 -7 -9 -13 -17 -19 -20 -20 -22 -26 -29 -31 -29 -25 -21 -20 -20 -22 -24 -24 -23 -22 -22 -23 -23 -23 -22 -23 -23 -23 -24 -26 -27 -28 -28 -27 -26 -27 -29 -32 -34 -36 -38 -41 -45 -48 -48 -49 -52 -55 -54 -51 -55 -58 -55 -46 -35 -35 -38 -41 -42 -46 -46 -36 -25 -16 -9 -5 -3 -2 -2 -1 1 1 1 1 1 2 3 4 5 5 4 5 6 6 6 6 5 5 4 3 2 1 1 1 2 3 3 3 2 1 0 -1 -1 -2 -4 -6 -7 -9 -9 -10 -10 -10 -11 -11 -11 -12 -12 -13 -13 -14 -15 -17 -18 -18 -18 -17 -16 -16 -16 -16 -16 -16 -16 -16 -16 -17 -17 -17 -17 -17 -17 -17 -17 -17 -16 -15 -13 -12 -13 -14 -15 -15 -14 -13 -13 -14 -14 -15 -14 -14 -14 -14 -14 -14 -14 -14 -14 -13 -13 -12 -12 -11 -10 -10 -9 -8 -7 -5 -4 -3 -2 -1 -0 0 1 2 3 4 5 5 5 5 5 5 5 5 6 6 7 7 8 9 9 10 11 11 11 11 11 11 10 10 9 9 9 9 9 9 9 8 8 8 8 8 9 10 10 11 11 12 12 12 12 12 13 13 14 14 13 13 12 10 9 9 8 8 7 7 7 7 8 9 10 11 12 13 14 15 16 16 17 17 17 17 16 16 16 16 16 16 17 17 18 18 19 19 20 21 22 23 23 23 23 22 22 21 20 19 19 18 18 17 17 17 16 16 16 16 16 16 16 17 17 16 16 17 17 18 18 19 20 20 19 19 18 17 16 16 16 16 16 17 17 17 18 20 22 23 24 24 24 23 23 22 22 22 22 21 20 20 20 21 21 20 20 20 19 19 18 18 18 -63 -63 -63 -61 -58 -56 -57 -59 -60 -60 -60 -60 -59 -58 -56 -54 -54 -55 -57 -58 -58 -58 -57 -57 -55 -51 -47 -44 -42 -38 -34 -30 -28 -26 -25 -24 -22 -20 -19 -19 -19 -18 -17 -15 -15 -17 -17 -17 -16 -16 -18 -17 -14 -11 -8 -8 -8 -9 -9 -11 -12 -14 -18 -20 -21 -23 -24 -26 -31 -34 -35 -31 -25 -22 -23 -25 -27 -28 -28 -26 -24 -24 -24 -24 -24 -24 -24 -23 -23 -24 -25 -27 -27 -27 -27 -28 -29 -31 -33 -35 -39 -42 -46 -49 -52 -53 -54 -55 -55 -54 -51 -55 -59 -60 -57 -48 -39 -34 -33 -35 -41 -46 -43 -35 -26 -18 -11 -7 -4 -3 -2 -1 -1 -1 -1 0 1 3 4 5 5 5 5 5 5 5 4 3 2 1 0 0 0 0 1 1 2 2 2 1 0 -0 -1 -2 -4 -5 -7 -9 -9 -10 -10 -10 -11 -11 -12 -13 -13 -13 -13 -14 -15 -16 -18 -18 -18 -17 -16 -16 -16 -17 -17 -17 -17 -17 -17 -17 -17 -17 -17 -17 -17 -17 -17 -17 -16 -15 -13 -12 -13 -14 -15 -15 -14 -12 -12 -13 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -13 -12 -12 -11 -11 -10 -9 -8 -7 -6 -5 -3 -3 -2 -1 -0 0 2 3 4 5 6 6 6 7 7 7 7 7 8 8 8 9 10 11 12 12 13 13 13 13 12 12 11 11 10 10 11 11 11 10 10 9 9 9 10 10 11 11 12 13 13 14 14 15 15 15 15 15 14 14 13 12 10 9 9 8 8 8 8 8 8 8 9 10 11 12 13 14 15 16 16 17 17 17 17 17 17 16 16 16 17 17 17 17 18 18 19 20 21 22 23 23 23 23 23 22 22 21 20 19 18 18 17 17 17 17 17 17 17 16 16 16 16 17 17 17 17 17 18 18 19 19 20 19 19 18 18 17 16 16 16 16 17 17 17 18 19 21 22 24 25 24 24 23 22 22 22 21 20 20 20 20 20 20 20 19 19 18 18 18 18 18 -64 -64 -65 -63 -60 -57 -57 -59 -60 -60 -60 -59 -59 -58 -57 -55 -54 -55 -57 -57 -57 -57 -56 -56 -53 -49 -46 -43 -40 -36 -32 -29 -26 -25 -24 -21 -19 -17 -18 -19 -19 -20 -19 -18 -18 -19 -18 -17 -17 -19 -20 -17 -13 -9 -8 -9 -9 -10 -11 -13 -16 -19 -21 -23 -25 -28 -30 -32 -36 -37 -36 -30 -26 -25 -27 -29 -31 -32 -31 -29 -27 -26 -26 -26 -26 -25 -25 -23 -22 -23 -24 -25 -26 -26 -27 -29 -31 -33 -35 -37 -41 -45 -48 -51 -54 -55 -56 -56 -56 -55 -55 -58 -60 -61 -61 -59 -49 -39 -33 -32 -33 -35 -37 -37 -36 -30 -23 -14 -8 -4 -3 -2 -3 -3 -3 -2 -1 2 3 5 5 5 5 4 4 3 3 2 0 -1 -1 -1 -1 -0 -0 0 0 1 0 -0 -1 -1 -2 -4 -5 -7 -8 -9 -9 -10 -10 -11 -12 -13 -14 -14 -14 -14 -14 -15 -16 -17 -17 -17 -17 -16 -16 -17 -17 -17 -17 -17 -17 -17 -18 -18 -18 -18 -17 -17 -17 -16 -16 -16 -14 -13 -13 -13 -14 -15 -15 -14 -12 -12 -12 -13 -14 -14 -14 -14 -14 -14 -15 -15 -15 -15 -14 -14 -14 -13 -12 -12 -12 -11 -11 -10 -9 -8 -6 -5 -5 -4 -3 -2 -1 -1 0 2 3 4 6 7 7 8 8 9 9 9 9 9 10 11 12 12 13 13 14 14 14 14 14 14 13 13 13 13 13 13 13 13 12 11 11 11 11 12 12 13 13 14 15 16 16 17 17 17 16 15 15 14 13 12 11 10 9 8 8 9 9 9 10 10 10 11 12 13 14 15 15 16 16 17 17 17 18 18 17 17 17 17 17 17 18 18 18 18 19 20 21 22 22 23 23 22 22 22 22 21 20 19 19 18 18 18 18 18 18 17 17 17 17 17 16 17 17 17 18 18 18 18 18 19 19 19 18 18 18 17 17 17 17 17 17 18 18 18 18 20 21 23 24 24 24 23 23 22 22 21 21 20 20 19 19 19 19 19 19 18 17 17 18 19 -65 -66 -66 -64 -61 -58 -56 -57 -59 -59 -59 -58 -58 -58 -58 -57 -56 -56 -56 -56 -55 -55 -55 -54 -51 -47 -44 -41 -38 -34 -30 -26 -25 -23 -21 -18 -17 -18 -19 -19 -20 -21 -22 -21 -21 -21 -20 -20 -20 -20 -20 -16 -13 -10 -9 -9 -8 -9 -10 -13 -17 -20 -23 -26 -30 -33 -37 -38 -39 -38 -34 -30 -27 -28 -31 -33 -35 -35 -34 -31 -29 -28 -28 -27 -28 -27 -25 -23 -22 -22 -23 -24 -25 -26 -27 -30 -33 -35 -37 -40 -43 -47 -50 -53 -56 -57 -58 -58 -59 -59 -60 -61 -61 -61 -63 -64 -56 -44 -35 -32 -29 -26 -27 -31 -35 -38 -35 -27 -18 -11 -6 -4 -4 -5 -6 -5 -4 -1 2 4 5 5 4 3 3 2 1 0 -1 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -3 -4 -5 -7 -8 -9 -9 -10 -10 -11 -13 -14 -15 -16 -16 -16 -16 -15 -15 -16 -16 -16 -16 -16 -16 -17 -17 -17 -17 -17 -17 -18 -18 -18 -18 -18 -17 -17 -17 -16 -16 -15 -15 -14 -14 -14 -15 -15 -15 -13 -12 -11 -12 -13 -14 -14 -14 -14 -15 -15 -15 -15 -15 -15 -15 -14 -14 -13 -13 -12 -12 -12 -12 -11 -10 -9 -8 -7 -6 -5 -5 -4 -3 -3 -2 -1 0 2 3 4 6 7 8 8 9 9 10 10 11 11 12 12 12 13 13 13 14 14 15 15 15 15 15 16 16 16 16 16 15 14 14 13 13 13 13 14 14 15 16 17 17 18 18 18 17 16 16 15 14 13 12 11 10 10 9 9 10 10 11 11 12 12 13 13 14 15 15 16 16 16 17 17 17 18 18 18 18 18 18 18 19 19 19 19 19 19 20 20 21 21 22 22 22 22 22 21 21 20 19 19 18 18 18 18 18 18 18 18 18 18 17 17 17 17 18 18 18 18 18 18 18 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 19 20 22 24 24 24 24 23 23 22 22 21 21 20 19 19 19 19 19 19 18 17 17 18 19 -66 -67 -67 -65 -63 -59 -56 -57 -58 -58 -58 -57 -57 -58 -58 -58 -57 -55 -54 -54 -54 -53 -53 -52 -49 -45 -42 -39 -35 -30 -27 -24 -23 -21 -19 -18 -18 -19 -19 -20 -21 -22 -22 -22 -22 -22 -22 -22 -22 -21 -19 -16 -13 -12 -10 -9 -7 -7 -8 -11 -15 -17 -22 -28 -34 -39 -41 -41 -39 -36 -33 -31 -30 -32 -34 -36 -37 -36 -34 -32 -31 -30 -29 -30 -30 -28 -25 -23 -21 -22 -22 -23 -25 -26 -29 -32 -34 -37 -39 -42 -45 -48 -52 -55 -58 -59 -60 -60 -60 -61 -61 -62 -62 -63 -64 -64 -56 -43 -35 -32 -29 -24 -21 -22 -26 -32 -36 -35 -31 -24 -16 -10 -7 -7 -8 -8 -6 -4 -1 2 3 3 3 3 2 1 -0 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -4 -6 -7 -8 -8 -9 -9 -10 -12 -13 -15 -16 -17 -17 -17 -17 -16 -16 -15 -15 -15 -15 -16 -16 -17 -17 -17 -17 -17 -17 -18 -18 -18 -18 -18 -17 -17 -16 -16 -16 -16 -15 -15 -15 -15 -16 -16 -15 -13 -12 -11 -12 -13 -14 -15 -15 -15 -15 -15 -16 -16 -16 -16 -15 -15 -14 -13 -13 -12 -12 -12 -12 -12 -11 -10 -9 -8 -7 -7 -6 -5 -5 -5 -4 -4 -3 -1 0 2 3 4 5 6 7 8 8 9 10 11 11 12 12 12 12 12 12 13 13 14 15 16 17 18 19 19 19 19 18 18 17 16 16 15 15 15 15 16 16 17 18 18 18 18 18 17 17 16 15 14 13 13 12 11 11 11 11 11 12 13 13 14 14 14 15 15 15 16 16 16 16 16 17 17 18 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 20 19 19 18 18 18 18 19 19 19 19 19 19 18 18 18 18 18 19 19 18 18 18 17 17 16 16 17 17 17 18 18 19 19 19 19 19 19 19 19 20 22 23 24 24 24 24 23 23 23 22 21 20 20 19 19 19 19 19 18 18 17 18 18 -67 -67 -67 -66 -63 -60 -57 -56 -57 -57 -56 -54 -55 -56 -56 -56 -55 -54 -53 -52 -52 -52 -51 -49 -46 -43 -39 -35 -31 -26 -23 -22 -21 -21 -20 -20 -20 -21 -20 -21 -22 -22 -21 -21 -21 -21 -22 -22 -21 -20 -18 -16 -15 -13 -11 -9 -8 -8 -9 -11 -14 -16 -22 -29 -37 -41 -42 -39 -36 -34 -33 -32 -32 -34 -36 -38 -37 -36 -33 -31 -31 -31 -31 -32 -31 -29 -26 -23 -22 -23 -23 -24 -26 -27 -31 -33 -36 -38 -41 -44 -46 -49 -52 -56 -59 -61 -62 -62 -61 -60 -60 -61 -63 -64 -65 -63 -54 -41 -33 -32 -30 -26 -23 -19 -17 -18 -24 -32 -36 -35 -31 -23 -14 -10 -10 -10 -9 -6 -4 -1 1 2 2 1 0 -1 -2 -2 -2 -3 -3 -3 -2 -2 -2 -3 -3 -3 -3 -3 -4 -6 -7 -7 -8 -8 -9 -10 -12 -14 -15 -17 -18 -18 -18 -17 -17 -16 -15 -15 -15 -15 -15 -16 -16 -17 -17 -17 -17 -17 -18 -18 -18 -18 -18 -17 -17 -16 -16 -16 -16 -16 -15 -15 -16 -17 -17 -16 -14 -12 -11 -11 -12 -14 -15 -15 -15 -16 -16 -16 -16 -16 -16 -16 -15 -15 -14 -13 -12 -12 -12 -12 -12 -11 -10 -10 -9 -8 -8 -7 -6 -6 -6 -6 -6 -5 -4 -2 -1 0 1 2 3 4 5 5 6 7 8 9 10 10 10 10 10 10 10 11 12 13 15 16 18 19 20 21 21 21 20 20 19 19 18 17 17 17 17 18 18 18 19 19 19 18 18 18 17 17 16 15 14 14 13 13 12 12 13 13 13 14 15 16 16 16 16 16 16 16 16 16 16 16 17 17 18 19 20 20 20 21 21 21 21 21 21 21 21 21 20 20 20 20 20 20 20 21 21 20 20 19 19 19 18 18 18 19 19 20 20 20 20 20 20 19 19 19 19 19 19 18 18 17 17 16 16 16 17 18 18 19 20 20 20 20 20 20 20 20 21 22 23 24 24 24 24 24 23 23 22 22 21 20 20 20 20 20 20 19 18 18 17 18 -67 -66 -66 -65 -63 -61 -58 -55 -55 -55 -53 -52 -52 -53 -54 -54 -53 -52 -51 -51 -51 -50 -48 -45 -42 -39 -35 -30 -26 -22 -21 -21 -22 -22 -22 -22 -23 -22 -21 -21 -21 -20 -19 -18 -18 -18 -18 -19 -18 -17 -17 -17 -16 -15 -13 -12 -11 -10 -12 -14 -17 -20 -26 -33 -38 -40 -39 -36 -35 -34 -33 -32 -33 -35 -37 -37 -36 -33 -30 -30 -31 -32 -33 -33 -32 -30 -27 -25 -24 -24 -25 -27 -29 -31 -33 -36 -37 -39 -42 -44 -46 -48 -51 -55 -57 -57 -59 -60 -61 -60 -59 -60 -62 -63 -64 -61 -51 -38 -31 -31 -34 -34 -32 -28 -22 -18 -17 -19 -25 -33 -38 -36 -25 -15 -11 -10 -9 -8 -6 -4 -2 -0 0 -1 -2 -3 -3 -3 -3 -3 -4 -4 -3 -3 -3 -4 -3 -3 -4 -5 -6 -6 -7 -8 -8 -9 -10 -11 -13 -15 -17 -18 -19 -19 -18 -17 -16 -15 -15 -15 -15 -16 -16 -17 -17 -17 -17 -17 -17 -18 -18 -18 -17 -17 -17 -17 -16 -16 -16 -16 -16 -16 -16 -16 -17 -17 -17 -15 -13 -12 -12 -12 -13 -13 -14 -15 -15 -16 -16 -16 -16 -17 -16 -16 -15 -14 -14 -13 -12 -12 -12 -12 -11 -10 -9 -9 -8 -8 -7 -7 -7 -7 -7 -8 -7 -6 -5 -4 -3 -2 -1 -0 1 1 2 3 4 5 6 7 8 8 8 8 9 9 9 10 11 12 14 15 17 19 20 21 21 22 21 21 21 20 19 19 18 18 19 19 20 20 20 19 19 18 18 18 18 18 17 16 15 15 14 14 14 15 15 15 16 16 17 17 17 17 17 17 17 17 16 16 16 16 17 17 18 19 20 20 21 22 22 22 22 22 22 22 21 21 21 21 20 20 20 20 20 20 20 20 20 20 19 19 19 19 19 19 19 20 21 21 21 22 22 21 21 20 20 20 20 19 19 18 18 17 17 17 17 18 18 19 20 20 20 20 21 21 21 21 22 22 23 24 24 24 24 24 24 23 23 22 21 20 20 20 20 21 21 20 20 19 18 18 -67 -66 -65 -64 -63 -61 -58 -55 -53 -52 -51 -50 -50 -52 -52 -52 -51 -51 -50 -50 -49 -47 -44 -41 -38 -34 -30 -26 -22 -21 -22 -23 -23 -24 -25 -25 -24 -23 -22 -21 -19 -17 -16 -15 -14 -13 -13 -13 -13 -12 -13 -16 -17 -17 -17 -15 -14 -14 -15 -18 -22 -26 -31 -36 -39 -39 -36 -34 -33 -32 -32 -31 -31 -33 -34 -34 -32 -31 -31 -32 -33 -35 -35 -35 -33 -30 -27 -26 -26 -27 -28 -30 -32 -34 -36 -38 -38 -39 -41 -44 -45 -48 -51 -54 -56 -57 -57 -59 -60 -59 -59 -61 -62 -63 -62 -58 -47 -36 -29 -30 -36 -44 -46 -43 -36 -29 -25 -21 -20 -22 -27 -34 -33 -22 -13 -10 -9 -8 -6 -5 -3 -2 -2 -3 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -6 -6 -7 -7 -8 -8 -9 -11 -13 -15 -17 -18 -19 -19 -19 -18 -17 -16 -15 -15 -15 -16 -16 -17 -17 -18 -17 -17 -18 -18 -18 -17 -17 -17 -17 -17 -16 -16 -16 -16 -16 -16 -16 -16 -16 -17 -17 -16 -14 -13 -12 -12 -12 -12 -13 -13 -14 -15 -15 -16 -16 -16 -16 -16 -16 -15 -14 -13 -13 -13 -12 -12 -11 -10 -9 -9 -8 -8 -8 -7 -7 -8 -8 -9 -9 -8 -7 -6 -5 -5 -4 -3 -2 -2 -1 -0 0 1 2 3 4 5 6 6 7 7 7 7 8 9 10 12 13 15 17 19 20 21 21 21 22 21 21 20 20 19 20 21 21 21 21 21 20 19 18 18 18 18 18 18 17 16 16 16 16 17 17 17 18 18 18 18 18 17 17 17 17 17 17 17 17 17 17 17 18 18 19 20 20 21 22 22 23 23 23 22 22 22 21 21 21 21 21 20 20 20 20 20 20 20 20 20 20 20 20 19 20 20 20 21 22 23 23 24 24 23 22 21 21 21 20 20 20 19 19 19 18 18 18 19 19 20 20 20 21 22 22 22 22 22 23 23 24 24 24 24 24 24 23 23 22 22 21 20 20 20 21 21 21 21 20 19 18 -67 -65 -64 -63 -61 -60 -58 -55 -52 -50 -50 -49 -50 -51 -51 -51 -50 -50 -50 -49 -46 -42 -39 -37 -33 -29 -26 -22 -21 -22 -24 -25 -25 -26 -26 -26 -24 -23 -22 -21 -19 -18 -16 -14 -13 -11 -10 -9 -9 -9 -10 -13 -16 -18 -19 -19 -19 -19 -21 -22 -25 -28 -33 -37 -38 -37 -34 -32 -31 -31 -30 -30 -30 -32 -32 -32 -31 -31 -32 -34 -35 -37 -37 -36 -33 -29 -26 -25 -26 -28 -31 -33 -35 -36 -38 -39 -39 -40 -41 -43 -45 -47 -49 -52 -55 -56 -57 -57 -58 -58 -59 -60 -62 -63 -61 -53 -41 -33 -30 -32 -38 -46 -49 -48 -47 -45 -41 -33 -27 -24 -24 -31 -34 -26 -17 -12 -10 -7 -5 -4 -3 -3 -4 -5 -6 -6 -5 -5 -5 -5 -5 -5 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -8 -9 -11 -12 -14 -16 -17 -19 -19 -19 -18 -17 -16 -15 -15 -16 -16 -16 -17 -17 -18 -18 -18 -18 -18 -18 -18 -17 -17 -17 -17 -17 -17 -17 -17 -17 -16 -16 -16 -16 -16 -16 -16 -15 -14 -13 -12 -12 -11 -12 -12 -13 -14 -14 -15 -15 -15 -15 -15 -15 -15 -14 -14 -13 -13 -12 -12 -11 -10 -9 -8 -8 -8 -8 -8 -8 -8 -9 -9 -10 -9 -9 -8 -7 -7 -7 -6 -5 -4 -3 -3 -2 -2 -1 -0 1 2 2 3 4 4 5 5 6 6 7 8 10 11 13 15 17 18 19 20 20 21 21 21 21 21 21 21 22 23 23 23 22 21 20 19 19 19 19 19 18 18 17 17 18 18 19 20 20 21 21 20 20 19 18 18 18 18 18 18 18 18 18 18 18 18 18 19 19 20 20 21 22 22 22 22 22 22 22 22 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 22 23 24 25 26 26 25 24 23 22 22 22 22 21 21 21 21 20 20 20 20 20 20 21 21 22 23 23 23 23 23 22 23 23 24 24 24 24 24 23 23 23 22 21 21 20 21 21 21 22 21 21 20 19 -67 -65 -63 -61 -60 -59 -57 -54 -52 -50 -49 -49 -50 -51 -51 -50 -50 -49 -49 -45 -41 -38 -35 -32 -28 -25 -22 -21 -21 -24 -26 -26 -26 -25 -25 -24 -24 -24 -24 -23 -22 -20 -18 -16 -14 -11 -10 -8 -7 -7 -8 -11 -14 -16 -19 -20 -22 -24 -25 -26 -27 -29 -33 -36 -36 -35 -32 -30 -29 -29 -29 -28 -29 -30 -32 -32 -32 -31 -32 -34 -36 -37 -38 -35 -31 -27 -25 -25 -27 -29 -32 -34 -36 -37 -39 -39 -40 -40 -41 -43 -45 -47 -48 -50 -52 -54 -55 -55 -56 -57 -58 -59 -61 -61 -59 -50 -41 -37 -36 -40 -46 -50 -52 -52 -52 -51 -49 -45 -40 -33 -28 -30 -33 -28 -23 -18 -14 -9 -5 -3 -3 -4 -6 -7 -7 -7 -7 -6 -6 -5 -6 -6 -7 -8 -8 -9 -9 -9 -8 -8 -7 -7 -8 -9 -11 -12 -14 -15 -17 -18 -18 -19 -18 -17 -16 -16 -16 -16 -16 -17 -17 -17 -18 -19 -19 -19 -19 -19 -18 -18 -17 -17 -17 -17 -17 -17 -17 -17 -17 -17 -16 -16 -16 -16 -15 -15 -15 -14 -13 -12 -11 -11 -12 -12 -13 -13 -14 -14 -14 -14 -14 -14 -14 -14 -14 -13 -13 -13 -12 -12 -11 -9 -8 -7 -8 -8 -9 -9 -9 -9 -10 -10 -10 -9 -9 -9 -9 -8 -8 -7 -6 -5 -5 -5 -4 -4 -3 -2 -2 -1 -0 0 1 2 2 3 4 5 5 6 8 9 11 13 14 16 17 18 19 20 21 21 22 22 23 23 24 24 24 24 23 22 22 21 21 20 20 19 19 18 18 19 19 21 22 23 23 23 23 22 21 20 19 19 18 18 18 18 18 18 18 18 18 18 18 18 19 19 19 20 21 21 21 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 23 23 24 25 26 27 27 27 26 25 23 23 23 23 23 23 23 22 22 21 21 21 22 22 22 22 23 23 23 23 23 23 22 22 22 23 23 23 23 23 23 23 23 23 22 21 21 21 21 22 22 22 22 22 21 -68 -66 -63 -60 -59 -58 -56 -54 -52 -50 -50 -50 -50 -50 -50 -50 -49 -48 -45 -42 -37 -34 -30 -28 -25 -23 -22 -22 -23 -26 -27 -27 -26 -25 -24 -24 -24 -25 -25 -25 -23 -21 -19 -17 -16 -14 -12 -10 -8 -8 -9 -10 -13 -15 -17 -19 -22 -24 -26 -28 -29 -30 -32 -33 -33 -32 -29 -28 -28 -27 -27 -27 -27 -30 -33 -34 -33 -30 -30 -31 -34 -37 -37 -33 -29 -27 -26 -27 -28 -30 -32 -34 -36 -38 -39 -39 -40 -40 -41 -43 -45 -46 -46 -47 -49 -51 -52 -53 -55 -57 -57 -58 -59 -60 -59 -55 -51 -48 -47 -49 -53 -55 -56 -56 -56 -54 -52 -50 -47 -42 -37 -34 -30 -27 -25 -24 -22 -15 -9 -5 -4 -5 -6 -8 -9 -9 -9 -9 -8 -7 -6 -7 -7 -8 -9 -10 -10 -10 -9 -9 -8 -9 -10 -11 -13 -14 -15 -16 -17 -18 -18 -18 -18 -17 -16 -16 -16 -16 -17 -17 -17 -18 -18 -19 -19 -19 -19 -19 -18 -18 -18 -17 -18 -18 -18 -18 -18 -18 -17 -17 -16 -16 -16 -16 -16 -15 -15 -14 -13 -12 -12 -12 -12 -12 -13 -13 -13 -14 -14 -13 -13 -13 -13 -13 -13 -13 -13 -12 -12 -11 -10 -9 -7 -7 -8 -9 -9 -9 -9 -10 -10 -10 -10 -9 -9 -9 -10 -9 -8 -7 -6 -6 -6 -6 -5 -5 -4 -4 -4 -3 -3 -2 -1 -0 0 1 2 3 4 5 6 8 9 10 11 12 14 15 17 19 20 21 22 23 24 25 25 25 25 24 24 24 23 23 22 22 21 20 20 19 19 20 21 23 24 25 25 25 25 24 23 22 21 20 20 19 19 19 19 18 18 18 17 17 17 18 18 18 19 19 19 20 20 20 21 21 22 22 22 22 22 23 23 23 23 23 23 24 24 24 24 23 23 23 23 23 24 24 25 25 26 26 27 27 27 27 26 25 25 25 25 25 25 24 24 23 23 23 23 24 24 24 24 24 24 24 24 23 23 22 22 22 22 22 22 22 22 23 23 23 23 23 22 21 21 22 22 22 23 23 23 23 -67 -66 -64 -60 -59 -57 -56 -53 -51 -50 -50 -50 -50 -50 -49 -48 -46 -44 -41 -37 -33 -29 -26 -24 -23 -22 -22 -23 -24 -26 -27 -27 -26 -25 -24 -25 -25 -25 -25 -24 -21 -19 -18 -17 -17 -17 -15 -14 -12 -12 -11 -13 -15 -16 -16 -17 -19 -21 -24 -27 -29 -30 -30 -30 -30 -30 -28 -27 -26 -26 -25 -25 -28 -32 -34 -34 -33 -30 -28 -29 -32 -35 -36 -31 -28 -27 -27 -28 -29 -30 -32 -35 -38 -39 -39 -39 -40 -40 -41 -43 -45 -45 -45 -46 -48 -49 -51 -53 -56 -58 -58 -57 -57 -58 -60 -61 -61 -58 -56 -55 -57 -59 -59 -59 -58 -56 -54 -51 -48 -45 -42 -39 -33 -28 -26 -27 -29 -25 -16 -11 -8 -8 -8 -9 -10 -11 -11 -12 -11 -10 -8 -8 -7 -8 -9 -10 -11 -11 -10 -10 -10 -10 -11 -12 -14 -15 -16 -17 -18 -18 -18 -18 -17 -16 -16 -16 -16 -17 -17 -18 -18 -18 -19 -19 -19 -19 -19 -19 -18 -18 -18 -18 -18 -18 -19 -19 -18 -18 -18 -17 -17 -16 -16 -16 -16 -16 -15 -14 -14 -13 -13 -12 -12 -12 -13 -13 -13 -13 -13 -13 -13 -13 -12 -12 -12 -12 -12 -12 -12 -11 -9 -8 -7 -7 -8 -9 -10 -10 -10 -10 -10 -10 -9 -9 -9 -10 -10 -9 -8 -7 -7 -6 -6 -6 -6 -5 -5 -5 -5 -5 -4 -4 -3 -2 -2 -1 0 1 2 3 5 6 7 7 8 9 11 13 15 17 19 21 22 23 24 25 25 25 24 25 25 25 25 25 24 23 22 22 21 21 21 22 23 24 25 26 26 26 26 25 24 24 23 22 21 21 20 20 19 19 18 17 17 17 17 17 17 17 18 18 18 19 19 19 20 21 22 22 23 23 23 24 24 24 24 25 25 25 25 26 25 25 25 25 25 25 25 26 26 26 26 27 27 27 27 27 27 26 26 26 26 26 26 25 25 25 24 24 25 25 26 26 25 25 24 24 24 24 23 23 22 22 21 21 21 21 22 22 23 23 23 23 23 22 22 22 22 23 23 24 24 24 -66 -65 -64 -60 -58 -56 -54 -51 -49 -49 -49 -49 -49 -48 -47 -45 -43 -39 -36 -31 -28 -25 -23 -22 -22 -22 -22 -22 -24 -25 -26 -26 -26 -25 -25 -25 -25 -25 -24 -22 -19 -17 -17 -17 -18 -18 -17 -17 -17 -16 -16 -19 -20 -19 -17 -16 -16 -17 -21 -25 -28 -28 -27 -28 -29 -31 -30 -26 -24 -23 -24 -26 -30 -33 -35 -34 -33 -32 -30 -31 -32 -34 -33 -30 -28 -28 -28 -28 -30 -31 -34 -37 -39 -40 -40 -39 -39 -40 -41 -43 -44 -45 -45 -46 -48 -50 -52 -55 -59 -61 -60 -59 -58 -58 -59 -60 -61 -59 -57 -57 -59 -61 -62 -62 -61 -59 -57 -53 -48 -43 -40 -38 -33 -28 -26 -26 -28 -27 -22 -18 -17 -15 -12 -11 -12 -12 -14 -14 -14 -14 -12 -10 -9 -9 -9 -10 -10 -11 -11 -11 -11 -12 -12 -13 -14 -15 -16 -17 -18 -18 -18 -17 -16 -16 -15 -15 -16 -17 -17 -18 -18 -19 -19 -19 -18 -18 -18 -18 -18 -18 -18 -18 -18 -19 -19 -19 -19 -19 -18 -17 -17 -16 -16 -16 -16 -16 -16 -15 -15 -14 -14 -13 -12 -12 -13 -13 -13 -13 -12 -12 -12 -12 -11 -11 -11 -11 -12 -12 -11 -10 -9 -8 -7 -8 -9 -9 -10 -10 -10 -10 -10 -9 -9 -9 -10 -10 -10 -9 -8 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -4 -4 -3 -3 -2 -1 -0 1 2 3 4 4 5 6 7 9 11 13 15 17 18 20 21 22 23 23 23 23 24 25 25 26 26 25 24 24 23 23 23 23 24 25 26 26 27 27 27 27 26 26 26 25 24 23 22 21 20 19 19 18 17 17 16 16 16 16 17 17 18 18 18 19 19 20 20 21 22 23 24 24 24 24 25 25 26 26 27 27 27 27 27 27 27 26 26 26 27 27 27 27 27 27 27 27 27 28 28 28 28 28 28 27 27 26 26 26 26 26 27 27 27 27 26 25 25 25 25 24 24 23 22 21 21 21 21 21 21 22 23 23 23 23 23 23 23 23 23 24 24 25 25 -65 -64 -62 -58 -56 -53 -51 -49 -47 -48 -48 -48 -47 -45 -44 -42 -38 -33 -29 -26 -24 -23 -22 -22 -23 -23 -22 -22 -23 -24 -25 -25 -24 -23 -23 -24 -24 -23 -22 -19 -17 -17 -17 -17 -17 -16 -16 -17 -18 -19 -20 -23 -23 -20 -16 -13 -14 -15 -19 -24 -26 -24 -23 -26 -31 -34 -32 -26 -22 -21 -24 -30 -34 -36 -37 -38 -39 -40 -38 -37 -35 -33 -31 -29 -29 -29 -29 -30 -32 -33 -35 -38 -41 -42 -41 -40 -40 -40 -42 -43 -45 -46 -46 -47 -50 -52 -55 -57 -60 -62 -63 -63 -62 -59 -56 -55 -55 -56 -56 -57 -60 -62 -64 -64 -62 -60 -59 -54 -46 -37 -30 -28 -26 -25 -25 -24 -23 -23 -24 -25 -27 -27 -22 -18 -16 -15 -16 -17 -18 -17 -16 -15 -13 -11 -10 -10 -10 -10 -11 -12 -12 -12 -13 -13 -14 -15 -16 -17 -17 -17 -17 -17 -16 -15 -15 -15 -16 -17 -17 -18 -18 -19 -19 -19 -18 -18 -18 -18 -18 -18 -18 -18 -19 -19 -19 -19 -19 -19 -18 -17 -17 -17 -17 -17 -17 -17 -16 -16 -16 -15 -14 -13 -12 -12 -12 -12 -12 -12 -12 -12 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -9 -8 -7 -8 -8 -9 -10 -10 -10 -10 -9 -9 -10 -10 -10 -10 -10 -9 -8 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -3 -3 -2 -1 -0 1 1 2 3 3 5 6 8 10 11 12 13 14 15 17 18 19 19 20 21 23 24 25 25 26 26 25 25 24 25 25 26 26 27 27 27 27 27 27 28 28 28 28 27 26 25 23 22 21 20 19 18 17 16 16 15 15 16 16 17 17 17 18 18 19 19 20 21 22 23 23 23 24 24 25 25 26 27 27 28 28 28 28 28 28 28 28 27 27 28 28 28 27 27 27 27 28 29 29 30 29 29 29 29 28 28 27 27 27 28 28 28 28 28 27 27 26 26 26 25 25 24 23 22 21 21 21 21 21 22 22 23 23 24 24 24 24 24 24 25 25 25 26 -65 -62 -60 -56 -53 -51 -49 -47 -47 -48 -48 -47 -45 -43 -40 -37 -32 -28 -25 -24 -24 -24 -24 -25 -24 -24 -23 -23 -23 -24 -25 -24 -23 -22 -21 -21 -21 -21 -19 -17 -17 -17 -16 -15 -14 -13 -14 -16 -17 -19 -20 -22 -21 -17 -14 -13 -15 -17 -21 -25 -27 -24 -22 -26 -32 -36 -33 -25 -21 -22 -27 -34 -38 -39 -41 -42 -42 -40 -38 -36 -34 -32 -30 -30 -30 -31 -32 -34 -35 -36 -38 -40 -42 -43 -42 -41 -41 -41 -42 -44 -46 -47 -47 -49 -51 -54 -56 -57 -57 -56 -58 -60 -61 -59 -53 -49 -50 -53 -55 -57 -60 -62 -63 -63 -61 -58 -55 -49 -37 -24 -14 -14 -19 -24 -27 -26 -24 -24 -25 -28 -33 -36 -34 -30 -25 -21 -20 -20 -21 -21 -20 -19 -17 -15 -13 -12 -11 -11 -11 -12 -12 -13 -13 -13 -14 -15 -16 -16 -17 -17 -17 -16 -15 -15 -14 -15 -15 -16 -17 -18 -18 -18 -18 -19 -19 -19 -19 -18 -18 -18 -18 -18 -19 -20 -20 -20 -19 -19 -18 -17 -17 -17 -17 -17 -17 -17 -17 -16 -16 -15 -14 -13 -12 -12 -12 -12 -12 -12 -11 -11 -10 -10 -10 -10 -10 -10 -11 -11 -10 -9 -8 -7 -7 -7 -8 -9 -9 -9 -10 -10 -10 -10 -10 -10 -11 -10 -9 -8 -7 -7 -6 -6 -6 -6 -6 -6 -7 -7 -6 -6 -5 -5 -5 -4 -4 -3 -2 -2 -1 -1 -0 0 1 3 4 6 7 7 8 8 8 9 10 11 13 14 15 17 19 21 22 23 24 25 25 25 25 25 26 27 27 28 28 28 27 28 28 28 29 29 29 29 28 27 26 24 23 22 20 19 18 17 16 15 15 15 15 15 16 16 17 17 18 18 19 20 20 21 22 22 23 23 24 24 25 26 26 27 28 28 29 29 29 29 29 28 28 28 28 28 28 28 28 28 28 29 30 30 31 30 30 30 30 30 30 29 29 29 29 29 29 29 29 28 28 27 27 27 26 26 25 23 23 22 22 22 22 22 22 22 23 24 24 24 24 24 24 24 25 25 26 26 -64 -61 -58 -55 -52 -49 -48 -46 -47 -48 -48 -46 -43 -39 -36 -32 -29 -25 -24 -25 -26 -27 -27 -27 -26 -24 -23 -23 -23 -24 -25 -24 -22 -21 -21 -21 -20 -19 -17 -16 -15 -15 -14 -13 -13 -13 -14 -16 -16 -15 -16 -17 -17 -17 -17 -18 -19 -21 -25 -28 -27 -24 -23 -27 -33 -35 -33 -26 -22 -24 -29 -35 -38 -40 -41 -42 -40 -36 -35 -33 -32 -30 -30 -30 -32 -34 -36 -38 -37 -38 -40 -42 -44 -44 -43 -42 -42 -43 -44 -46 -47 -48 -47 -47 -48 -50 -53 -54 -54 -54 -57 -60 -61 -57 -48 -43 -47 -52 -55 -57 -59 -61 -62 -60 -57 -55 -51 -40 -27 -16 -12 -14 -18 -23 -27 -28 -27 -26 -25 -24 -26 -31 -39 -41 -38 -32 -27 -26 -25 -25 -24 -23 -22 -20 -18 -16 -14 -13 -13 -12 -12 -12 -12 -13 -14 -15 -15 -16 -16 -16 -16 -15 -15 -14 -14 -15 -15 -16 -17 -17 -18 -18 -18 -19 -19 -19 -19 -19 -18 -18 -18 -19 -19 -20 -20 -20 -19 -19 -18 -18 -17 -17 -17 -17 -17 -17 -17 -16 -16 -15 -14 -12 -12 -11 -11 -11 -11 -11 -11 -10 -10 -9 -9 -9 -10 -10 -10 -10 -10 -9 -8 -7 -7 -7 -8 -9 -9 -9 -10 -10 -10 -10 -10 -10 -10 -9 -8 -7 -7 -6 -6 -6 -6 -6 -7 -7 -7 -7 -6 -6 -5 -5 -5 -4 -4 -3 -3 -3 -3 -3 -2 -1 0 2 4 5 5 5 5 5 5 6 7 8 9 11 12 14 16 18 20 21 22 23 24 25 25 26 26 27 27 27 28 28 28 28 29 29 30 30 30 30 29 28 26 25 23 22 21 19 18 17 16 15 15 14 14 15 15 15 16 16 17 18 18 19 19 20 20 21 22 23 23 24 24 25 25 26 26 27 28 29 29 29 29 29 29 29 29 29 29 28 29 29 29 30 30 31 31 31 31 31 31 31 31 31 31 31 31 31 30 30 30 29 29 28 28 27 27 26 25 24 24 23 23 22 22 22 22 23 23 24 24 25 25 25 25 25 25 26 26 26 -62 -60 -57 -55 -52 -49 -47 -47 -49 -49 -47 -44 -40 -36 -33 -30 -28 -27 -27 -29 -30 -29 -28 -27 -25 -23 -23 -22 -23 -24 -24 -23 -21 -21 -21 -20 -18 -16 -14 -13 -13 -13 -13 -14 -15 -17 -17 -16 -15 -14 -14 -16 -17 -19 -21 -24 -27 -29 -30 -30 -28 -26 -26 -29 -33 -35 -33 -28 -24 -25 -29 -34 -36 -38 -40 -40 -37 -31 -31 -31 -30 -29 -29 -31 -34 -37 -39 -40 -39 -40 -42 -43 -44 -45 -44 -44 -44 -45 -46 -48 -48 -48 -46 -45 -46 -49 -53 -55 -57 -57 -58 -59 -58 -54 -47 -45 -47 -51 -54 -56 -59 -62 -63 -60 -54 -47 -39 -28 -20 -17 -17 -17 -19 -21 -22 -22 -24 -25 -25 -24 -24 -24 -28 -35 -41 -44 -40 -36 -33 -30 -29 -27 -25 -24 -22 -21 -19 -17 -15 -14 -13 -13 -12 -13 -14 -14 -15 -15 -15 -15 -15 -15 -15 -15 -15 -15 -15 -16 -16 -17 -17 -18 -18 -19 -19 -19 -19 -19 -19 -19 -19 -20 -20 -20 -21 -20 -20 -19 -18 -18 -18 -17 -17 -17 -17 -16 -16 -15 -14 -13 -13 -12 -11 -11 -11 -11 -11 -10 -10 -9 -9 -9 -9 -9 -9 -9 -10 -10 -9 -8 -7 -7 -7 -7 -8 -8 -9 -9 -10 -10 -10 -10 -10 -10 -9 -8 -7 -7 -6 -6 -6 -7 -7 -7 -8 -8 -8 -7 -6 -6 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -3 -2 -0 1 3 3 3 2 2 3 3 4 5 6 7 9 10 12 14 15 17 19 20 21 22 23 24 25 25 26 26 26 27 27 28 29 29 29 29 29 29 29 28 26 25 24 22 21 20 19 18 17 16 15 14 14 14 14 14 14 15 15 16 16 17 17 18 18 19 20 20 21 22 23 23 23 23 24 24 25 26 27 28 29 29 29 29 29 29 29 29 29 29 30 30 31 31 31 31 32 32 32 32 32 33 33 33 33 32 32 32 31 31 30 30 29 28 28 27 27 26 25 25 24 23 23 23 23 23 23 23 24 24 25 25 26 26 26 26 26 27 27 -61 -58 -57 -55 -52 -49 -48 -48 -49 -48 -46 -42 -37 -33 -31 -30 -30 -31 -32 -32 -31 -30 -28 -26 -24 -24 -24 -24 -25 -25 -23 -21 -20 -19 -18 -16 -14 -13 -11 -11 -12 -13 -15 -17 -18 -19 -18 -15 -13 -13 -15 -17 -19 -22 -26 -31 -34 -34 -33 -31 -29 -28 -28 -30 -33 -34 -33 -31 -27 -26 -28 -32 -35 -37 -38 -37 -33 -29 -30 -30 -30 -29 -31 -34 -37 -40 -42 -42 -41 -42 -43 -44 -45 -45 -45 -45 -46 -48 -49 -50 -49 -47 -45 -45 -46 -49 -53 -56 -58 -58 -56 -55 -53 -51 -48 -47 -48 -50 -53 -56 -59 -63 -63 -58 -46 -33 -26 -22 -21 -22 -24 -25 -24 -22 -20 -20 -21 -24 -26 -28 -29 -32 -32 -32 -35 -41 -46 -47 -44 -42 -39 -35 -31 -29 -27 -25 -24 -22 -19 -17 -15 -14 -13 -13 -13 -14 -14 -15 -14 -14 -14 -14 -15 -15 -15 -15 -16 -16 -16 -17 -17 -18 -19 -19 -20 -20 -20 -20 -20 -20 -20 -21 -21 -21 -21 -20 -20 -19 -18 -18 -18 -17 -17 -16 -15 -14 -14 -13 -12 -12 -11 -11 -11 -11 -11 -11 -10 -10 -9 -9 -9 -9 -9 -8 -8 -9 -9 -9 -9 -8 -7 -7 -7 -7 -8 -8 -8 -9 -10 -10 -10 -10 -9 -8 -8 -7 -7 -6 -6 -6 -7 -7 -8 -8 -8 -8 -8 -7 -7 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -4 -3 -2 -0 1 1 1 1 0 1 2 3 3 4 5 6 7 8 10 11 13 15 16 18 19 20 21 22 23 23 23 24 25 25 26 27 27 28 28 27 27 26 26 25 24 23 22 21 20 19 18 17 16 15 15 14 14 13 13 13 13 13 13 13 14 14 15 15 16 17 17 18 19 20 21 21 21 21 21 22 23 24 25 26 27 28 28 29 29 28 28 29 29 30 30 31 31 31 32 32 32 32 33 33 33 33 34 34 34 33 33 32 32 32 31 31 30 29 28 28 27 27 26 25 24 24 23 23 23 23 23 24 24 25 25 26 26 26 26 26 27 27 27 -59 -57 -56 -55 -52 -49 -48 -48 -48 -46 -43 -39 -36 -35 -34 -33 -33 -33 -33 -32 -30 -29 -28 -27 -27 -27 -27 -27 -26 -25 -22 -20 -19 -18 -16 -14 -12 -11 -11 -13 -15 -17 -18 -19 -19 -18 -16 -14 -13 -14 -17 -20 -22 -26 -31 -36 -38 -37 -33 -30 -29 -30 -30 -31 -33 -34 -34 -32 -28 -26 -27 -32 -35 -36 -36 -34 -31 -28 -30 -31 -31 -33 -35 -38 -41 -42 -44 -45 -44 -44 -44 -44 -45 -46 -47 -48 -50 -52 -53 -52 -50 -48 -46 -46 -47 -50 -53 -57 -59 -57 -53 -50 -49 -49 -49 -49 -50 -51 -53 -56 -58 -61 -61 -56 -44 -29 -24 -24 -25 -29 -33 -35 -32 -27 -22 -19 -18 -21 -25 -31 -39 -46 -46 -42 -39 -39 -41 -44 -49 -54 -55 -48 -39 -37 -34 -31 -28 -27 -24 -22 -19 -16 -15 -14 -14 -14 -14 -14 -13 -14 -14 -15 -16 -17 -16 -16 -16 -16 -17 -17 -18 -18 -19 -20 -20 -21 -21 -21 -21 -21 -21 -21 -21 -21 -21 -20 -20 -19 -18 -18 -17 -16 -15 -14 -13 -12 -12 -11 -11 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -8 -8 -9 -9 -9 -9 -8 -8 -7 -7 -6 -6 -6 -6 -7 -7 -8 -9 -9 -9 -9 -8 -8 -7 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -3 -2 -1 -1 -0 -0 -1 -1 -1 0 1 2 2 3 4 5 6 7 8 9 11 12 13 15 16 17 18 19 20 20 21 22 23 23 24 25 25 25 25 24 24 23 22 21 20 19 19 18 17 17 16 16 15 14 14 13 12 12 11 11 11 11 11 11 11 12 12 13 13 14 14 15 16 17 17 18 18 19 19 19 20 21 22 23 25 26 27 27 27 27 27 28 29 29 30 31 31 31 31 32 32 33 33 33 33 33 33 33 33 33 33 33 33 32 32 32 31 30 29 28 28 27 27 26 25 24 24 24 24 24 24 24 24 25 26 27 27 27 27 27 27 27 27 -58 -56 -55 -55 -52 -50 -48 -46 -45 -43 -41 -39 -37 -36 -35 -34 -34 -33 -32 -31 -30 -30 -29 -30 -30 -29 -28 -27 -26 -23 -21 -20 -18 -17 -14 -13 -13 -14 -15 -17 -19 -20 -21 -20 -18 -15 -14 -13 -15 -17 -21 -24 -27 -31 -35 -38 -40 -37 -32 -29 -28 -30 -31 -32 -33 -34 -35 -32 -29 -27 -28 -32 -35 -36 -35 -32 -29 -29 -32 -33 -35 -38 -41 -43 -43 -44 -47 -50 -49 -47 -46 -46 -47 -49 -50 -52 -54 -55 -54 -53 -51 -48 -47 -47 -48 -51 -54 -57 -58 -54 -49 -47 -47 -49 -52 -52 -52 -52 -54 -56 -57 -58 -57 -52 -44 -35 -33 -32 -34 -38 -42 -41 -36 -32 -29 -27 -22 -21 -26 -35 -47 -56 -57 -55 -52 -48 -44 -46 -52 -60 -61 -54 -46 -45 -43 -39 -35 -31 -29 -27 -24 -21 -18 -16 -15 -14 -13 -13 -13 -14 -15 -16 -17 -18 -17 -17 -17 -17 -17 -18 -18 -19 -19 -20 -21 -22 -22 -22 -22 -22 -21 -21 -21 -21 -21 -20 -20 -19 -18 -17 -16 -15 -14 -13 -12 -11 -11 -10 -10 -9 -9 -9 -10 -10 -10 -10 -10 -9 -9 -9 -9 -8 -8 -7 -7 -7 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -7 -7 -6 -6 -6 -6 -6 -6 -7 -7 -8 -9 -9 -10 -10 -10 -9 -8 -7 -7 -7 -7 -7 -7 -6 -6 -6 -5 -4 -3 -2 -2 -2 -2 -2 -3 -2 -2 -1 -0 0 1 2 2 3 4 5 6 7 8 9 10 11 12 14 15 16 17 18 19 19 20 21 22 22 22 22 22 21 20 19 19 18 17 16 15 15 14 14 13 13 12 12 11 10 9 9 8 8 8 8 8 8 8 8 9 9 9 10 10 11 11 12 13 13 14 15 15 16 16 17 18 20 21 23 24 25 25 26 26 27 28 29 29 30 30 30 31 31 31 31 32 32 32 31 31 32 32 32 32 32 33 33 33 32 32 31 30 29 28 28 27 27 26 25 25 25 25 24 24 24 25 26 26 27 27 27 27 27 27 27 27 -55 -54 -54 -54 -52 -49 -46 -44 -43 -42 -40 -39 -38 -37 -36 -35 -34 -33 -32 -32 -32 -32 -32 -32 -31 -29 -28 -27 -25 -23 -21 -20 -18 -17 -16 -16 -17 -19 -21 -22 -22 -22 -21 -18 -15 -13 -14 -16 -19 -22 -26 -28 -31 -35 -38 -38 -38 -35 -30 -27 -27 -29 -32 -33 -33 -34 -34 -33 -31 -29 -29 -33 -37 -36 -34 -30 -28 -31 -34 -37 -40 -42 -45 -48 -48 -49 -51 -53 -54 -51 -50 -50 -50 -52 -52 -54 -54 -54 -52 -50 -47 -45 -45 -46 -49 -53 -56 -57 -55 -49 -45 -45 -48 -52 -54 -55 -54 -55 -56 -57 -58 -55 -52 -46 -41 -39 -43 -44 -45 -48 -48 -42 -37 -36 -39 -40 -34 -29 -31 -37 -48 -58 -61 -63 -63 -62 -58 -57 -60 -64 -64 -56 -45 -44 -45 -46 -45 -38 -33 -31 -29 -27 -24 -21 -18 -15 -13 -12 -13 -14 -16 -17 -18 -18 -18 -18 -18 -17 -17 -18 -18 -19 -20 -21 -22 -23 -23 -23 -22 -22 -21 -21 -21 -21 -20 -20 -19 -18 -18 -17 -16 -15 -14 -13 -12 -11 -10 -10 -9 -9 -9 -9 -10 -10 -10 -10 -9 -9 -9 -9 -8 -8 -7 -7 -6 -7 -7 -8 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -7 -7 -6 -6 -5 -5 -5 -6 -6 -7 -7 -8 -8 -9 -10 -10 -10 -10 -9 -8 -8 -8 -8 -8 -8 -7 -7 -7 -6 -5 -5 -4 -3 -3 -4 -4 -4 -4 -3 -2 -2 -2 -1 -1 -0 0 1 2 2 3 4 5 6 6 7 9 10 12 13 14 16 16 17 18 19 19 20 20 20 19 19 18 17 16 15 14 14 13 12 11 10 9 9 8 7 6 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 6 6 7 8 9 9 10 11 12 13 14 16 17 19 21 22 23 24 25 26 27 28 28 29 29 29 29 29 29 29 30 30 30 29 29 29 30 31 31 32 32 33 33 33 32 32 31 30 29 28 28 28 27 27 26 26 25 25 25 25 25 26 26 27 28 28 28 28 27 27 28 -54 -53 -54 -54 -51 -48 -45 -43 -42 -41 -40 -40 -39 -38 -37 -35 -35 -34 -34 -34 -35 -35 -34 -33 -32 -29 -28 -27 -25 -23 -21 -20 -20 -21 -21 -21 -23 -24 -24 -23 -23 -21 -18 -16 -14 -15 -17 -21 -25 -29 -31 -33 -35 -37 -38 -36 -35 -33 -29 -26 -26 -29 -33 -34 -34 -34 -34 -34 -33 -32 -32 -34 -37 -35 -32 -30 -31 -34 -38 -40 -41 -43 -48 -52 -55 -55 -54 -51 -46 -43 -42 -44 -46 -48 -50 -51 -51 -51 -50 -48 -46 -44 -44 -46 -50 -54 -57 -55 -51 -46 -46 -48 -51 -54 -55 -56 -57 -58 -60 -61 -60 -55 -47 -38 -33 -38 -48 -52 -53 -52 -50 -46 -42 -42 -45 -48 -47 -43 -40 -40 -46 -57 -62 -65 -67 -70 -71 -70 -69 -68 -66 -58 -48 -44 -45 -48 -50 -45 -39 -35 -34 -33 -30 -27 -23 -19 -16 -14 -13 -14 -16 -17 -18 -18 -18 -18 -18 -18 -18 -18 -19 -19 -21 -22 -23 -24 -24 -23 -22 -21 -21 -21 -21 -20 -20 -19 -18 -18 -17 -16 -15 -14 -14 -13 -12 -11 -10 -10 -9 -9 -9 -9 -10 -10 -10 -9 -9 -9 -8 -8 -7 -7 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -5 -5 -5 -5 -5 -6 -6 -7 -8 -8 -9 -9 -10 -11 -11 -10 -10 -9 -8 -9 -9 -9 -9 -8 -8 -7 -7 -7 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -4 -4 -3 -3 -2 -2 -1 -1 -0 1 2 2 3 3 4 5 7 9 10 12 13 14 15 16 17 17 17 18 17 17 17 16 15 14 13 12 11 10 9 8 7 5 4 3 1 0 -1 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 0 1 1 2 4 5 6 8 9 10 12 14 15 17 19 21 23 24 25 26 27 27 26 26 26 26 26 26 27 27 28 28 27 27 27 27 28 29 31 32 32 33 33 33 32 31 30 29 29 29 29 28 28 27 27 26 26 26 25 25 26 26 27 28 29 29 29 28 28 28 -54 -53 -54 -53 -50 -46 -43 -42 -42 -41 -41 -40 -39 -39 -38 -37 -36 -36 -37 -37 -37 -37 -35 -34 -32 -30 -28 -26 -25 -23 -22 -23 -25 -27 -27 -27 -25 -24 -22 -21 -22 -20 -17 -16 -16 -19 -23 -28 -32 -35 -35 -36 -36 -36 -35 -34 -33 -32 -30 -28 -27 -31 -35 -36 -36 -35 -34 -34 -35 -35 -35 -37 -37 -36 -34 -34 -35 -38 -40 -41 -42 -44 -48 -51 -53 -52 -49 -44 -38 -40 -43 -47 -49 -50 -51 -51 -51 -51 -51 -49 -47 -47 -48 -50 -51 -54 -56 -55 -52 -47 -47 -48 -51 -53 -54 -54 -55 -57 -60 -61 -59 -52 -43 -36 -36 -42 -50 -54 -55 -55 -54 -54 -51 -48 -47 -49 -53 -56 -55 -52 -52 -60 -65 -67 -68 -71 -75 -76 -73 -70 -66 -63 -57 -53 -49 -47 -48 -47 -43 -40 -39 -39 -38 -35 -31 -26 -22 -18 -16 -15 -15 -16 -17 -17 -17 -17 -17 -17 -18 -18 -19 -20 -21 -23 -24 -24 -24 -23 -22 -21 -21 -21 -20 -20 -19 -18 -17 -17 -16 -16 -15 -14 -13 -12 -11 -11 -10 -10 -10 -9 -10 -10 -10 -10 -10 -9 -9 -8 -8 -7 -6 -6 -5 -5 -5 -6 -7 -7 -6 -6 -6 -6 -6 -6 -7 -7 -7 -6 -6 -5 -5 -5 -5 -5 -6 -6 -7 -7 -8 -9 -9 -10 -10 -11 -11 -10 -9 -8 -8 -9 -10 -10 -10 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -7 -7 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -3 -2 -2 -1 -0 0 1 2 3 4 6 8 9 11 12 13 14 14 15 15 15 16 15 15 14 13 13 12 11 10 8 7 5 3 1 -1 -3 -5 -6 -7 -8 -9 -9 -9 -9 -8 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -3 -2 -1 1 2 4 6 8 10 12 14 16 19 21 23 24 25 25 24 23 22 22 22 22 23 24 24 25 25 25 25 25 25 26 27 29 30 31 32 32 32 32 31 30 29 29 29 29 29 29 29 28 27 27 26 26 26 26 27 27 28 29 29 29 29 28 28 -54 -53 -52 -51 -48 -44 -42 -41 -41 -41 -41 -41 -40 -40 -40 -40 -40 -40 -40 -40 -40 -39 -37 -34 -32 -30 -28 -26 -25 -25 -26 -29 -31 -32 -31 -28 -24 -20 -19 -21 -24 -21 -20 -19 -21 -25 -30 -34 -36 -37 -37 -37 -36 -35 -34 -33 -32 -32 -30 -29 -30 -33 -36 -37 -37 -36 -35 -34 -35 -37 -38 -39 -38 -37 -38 -40 -42 -44 -45 -45 -46 -49 -51 -52 -51 -48 -45 -42 -41 -46 -50 -50 -48 -48 -50 -50 -50 -49 -48 -47 -48 -49 -50 -51 -52 -55 -57 -56 -53 -49 -48 -49 -51 -52 -53 -52 -53 -55 -57 -57 -54 -51 -49 -49 -51 -53 -54 -55 -56 -57 -57 -56 -53 -51 -50 -51 -53 -55 -58 -60 -62 -63 -66 -68 -71 -73 -75 -74 -71 -68 -67 -68 -68 -65 -60 -54 -50 -47 -46 -45 -45 -46 -46 -44 -40 -35 -30 -25 -20 -17 -15 -15 -15 -16 -16 -17 -17 -17 -18 -18 -19 -20 -22 -23 -24 -24 -24 -23 -22 -21 -21 -20 -20 -19 -18 -17 -17 -16 -15 -15 -14 -13 -12 -12 -11 -11 -10 -10 -10 -10 -10 -10 -10 -9 -9 -9 -8 -7 -7 -6 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -6 -6 -6 -5 -5 -5 -5 -5 -6 -7 -7 -8 -8 -9 -9 -10 -10 -11 -10 -9 -8 -7 -8 -8 -10 -10 -11 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -9 -8 -8 -7 -7 -7 -8 -7 -7 -7 -6 -6 -5 -4 -4 -3 -2 -2 -1 -0 1 2 4 5 6 8 9 10 11 12 12 13 13 13 13 13 12 12 11 10 9 8 6 4 2 -1 -4 -6 -8 -10 -12 -13 -15 -15 -16 -16 -15 -15 -14 -13 -12 -11 -10 -10 -10 -10 -10 -9 -9 -9 -8 -8 -7 -7 -6 -5 -3 -1 1 3 5 7 10 13 15 18 20 21 22 21 20 19 18 18 18 19 19 20 21 22 23 23 23 23 23 24 26 28 29 30 31 32 32 31 30 29 29 29 29 29 30 30 30 29 29 28 27 27 27 27 27 27 28 29 30 30 30 29 29 -53 -52 -50 -48 -45 -43 -42 -42 -42 -42 -42 -42 -42 -43 -44 -44 -43 -43 -44 -44 -42 -39 -36 -33 -32 -29 -27 -25 -26 -28 -32 -34 -33 -31 -28 -25 -21 -21 -24 -27 -26 -22 -21 -23 -27 -31 -34 -37 -38 -37 -35 -35 -34 -33 -32 -32 -32 -31 -30 -30 -31 -33 -36 -38 -38 -38 -37 -36 -36 -39 -42 -44 -43 -43 -44 -45 -47 -48 -49 -50 -53 -54 -53 -49 -47 -46 -45 -44 -48 -52 -53 -50 -47 -48 -49 -49 -48 -47 -45 -45 -47 -49 -51 -52 -52 -53 -54 -54 -52 -49 -50 -52 -53 -52 -51 -51 -52 -53 -53 -51 -50 -49 -50 -53 -56 -57 -55 -56 -57 -58 -59 -58 -56 -55 -55 -55 -56 -57 -59 -61 -63 -64 -67 -70 -71 -69 -66 -67 -68 -69 -70 -73 -72 -70 -69 -67 -63 -58 -55 -53 -53 -54 -57 -56 -51 -45 -40 -33 -27 -22 -17 -15 -14 -15 -15 -16 -17 -17 -18 -19 -20 -21 -22 -23 -24 -24 -23 -22 -21 -21 -20 -20 -19 -18 -17 -16 -16 -15 -14 -14 -13 -12 -11 -11 -11 -10 -10 -10 -10 -10 -10 -10 -9 -9 -8 -8 -7 -6 -6 -5 -5 -5 -4 -4 -5 -5 -6 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -8 -8 -9 -9 -10 -10 -10 -9 -8 -6 -6 -6 -7 -9 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -11 -11 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -8 -7 -7 -6 -5 -4 -4 -4 -3 -2 -1 0 1 2 3 5 6 7 8 8 9 10 10 10 10 10 9 9 8 8 7 5 3 0 -3 -6 -9 -11 -13 -15 -17 -18 -20 -20 -20 -20 -20 -19 -19 -18 -17 -16 -15 -14 -13 -13 -13 -12 -12 -11 -11 -10 -9 -9 -8 -8 -7 -7 -5 -3 -1 1 4 7 10 13 15 16 17 16 15 14 13 13 14 15 15 16 18 19 20 21 21 22 22 23 24 26 28 29 30 30 30 30 29 28 28 28 29 29 30 31 31 31 30 29 29 29 29 28 28 28 28 29 30 31 31 30 30 -52 -50 -48 -45 -43 -42 -42 -42 -42 -43 -43 -44 -45 -46 -46 -46 -46 -46 -45 -44 -42 -38 -34 -32 -30 -27 -26 -27 -29 -33 -35 -36 -33 -28 -24 -23 -24 -27 -30 -30 -25 -22 -24 -28 -33 -36 -38 -39 -38 -36 -34 -34 -33 -31 -31 -31 -31 -30 -30 -29 -30 -32 -35 -37 -39 -39 -39 -39 -40 -43 -46 -49 -49 -49 -50 -50 -51 -51 -51 -54 -56 -55 -51 -46 -45 -46 -47 -49 -53 -54 -51 -48 -47 -49 -49 -47 -46 -44 -44 -45 -47 -49 -51 -52 -51 -52 -53 -54 -52 -51 -54 -56 -56 -54 -51 -51 -52 -51 -51 -49 -49 -49 -52 -55 -58 -57 -55 -56 -58 -60 -61 -59 -58 -58 -59 -59 -58 -59 -61 -63 -64 -66 -70 -73 -72 -66 -57 -59 -65 -71 -73 -71 -70 -70 -70 -71 -73 -75 -73 -69 -66 -67 -71 -71 -66 -59 -52 -42 -35 -29 -23 -18 -15 -14 -15 -16 -17 -18 -18 -20 -21 -22 -23 -23 -23 -23 -22 -21 -21 -20 -20 -19 -19 -18 -17 -16 -15 -15 -14 -13 -12 -11 -10 -10 -10 -10 -10 -10 -10 -9 -9 -9 -8 -7 -7 -6 -6 -6 -5 -5 -5 -4 -4 -4 -5 -5 -5 -5 -5 -4 -4 -4 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -8 -8 -8 -8 -9 -10 -10 -10 -8 -6 -4 -4 -5 -6 -8 -9 -9 -9 -10 -10 -11 -11 -11 -12 -12 -12 -12 -12 -11 -11 -11 -11 -11 -11 -11 -10 -10 -9 -9 -8 -7 -6 -6 -5 -5 -4 -3 -2 -2 -1 -0 1 2 3 4 4 5 5 6 6 6 5 5 5 5 4 3 2 1 -2 -5 -8 -11 -14 -16 -18 -19 -21 -22 -23 -23 -24 -23 -23 -22 -21 -20 -19 -18 -17 -16 -16 -15 -14 -14 -13 -12 -12 -11 -9 -9 -8 -8 -8 -8 -9 -8 -7 -4 -2 2 5 7 9 11 11 11 10 10 9 9 10 11 12 13 14 16 17 18 19 20 20 21 23 24 26 28 29 29 29 29 28 27 27 27 28 29 30 31 32 32 32 31 31 31 30 30 29 28 28 29 30 31 32 32 31 -49 -47 -44 -42 -41 -42 -43 -43 -43 -45 -46 -46 -46 -47 -48 -48 -47 -46 -45 -44 -40 -37 -33 -31 -29 -28 -28 -30 -33 -35 -37 -36 -31 -25 -22 -23 -28 -33 -33 -29 -24 -24 -27 -32 -36 -39 -39 -39 -37 -35 -33 -33 -31 -30 -30 -30 -30 -29 -29 -29 -29 -30 -34 -37 -39 -40 -41 -42 -45 -49 -52 -53 -54 -53 -54 -54 -54 -54 -55 -57 -56 -52 -46 -44 -47 -48 -49 -52 -55 -52 -49 -48 -48 -49 -48 -46 -44 -43 -44 -46 -49 -50 -50 -49 -49 -52 -55 -56 -55 -55 -57 -59 -59 -57 -55 -53 -52 -52 -51 -50 -50 -50 -53 -56 -57 -56 -55 -56 -59 -62 -64 -62 -60 -59 -58 -58 -58 -60 -62 -64 -66 -68 -71 -74 -75 -73 -69 -68 -70 -73 -74 -73 -71 -72 -73 -75 -77 -78 -76 -73 -71 -72 -74 -77 -78 -76 -68 -55 -44 -37 -31 -25 -19 -16 -15 -16 -18 -19 -20 -21 -22 -22 -22 -23 -23 -22 -22 -21 -20 -20 -20 -19 -18 -17 -16 -16 -15 -14 -13 -12 -11 -11 -10 -10 -10 -10 -9 -9 -9 -9 -8 -8 -7 -6 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -5 -5 -5 -5 -4 -4 -4 -4 -5 -5 -5 -5 -5 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -9 -10 -10 -9 -7 -5 -3 -3 -4 -5 -7 -8 -8 -8 -9 -10 -11 -11 -11 -12 -12 -12 -13 -13 -12 -12 -12 -12 -12 -12 -12 -11 -11 -10 -10 -9 -8 -8 -7 -7 -6 -5 -5 -4 -4 -3 -2 -2 -1 -0 0 1 1 1 1 0 -0 -0 -1 -1 -2 -2 -3 -4 -6 -9 -11 -14 -16 -18 -20 -21 -22 -23 -24 -25 -25 -25 -24 -24 -22 -21 -21 -20 -19 -18 -17 -16 -16 -15 -14 -13 -12 -11 -10 -8 -7 -6 -6 -6 -7 -8 -8 -8 -8 -6 -3 -0 2 5 6 7 7 6 6 6 6 7 8 8 9 10 12 14 16 17 18 18 19 21 23 25 27 28 29 29 29 28 27 27 27 28 29 30 32 33 33 33 33 33 32 32 31 30 29 29 29 30 32 33 34 33 -47 -44 -42 -41 -42 -45 -46 -46 -46 -47 -47 -46 -46 -47 -47 -47 -47 -46 -45 -44 -40 -36 -33 -31 -30 -30 -31 -34 -35 -37 -38 -35 -30 -25 -23 -25 -32 -34 -32 -27 -24 -27 -31 -35 -38 -39 -39 -38 -35 -33 -32 -31 -29 -29 -29 -30 -29 -28 -28 -29 -29 -29 -32 -36 -39 -40 -42 -45 -50 -54 -56 -56 -56 -56 -57 -57 -58 -59 -61 -60 -56 -49 -43 -44 -47 -49 -50 -52 -52 -51 -50 -50 -50 -49 -49 -48 -47 -46 -46 -48 -50 -50 -49 -49 -49 -52 -55 -56 -58 -60 -61 -62 -62 -62 -60 -57 -55 -53 -52 -51 -51 -52 -53 -55 -56 -56 -56 -58 -61 -64 -64 -63 -61 -59 -58 -57 -58 -60 -62 -64 -67 -69 -71 -74 -77 -79 -78 -75 -74 -73 -74 -74 -73 -74 -75 -78 -80 -80 -78 -76 -75 -75 -77 -79 -80 -80 -78 -70 -58 -49 -41 -34 -28 -22 -18 -18 -19 -20 -21 -22 -22 -22 -22 -22 -22 -22 -21 -21 -20 -20 -19 -18 -18 -17 -16 -15 -14 -14 -13 -12 -11 -11 -10 -10 -9 -9 -9 -9 -8 -8 -8 -7 -6 -5 -5 -4 -5 -5 -5 -5 -4 -4 -4 -5 -5 -5 -5 -5 -4 -4 -4 -4 -5 -5 -5 -5 -5 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -9 -10 -9 -8 -6 -3 -1 -2 -3 -5 -6 -7 -7 -8 -9 -10 -10 -11 -11 -12 -12 -13 -13 -13 -13 -13 -13 -13 -13 -13 -13 -12 -12 -11 -10 -10 -9 -9 -8 -8 -7 -7 -6 -6 -6 -5 -5 -4 -3 -3 -3 -3 -3 -4 -4 -5 -6 -7 -7 -8 -8 -9 -10 -11 -13 -15 -17 -18 -20 -21 -22 -23 -23 -24 -24 -25 -25 -25 -24 -23 -22 -21 -20 -19 -19 -18 -17 -17 -16 -15 -14 -13 -12 -10 -9 -7 -5 -4 -3 -4 -4 -6 -7 -8 -8 -7 -5 -3 -1 1 3 4 4 4 4 4 4 4 5 6 6 7 9 10 12 14 15 16 17 18 20 23 26 28 29 29 29 28 28 28 28 28 29 31 32 34 34 35 34 34 33 32 31 30 30 30 30 31 33 34 35 35 -45 -43 -43 -44 -46 -47 -47 -47 -47 -48 -47 -47 -46 -46 -45 -45 -45 -46 -46 -45 -40 -36 -34 -32 -31 -32 -35 -37 -39 -39 -39 -36 -30 -26 -25 -28 -33 -34 -31 -27 -27 -31 -34 -37 -38 -38 -38 -35 -33 -31 -30 -30 -29 -30 -30 -30 -29 -28 -29 -29 -30 -30 -33 -37 -39 -41 -43 -48 -53 -56 -59 -61 -61 -61 -61 -62 -63 -63 -64 -62 -57 -50 -44 -47 -48 -49 -49 -48 -47 -49 -51 -52 -52 -51 -52 -53 -52 -49 -48 -50 -51 -51 -50 -51 -52 -54 -55 -57 -60 -62 -63 -63 -64 -64 -64 -61 -58 -55 -53 -52 -52 -53 -55 -56 -57 -56 -56 -59 -62 -64 -63 -63 -61 -60 -60 -59 -60 -61 -62 -64 -66 -68 -69 -73 -76 -80 -81 -78 -76 -75 -74 -74 -74 -75 -77 -80 -82 -81 -80 -79 -78 -77 -77 -79 -80 -81 -83 -81 -74 -65 -55 -47 -42 -34 -27 -22 -21 -22 -23 -23 -23 -23 -23 -23 -22 -22 -21 -21 -20 -20 -19 -18 -17 -16 -15 -15 -14 -13 -13 -12 -12 -11 -10 -10 -9 -9 -8 -8 -8 -8 -7 -6 -5 -5 -4 -4 -5 -5 -5 -4 -4 -4 -4 -5 -5 -6 -5 -5 -4 -4 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -7 -6 -6 -6 -5 -6 -7 -8 -8 -9 -9 -8 -7 -4 -2 -1 -1 -3 -5 -6 -6 -7 -8 -9 -9 -10 -11 -11 -11 -12 -13 -13 -13 -13 -13 -13 -13 -13 -13 -13 -12 -12 -11 -11 -11 -10 -10 -10 -9 -9 -8 -8 -7 -7 -7 -6 -6 -6 -6 -6 -6 -7 -8 -9 -10 -12 -13 -13 -14 -15 -16 -17 -18 -19 -20 -21 -21 -22 -23 -23 -23 -23 -23 -24 -24 -24 -24 -24 -23 -21 -20 -20 -19 -19 -18 -17 -17 -16 -15 -14 -13 -12 -10 -9 -7 -5 -4 -3 -3 -3 -4 -6 -7 -7 -7 -6 -4 -2 -0 1 2 2 3 2 2 2 2 3 3 4 4 6 7 9 11 12 13 14 15 18 21 25 27 29 29 29 29 29 29 29 30 30 32 33 34 35 35 34 34 33 31 31 30 30 30 31 32 33 35 36 36 -46 -45 -46 -47 -48 -48 -48 -48 -47 -47 -46 -46 -45 -43 -42 -42 -44 -47 -48 -46 -40 -37 -35 -34 -33 -34 -37 -40 -42 -43 -42 -37 -31 -27 -27 -31 -34 -34 -31 -29 -30 -34 -36 -37 -37 -37 -35 -31 -29 -29 -30 -30 -30 -31 -31 -29 -29 -29 -30 -30 -31 -32 -34 -39 -42 -45 -47 -51 -54 -57 -59 -61 -62 -63 -64 -65 -66 -68 -69 -67 -62 -54 -48 -47 -45 -45 -47 -48 -48 -50 -51 -52 -52 -52 -53 -53 -52 -49 -48 -47 -48 -51 -54 -56 -56 -56 -57 -59 -61 -63 -63 -64 -64 -65 -64 -61 -58 -56 -53 -52 -52 -55 -58 -59 -58 -56 -56 -59 -62 -63 -63 -62 -61 -61 -61 -60 -60 -61 -62 -64 -64 -65 -68 -72 -77 -81 -81 -79 -77 -76 -75 -74 -74 -76 -79 -82 -83 -83 -82 -81 -79 -78 -77 -77 -78 -81 -84 -85 -80 -74 -67 -61 -57 -51 -43 -34 -26 -23 -24 -25 -24 -24 -24 -24 -23 -23 -22 -21 -21 -20 -19 -18 -17 -16 -15 -14 -14 -13 -13 -13 -12 -12 -11 -10 -9 -8 -8 -8 -8 -7 -6 -6 -5 -5 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -5 -6 -7 -8 -8 -8 -7 -5 -3 -0 0 -1 -3 -5 -6 -6 -7 -8 -9 -9 -10 -10 -11 -11 -12 -13 -13 -13 -13 -14 -13 -13 -13 -13 -13 -12 -12 -11 -11 -11 -11 -11 -10 -10 -10 -9 -9 -8 -8 -8 -8 -7 -7 -8 -8 -9 -10 -12 -13 -15 -16 -17 -18 -20 -21 -22 -23 -24 -24 -24 -24 -23 -23 -22 -22 -22 -21 -22 -23 -24 -24 -24 -24 -24 -23 -22 -21 -21 -20 -19 -19 -18 -17 -16 -15 -14 -13 -12 -10 -9 -7 -6 -5 -5 -5 -5 -6 -7 -8 -8 -7 -5 -3 -2 -0 1 1 1 1 1 1 0 0 1 1 2 3 4 6 8 9 10 10 11 13 18 22 26 28 29 29 29 29 30 31 31 32 33 33 33 33 33 33 32 31 30 30 30 30 30 31 32 33 35 36 36 -47 -48 -49 -49 -49 -49 -48 -47 -46 -45 -45 -44 -42 -40 -39 -41 -45 -48 -49 -46 -40 -38 -36 -35 -35 -36 -38 -41 -43 -45 -44 -38 -32 -28 -28 -33 -36 -35 -32 -30 -31 -33 -34 -35 -34 -33 -30 -29 -30 -31 -31 -31 -33 -33 -32 -30 -28 -29 -30 -30 -31 -33 -37 -42 -46 -49 -50 -52 -54 -57 -59 -61 -63 -64 -66 -68 -70 -70 -69 -66 -61 -55 -49 -46 -44 -44 -46 -47 -48 -50 -51 -52 -52 -51 -51 -50 -49 -48 -47 -47 -49 -53 -56 -56 -55 -54 -55 -57 -60 -62 -63 -64 -64 -63 -61 -57 -56 -55 -54 -53 -54 -56 -59 -60 -58 -53 -53 -56 -60 -61 -60 -60 -63 -65 -64 -60 -60 -63 -65 -64 -62 -64 -70 -76 -80 -83 -82 -79 -76 -75 -75 -74 -75 -78 -81 -84 -85 -83 -81 -79 -79 -79 -79 -78 -78 -81 -84 -84 -81 -77 -73 -70 -69 -68 -63 -53 -38 -28 -26 -26 -26 -26 -26 -26 -25 -24 -22 -21 -21 -20 -19 -17 -16 -15 -14 -14 -14 -13 -13 -13 -13 -12 -11 -10 -9 -8 -8 -7 -7 -7 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -6 -6 -5 -5 -5 -5 -4 -3 -3 -3 -3 -4 -5 -6 -6 -7 -7 -6 -4 -1 1 1 -1 -3 -5 -6 -6 -7 -8 -9 -10 -10 -10 -11 -11 -12 -12 -13 -13 -14 -14 -13 -13 -13 -12 -12 -12 -11 -11 -11 -11 -11 -11 -11 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -10 -11 -12 -14 -16 -17 -19 -21 -22 -24 -26 -27 -27 -28 -27 -26 -25 -24 -23 -22 -21 -21 -21 -22 -23 -24 -25 -26 -27 -27 -27 -26 -25 -24 -23 -23 -22 -21 -20 -19 -18 -17 -15 -14 -13 -12 -12 -11 -10 -9 -9 -8 -9 -9 -9 -9 -8 -7 -6 -4 -3 -2 -1 -0 0 -0 -1 -1 -2 -2 -1 -1 0 1 3 5 6 7 7 7 8 12 17 22 25 27 27 28 29 29 30 31 32 31 31 30 30 30 30 30 29 29 28 29 29 30 30 31 32 34 35 36 -49 -50 -50 -49 -48 -48 -47 -46 -45 -45 -44 -42 -39 -37 -38 -42 -46 -48 -48 -46 -41 -39 -37 -36 -35 -36 -37 -39 -42 -45 -43 -37 -32 -30 -32 -36 -38 -36 -33 -30 -31 -32 -33 -33 -32 -30 -29 -30 -32 -33 -34 -35 -36 -34 -31 -29 -28 -30 -30 -30 -31 -34 -39 -45 -49 -51 -52 -54 -57 -58 -60 -62 -64 -67 -69 -71 -71 -71 -69 -65 -60 -55 -50 -45 -44 -46 -49 -51 -52 -53 -54 -55 -53 -50 -50 -49 -49 -49 -48 -48 -51 -54 -55 -54 -52 -52 -53 -55 -58 -60 -62 -63 -63 -61 -58 -55 -53 -53 -54 -55 -57 -59 -59 -59 -57 -51 -47 -49 -54 -57 -58 -60 -62 -65 -65 -64 -64 -65 -65 -64 -63 -66 -72 -78 -82 -85 -83 -79 -75 -74 -75 -76 -77 -80 -83 -85 -84 -80 -78 -77 -78 -80 -80 -80 -81 -82 -84 -83 -80 -78 -76 -74 -75 -78 -78 -71 -56 -39 -30 -27 -28 -29 -29 -28 -27 -25 -23 -22 -20 -19 -18 -17 -15 -15 -14 -14 -14 -14 -14 -13 -13 -12 -10 -9 -8 -8 -7 -7 -7 -6 -6 -5 -5 -5 -5 -5 -5 -6 -6 -6 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -8 -7 -7 -6 -5 -5 -4 -3 -2 -1 -1 -1 -3 -4 -5 -5 -5 -6 -5 -4 -2 -0 1 1 -1 -3 -5 -6 -7 -8 -8 -9 -10 -10 -11 -11 -12 -12 -12 -13 -13 -13 -13 -13 -13 -12 -12 -11 -11 -11 -11 -11 -11 -11 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -11 -12 -13 -15 -17 -19 -21 -23 -25 -27 -29 -30 -30 -30 -29 -28 -27 -26 -24 -23 -22 -22 -22 -24 -25 -26 -27 -29 -30 -31 -32 -31 -30 -29 -28 -27 -26 -25 -24 -23 -22 -21 -19 -18 -17 -17 -16 -15 -14 -14 -13 -12 -12 -12 -11 -11 -11 -10 -9 -7 -6 -5 -4 -3 -2 -2 -2 -3 -3 -4 -4 -3 -3 -2 -0 1 3 4 4 3 4 6 11 16 20 22 24 25 26 27 28 29 28 28 27 26 25 26 26 27 27 27 27 28 28 29 30 30 31 32 33 34 -50 -50 -49 -48 -48 -48 -47 -45 -44 -45 -44 -41 -38 -38 -41 -45 -47 -48 -47 -46 -42 -39 -37 -34 -33 -33 -37 -40 -43 -43 -40 -35 -32 -32 -34 -36 -35 -33 -32 -31 -32 -33 -33 -33 -32 -31 -32 -33 -35 -36 -37 -38 -36 -32 -29 -28 -28 -29 -30 -31 -33 -36 -41 -47 -50 -52 -53 -56 -58 -60 -60 -61 -63 -67 -69 -70 -70 -69 -66 -60 -55 -52 -51 -51 -54 -56 -57 -58 -58 -56 -55 -53 -51 -49 -50 -51 -52 -52 -49 -50 -53 -54 -53 -50 -49 -50 -52 -54 -57 -59 -61 -62 -62 -61 -59 -56 -54 -54 -55 -57 -61 -63 -62 -61 -60 -57 -53 -52 -54 -57 -60 -63 -64 -65 -65 -65 -64 -65 -66 -67 -67 -70 -75 -79 -83 -85 -83 -79 -76 -75 -76 -78 -80 -82 -84 -84 -81 -78 -77 -78 -79 -80 -82 -82 -83 -83 -83 -83 -82 -81 -78 -76 -77 -81 -84 -83 -74 -57 -42 -32 -30 -31 -31 -30 -29 -26 -24 -21 -19 -18 -16 -15 -14 -14 -13 -13 -13 -13 -13 -13 -12 -11 -10 -9 -8 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -6 -6 -7 -7 -8 -8 -8 -8 -7 -7 -6 -5 -4 -3 -2 -1 0 0 -1 -2 -3 -4 -4 -5 -5 -4 -3 -2 0 1 1 -2 -4 -6 -7 -7 -8 -8 -9 -9 -10 -11 -11 -12 -13 -13 -13 -13 -13 -13 -13 -12 -11 -11 -11 -10 -10 -11 -11 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -12 -13 -15 -17 -19 -22 -24 -26 -28 -30 -30 -31 -31 -30 -30 -30 -29 -28 -27 -27 -26 -27 -27 -28 -28 -29 -31 -32 -34 -34 -35 -34 -34 -33 -32 -31 -30 -29 -28 -27 -25 -24 -23 -22 -21 -20 -19 -18 -17 -17 -16 -16 -15 -15 -14 -14 -13 -12 -11 -9 -8 -7 -6 -5 -4 -4 -5 -5 -6 -6 -6 -5 -5 -4 -2 -1 -0 -0 -0 -1 1 4 9 14 17 19 21 22 23 24 25 24 23 22 21 21 22 23 24 25 25 25 26 27 28 29 29 30 31 31 32 -50 -49 -47 -47 -48 -47 -46 -44 -44 -44 -43 -41 -40 -41 -44 -45 -47 -47 -47 -46 -44 -40 -36 -33 -31 -33 -38 -42 -43 -42 -38 -33 -31 -31 -32 -34 -33 -33 -34 -35 -36 -36 -35 -35 -35 -35 -35 -37 -38 -39 -38 -36 -32 -29 -27 -27 -28 -30 -32 -33 -34 -37 -42 -47 -50 -51 -53 -55 -57 -57 -57 -59 -62 -64 -65 -66 -66 -64 -60 -54 -50 -49 -51 -58 -64 -66 -65 -64 -63 -58 -53 -50 -49 -49 -50 -52 -53 -52 -51 -53 -55 -54 -51 -48 -48 -50 -52 -54 -56 -57 -59 -61 -63 -64 -63 -60 -57 -56 -56 -57 -62 -64 -64 -63 -62 -61 -59 -56 -56 -58 -61 -64 -65 -66 -65 -65 -65 -66 -67 -68 -68 -70 -74 -77 -81 -84 -82 -79 -77 -76 -77 -79 -81 -84 -86 -85 -81 -78 -78 -80 -82 -83 -84 -85 -85 -84 -83 -82 -83 -82 -80 -78 -78 -80 -83 -86 -85 -76 -60 -44 -34 -32 -33 -32 -30 -27 -24 -20 -18 -16 -15 -14 -13 -13 -13 -13 -13 -13 -13 -12 -11 -10 -9 -8 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -8 -8 -9 -9 -8 -7 -6 -6 -5 -4 -2 -1 0 1 1 -0 -1 -2 -3 -4 -4 -4 -3 -2 -1 0 1 -0 -2 -4 -6 -7 -7 -7 -8 -8 -8 -9 -11 -12 -12 -13 -13 -13 -13 -13 -12 -12 -11 -11 -10 -10 -9 -9 -10 -10 -10 -10 -10 -10 -10 -11 -11 -11 -12 -12 -13 -12 -12 -12 -11 -11 -12 -13 -14 -17 -19 -22 -24 -27 -28 -30 -31 -31 -32 -33 -33 -34 -34 -34 -33 -33 -32 -31 -31 -30 -30 -31 -32 -33 -35 -36 -37 -37 -37 -36 -36 -35 -34 -33 -33 -32 -30 -29 -27 -26 -25 -23 -22 -21 -20 -20 -20 -19 -19 -18 -18 -17 -17 -16 -15 -13 -12 -10 -9 -7 -6 -6 -6 -7 -7 -7 -8 -7 -7 -7 -6 -5 -4 -4 -4 -5 -4 -2 3 8 12 15 17 18 20 20 21 20 19 18 18 19 20 21 22 23 23 24 25 26 27 28 29 29 29 30 31 -51 -49 -47 -46 -47 -46 -44 -43 -43 -44 -44 -44 -45 -46 -46 -46 -46 -46 -46 -46 -45 -41 -36 -32 -30 -32 -38 -41 -41 -39 -36 -32 -30 -30 -32 -34 -34 -35 -37 -38 -39 -38 -38 -38 -38 -38 -38 -38 -39 -38 -35 -32 -28 -26 -25 -26 -29 -31 -33 -35 -36 -38 -42 -46 -47 -49 -51 -52 -52 -51 -52 -55 -59 -59 -60 -61 -62 -59 -55 -51 -48 -48 -53 -61 -66 -67 -67 -65 -63 -58 -53 -50 -49 -48 -48 -50 -51 -51 -54 -58 -58 -55 -50 -48 -49 -52 -54 -55 -55 -55 -58 -62 -65 -66 -65 -62 -59 -57 -56 -57 -60 -62 -63 -62 -62 -64 -62 -59 -57 -58 -61 -64 -67 -67 -67 -66 -67 -68 -69 -69 -69 -70 -71 -75 -79 -82 -82 -79 -77 -76 -77 -79 -82 -86 -88 -87 -83 -80 -80 -84 -90 -94 -93 -89 -86 -85 -84 -83 -83 -83 -82 -81 -81 -82 -84 -87 -89 -89 -79 -61 -43 -33 -33 -32 -30 -27 -23 -19 -17 -15 -14 -13 -12 -12 -12 -12 -13 -12 -12 -11 -10 -9 -8 -8 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -8 -9 -9 -9 -8 -8 -7 -6 -5 -4 -3 -1 0 1 1 1 -0 -1 -3 -4 -4 -4 -4 -3 -2 -1 -0 0 -1 -3 -5 -6 -7 -7 -8 -8 -8 -8 -9 -10 -12 -12 -13 -13 -13 -12 -12 -12 -11 -11 -10 -9 -9 -9 -9 -9 -9 -10 -10 -10 -10 -11 -11 -11 -12 -13 -14 -14 -14 -14 -13 -13 -12 -13 -14 -15 -17 -19 -22 -25 -27 -29 -31 -32 -33 -35 -36 -37 -38 -39 -39 -39 -38 -37 -35 -34 -33 -33 -33 -33 -35 -36 -37 -39 -39 -40 -39 -39 -38 -38 -37 -37 -36 -35 -34 -32 -30 -28 -27 -25 -24 -23 -23 -23 -23 -23 -22 -22 -21 -21 -20 -18 -17 -15 -13 -11 -9 -8 -7 -7 -8 -8 -9 -9 -9 -9 -9 -9 -8 -7 -7 -7 -8 -8 -6 -3 3 8 11 13 15 16 17 17 17 16 15 16 17 18 19 20 21 22 23 24 25 27 28 28 28 28 29 29 -52 -50 -48 -47 -47 -44 -42 -42 -44 -47 -49 -49 -49 -48 -47 -46 -44 -44 -44 -44 -45 -42 -37 -32 -30 -32 -37 -39 -38 -36 -33 -30 -29 -30 -33 -36 -38 -39 -40 -41 -41 -40 -40 -39 -39 -39 -38 -38 -37 -34 -31 -27 -25 -24 -24 -27 -30 -33 -34 -35 -36 -38 -42 -44 -44 -45 -47 -46 -45 -46 -49 -52 -53 -52 -54 -56 -57 -55 -54 -51 -48 -47 -53 -59 -61 -62 -62 -63 -60 -55 -53 -51 -47 -41 -43 -46 -50 -53 -57 -61 -59 -54 -49 -48 -52 -55 -56 -55 -54 -56 -59 -62 -65 -66 -65 -62 -60 -59 -58 -58 -60 -60 -60 -60 -61 -64 -63 -60 -57 -58 -61 -64 -67 -68 -68 -67 -67 -68 -68 -69 -70 -70 -71 -74 -78 -81 -81 -79 -77 -76 -77 -78 -82 -85 -88 -87 -84 -81 -82 -85 -92 -98 -96 -91 -87 -85 -85 -85 -85 -85 -83 -82 -83 -85 -88 -90 -91 -92 -89 -76 -56 -37 -33 -32 -29 -26 -23 -19 -17 -15 -13 -12 -12 -12 -12 -12 -12 -12 -11 -10 -9 -8 -8 -7 -6 -6 -6 -6 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -8 -7 -7 -7 -8 -9 -9 -9 -8 -8 -7 -6 -6 -5 -4 -2 -0 1 1 1 0 -1 -2 -3 -4 -4 -4 -4 -3 -2 -2 -1 -1 -2 -3 -5 -7 -8 -8 -8 -8 -8 -8 -9 -10 -12 -12 -13 -13 -12 -12 -12 -11 -11 -10 -10 -9 -9 -8 -8 -8 -9 -9 -10 -10 -11 -11 -11 -12 -13 -14 -15 -16 -16 -15 -15 -15 -14 -15 -16 -17 -19 -21 -24 -26 -28 -30 -32 -34 -36 -37 -39 -40 -41 -42 -42 -42 -41 -40 -38 -37 -36 -35 -35 -35 -36 -37 -39 -40 -41 -42 -42 -42 -41 -41 -41 -40 -40 -39 -38 -36 -34 -32 -30 -28 -27 -26 -26 -26 -27 -27 -26 -26 -25 -24 -23 -21 -20 -18 -15 -13 -11 -9 -8 -8 -8 -9 -9 -10 -10 -10 -11 -10 -10 -10 -10 -10 -11 -12 -11 -8 -2 4 8 11 12 14 15 15 15 14 13 14 15 16 17 19 20 21 22 23 25 26 27 28 28 28 28 28 -53 -51 -48 -46 -45 -43 -42 -45 -48 -51 -52 -51 -50 -48 -47 -45 -43 -41 -41 -42 -44 -43 -38 -32 -28 -30 -34 -36 -36 -34 -32 -30 -30 -33 -37 -40 -41 -42 -42 -42 -42 -41 -40 -39 -38 -38 -37 -36 -33 -30 -26 -24 -23 -23 -24 -28 -31 -32 -32 -33 -35 -38 -41 -41 -41 -41 -42 -40 -40 -43 -46 -47 -47 -47 -49 -49 -49 -49 -50 -47 -45 -45 -48 -51 -51 -52 -54 -55 -50 -47 -47 -47 -45 -42 -46 -51 -55 -58 -62 -64 -59 -51 -46 -47 -53 -56 -56 -56 -56 -59 -60 -62 -64 -65 -64 -63 -62 -60 -59 -59 -60 -61 -60 -60 -59 -60 -60 -58 -57 -58 -60 -63 -65 -66 -66 -65 -64 -64 -65 -67 -70 -71 -72 -73 -76 -80 -81 -80 -79 -78 -77 -78 -81 -83 -85 -85 -84 -82 -83 -86 -92 -97 -96 -91 -86 -84 -86 -86 -86 -84 -83 -83 -84 -85 -86 -88 -91 -94 -93 -82 -63 -43 -37 -33 -29 -26 -24 -21 -18 -15 -14 -12 -12 -12 -12 -12 -12 -11 -10 -9 -9 -8 -7 -7 -6 -6 -7 -7 -7 -7 -7 -6 -6 -6 -7 -7 -6 -6 -6 -7 -7 -8 -8 -8 -8 -8 -8 -9 -9 -9 -8 -7 -7 -6 -6 -5 -4 -3 -1 0 1 1 0 -1 -2 -2 -3 -3 -3 -4 -4 -4 -3 -2 -1 -1 -2 -4 -6 -8 -8 -8 -8 -8 -8 -9 -10 -11 -12 -12 -12 -12 -12 -12 -12 -11 -11 -11 -11 -10 -9 -8 -8 -8 -9 -10 -10 -11 -11 -12 -12 -13 -14 -15 -16 -17 -17 -17 -17 -17 -17 -17 -18 -20 -22 -24 -26 -28 -30 -32 -34 -36 -38 -39 -40 -41 -42 -42 -43 -42 -42 -41 -40 -39 -39 -38 -38 -37 -38 -39 -40 -42 -43 -44 -44 -44 -44 -44 -44 -43 -42 -42 -41 -39 -38 -36 -34 -32 -31 -30 -30 -30 -30 -31 -31 -30 -29 -28 -26 -24 -22 -20 -17 -14 -12 -10 -9 -8 -9 -9 -10 -10 -11 -11 -11 -11 -11 -11 -11 -12 -13 -14 -15 -13 -7 -1 4 8 10 12 13 14 14 13 12 12 13 15 16 17 19 20 22 23 24 25 26 27 27 27 27 28 -53 -50 -47 -46 -45 -44 -45 -48 -51 -53 -52 -51 -49 -48 -46 -44 -41 -39 -39 -41 -42 -41 -36 -31 -27 -27 -31 -33 -34 -34 -32 -31 -34 -38 -41 -43 -42 -41 -41 -41 -40 -40 -39 -38 -36 -35 -34 -32 -29 -27 -24 -24 -22 -22 -24 -27 -29 -29 -29 -31 -34 -38 -39 -37 -35 -35 -35 -34 -38 -42 -43 -42 -42 -44 -45 -45 -45 -47 -47 -42 -39 -39 -42 -46 -47 -48 -51 -53 -52 -50 -51 -52 -54 -53 -54 -56 -57 -57 -57 -56 -51 -45 -43 -48 -55 -59 -59 -59 -59 -61 -61 -62 -64 -65 -65 -64 -63 -61 -59 -60 -60 -61 -61 -60 -58 -56 -55 -54 -55 -55 -57 -60 -62 -63 -63 -64 -63 -63 -65 -69 -72 -71 -70 -70 -74 -78 -80 -81 -81 -79 -78 -78 -80 -82 -83 -83 -83 -83 -84 -87 -91 -95 -94 -91 -86 -84 -86 -91 -92 -90 -86 -86 -86 -86 -86 -88 -91 -95 -96 -89 -73 -54 -46 -41 -34 -27 -26 -24 -21 -17 -14 -13 -12 -12 -12 -11 -11 -11 -10 -9 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -9 -9 -9 -8 -7 -7 -6 -6 -6 -4 -3 -1 -0 0 0 -0 -1 -2 -2 -2 -2 -2 -2 -3 -4 -4 -4 -3 -2 -2 -3 -5 -7 -8 -8 -8 -8 -9 -9 -10 -11 -11 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -11 -11 -10 -9 -9 -10 -10 -11 -11 -12 -13 -14 -15 -16 -17 -18 -18 -18 -18 -18 -18 -18 -19 -21 -23 -25 -27 -29 -31 -32 -34 -36 -37 -38 -39 -40 -41 -42 -42 -42 -42 -42 -42 -41 -41 -40 -40 -40 -40 -40 -40 -41 -43 -44 -45 -46 -46 -46 -46 -46 -45 -45 -44 -44 -43 -41 -40 -38 -36 -35 -35 -34 -34 -35 -35 -35 -34 -33 -32 -30 -28 -26 -23 -20 -16 -13 -11 -10 -9 -9 -10 -10 -11 -11 -11 -11 -11 -11 -11 -12 -12 -14 -16 -17 -17 -13 -6 0 5 9 10 12 13 13 12 11 11 12 13 15 16 18 19 21 22 23 24 25 26 27 27 27 27 -52 -49 -47 -46 -46 -47 -49 -51 -52 -52 -50 -49 -48 -47 -46 -43 -40 -39 -39 -40 -41 -39 -35 -30 -27 -27 -30 -32 -34 -34 -34 -34 -38 -41 -43 -42 -38 -37 -37 -39 -39 -39 -37 -35 -34 -32 -32 -30 -28 -26 -24 -23 -21 -22 -25 -27 -28 -28 -30 -32 -35 -37 -34 -30 -28 -28 -30 -32 -36 -38 -38 -37 -38 -42 -43 -44 -45 -47 -46 -41 -37 -37 -41 -45 -47 -52 -57 -61 -62 -61 -60 -61 -64 -65 -62 -58 -54 -52 -51 -50 -45 -42 -43 -50 -57 -61 -62 -61 -61 -61 -62 -64 -65 -66 -67 -66 -63 -60 -59 -60 -60 -61 -62 -61 -59 -56 -55 -54 -55 -55 -55 -58 -60 -62 -63 -63 -62 -63 -65 -69 -72 -71 -70 -71 -72 -74 -77 -79 -80 -79 -78 -78 -80 -82 -83 -83 -82 -83 -85 -88 -91 -93 -92 -90 -86 -83 -86 -95 -99 -96 -90 -88 -88 -87 -87 -88 -92 -96 -98 -95 -85 -69 -59 -52 -42 -31 -28 -27 -24 -20 -16 -13 -12 -12 -11 -11 -11 -10 -9 -8 -8 -8 -8 -7 -8 -8 -7 -7 -7 -8 -8 -8 -8 -8 -8 -7 -8 -8 -8 -8 -9 -9 -8 -8 -8 -9 -9 -9 -8 -8 -7 -7 -6 -6 -5 -3 -2 -1 -0 -1 -1 -2 -3 -2 -1 -1 -1 -1 -2 -3 -4 -4 -4 -3 -3 -3 -5 -7 -8 -8 -8 -8 -9 -9 -10 -11 -12 -13 -13 -12 -12 -12 -12 -12 -12 -13 -13 -13 -13 -13 -12 -11 -11 -11 -11 -11 -12 -12 -13 -14 -15 -17 -18 -19 -19 -19 -19 -19 -19 -19 -20 -21 -23 -25 -28 -30 -31 -32 -34 -35 -36 -37 -38 -39 -40 -41 -41 -41 -42 -42 -42 -42 -42 -41 -41 -41 -42 -42 -42 -42 -43 -44 -45 -46 -47 -48 -48 -48 -48 -48 -47 -47 -46 -46 -45 -43 -42 -40 -39 -39 -39 -39 -39 -39 -39 -39 -38 -36 -34 -32 -30 -27 -23 -20 -16 -13 -11 -10 -10 -11 -11 -12 -12 -12 -12 -12 -11 -11 -11 -12 -14 -17 -19 -21 -19 -13 -6 0 5 8 10 11 12 12 11 11 11 12 13 15 16 18 19 21 22 23 24 25 26 26 26 26 -50 -48 -47 -47 -49 -50 -52 -53 -52 -50 -48 -48 -48 -47 -45 -43 -41 -41 -42 -41 -39 -36 -33 -31 -29 -28 -29 -31 -32 -34 -36 -38 -41 -41 -39 -35 -33 -34 -37 -39 -39 -37 -35 -33 -31 -30 -29 -28 -26 -24 -23 -21 -20 -22 -25 -27 -29 -31 -32 -34 -35 -35 -30 -24 -23 -24 -27 -30 -33 -35 -34 -34 -35 -37 -40 -42 -44 -45 -43 -41 -39 -40 -43 -46 -51 -58 -65 -68 -69 -68 -66 -66 -67 -69 -64 -59 -53 -48 -44 -44 -43 -42 -44 -50 -56 -59 -60 -61 -62 -64 -64 -65 -66 -66 -67 -65 -61 -59 -60 -62 -62 -62 -63 -62 -60 -57 -56 -55 -56 -57 -58 -59 -60 -62 -63 -62 -61 -62 -64 -66 -67 -69 -71 -73 -75 -75 -76 -78 -79 -79 -78 -79 -80 -81 -82 -82 -82 -83 -86 -90 -94 -94 -91 -89 -86 -84 -87 -95 -100 -99 -92 -90 -89 -88 -88 -89 -92 -96 -99 -99 -94 -81 -67 -57 -45 -34 -30 -30 -28 -24 -20 -16 -13 -12 -11 -11 -10 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -6 -5 -3 -2 -1 -0 -1 -2 -3 -3 -3 -2 -1 -0 -0 -0 -1 -2 -4 -4 -5 -4 -4 -5 -7 -8 -9 -8 -8 -8 -9 -10 -12 -13 -14 -14 -13 -13 -12 -12 -12 -13 -13 -14 -15 -15 -15 -14 -14 -13 -12 -12 -13 -13 -13 -14 -15 -16 -17 -19 -20 -20 -20 -20 -19 -19 -19 -19 -20 -22 -25 -28 -30 -32 -33 -33 -34 -35 -36 -37 -38 -39 -40 -40 -41 -41 -41 -41 -41 -42 -42 -42 -42 -42 -43 -43 -44 -44 -45 -45 -46 -47 -49 -50 -50 -50 -50 -50 -49 -49 -49 -48 -48 -47 -45 -44 -43 -43 -43 -43 -43 -43 -43 -44 -43 -41 -39 -37 -35 -32 -28 -24 -19 -15 -13 -12 -12 -12 -12 -13 -13 -13 -13 -12 -12 -11 -11 -12 -14 -17 -20 -24 -27 -23 -15 -9 -0 5 8 10 11 11 11 11 11 11 13 14 15 16 17 19 20 21 22 23 24 25 25 24 -49 -48 -48 -50 -52 -54 -54 -53 -51 -48 -46 -47 -46 -45 -43 -43 -43 -43 -43 -40 -37 -35 -32 -29 -28 -27 -28 -29 -30 -33 -37 -40 -39 -37 -34 -31 -31 -35 -38 -38 -35 -33 -32 -30 -28 -26 -24 -23 -22 -21 -20 -19 -20 -24 -27 -30 -32 -32 -33 -34 -34 -32 -25 -20 -20 -22 -25 -28 -31 -32 -31 -30 -30 -33 -37 -40 -42 -43 -44 -44 -44 -45 -47 -51 -57 -64 -69 -70 -67 -64 -63 -64 -66 -69 -67 -60 -52 -45 -40 -41 -42 -43 -45 -51 -55 -57 -59 -61 -64 -65 -65 -65 -65 -65 -64 -62 -60 -60 -61 -62 -62 -63 -63 -63 -61 -58 -56 -55 -55 -54 -56 -58 -59 -59 -59 -60 -61 -62 -64 -66 -67 -68 -70 -72 -74 -74 -73 -75 -77 -79 -80 -80 -80 -81 -82 -82 -82 -83 -86 -90 -94 -95 -93 -91 -90 -88 -89 -94 -97 -96 -91 -91 -92 -90 -87 -87 -92 -97 -100 -101 -98 -89 -73 -57 -45 -36 -34 -34 -33 -31 -26 -20 -16 -13 -11 -10 -9 -9 -8 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -10 -10 -9 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -6 -4 -2 -1 -0 -1 -2 -3 -4 -4 -3 -2 -1 -0 -0 -0 -1 -3 -4 -5 -6 -6 -7 -8 -9 -10 -9 -9 -9 -9 -10 -12 -14 -15 -16 -16 -15 -14 -13 -13 -14 -14 -15 -16 -16 -16 -16 -16 -15 -15 -14 -15 -15 -16 -16 -16 -17 -18 -19 -20 -21 -21 -21 -20 -19 -19 -18 -19 -20 -23 -27 -30 -32 -33 -34 -34 -35 -35 -36 -37 -38 -39 -40 -40 -40 -41 -41 -41 -41 -41 -42 -42 -42 -43 -43 -44 -44 -45 -45 -46 -46 -48 -50 -51 -51 -51 -51 -51 -51 -52 -51 -51 -51 -50 -49 -48 -47 -46 -46 -47 -46 -46 -47 -49 -51 -49 -46 -44 -42 -39 -34 -29 -24 -19 -16 -14 -14 -14 -14 -15 -15 -15 -15 -14 -13 -13 -12 -13 -14 -17 -22 -30 -36 -35 -28 -23 -11 -2 5 8 10 11 11 11 10 11 12 13 14 15 16 17 18 19 20 21 22 23 23 23 -49 -49 -50 -51 -53 -54 -54 -52 -49 -46 -44 -43 -42 -42 -42 -42 -42 -42 -41 -39 -37 -35 -31 -29 -28 -28 -28 -28 -30 -34 -37 -38 -36 -33 -31 -30 -34 -38 -38 -35 -31 -30 -29 -26 -24 -21 -19 -18 -17 -18 -18 -20 -23 -27 -30 -32 -33 -32 -32 -33 -31 -27 -20 -17 -17 -21 -24 -27 -29 -28 -26 -24 -25 -30 -35 -38 -40 -44 -48 -50 -50 -51 -54 -59 -65 -69 -70 -68 -61 -57 -57 -59 -63 -67 -65 -59 -51 -44 -39 -40 -42 -45 -48 -53 -55 -57 -59 -62 -64 -65 -64 -63 -64 -64 -63 -61 -60 -61 -61 -61 -62 -63 -63 -62 -60 -58 -57 -56 -56 -55 -55 -57 -58 -57 -57 -59 -61 -62 -63 -65 -66 -67 -69 -72 -73 -73 -72 -74 -77 -80 -82 -83 -84 -83 -83 -83 -84 -87 -90 -92 -92 -92 -93 -95 -97 -95 -92 -91 -91 -89 -88 -92 -93 -89 -84 -84 -90 -95 -99 -101 -101 -96 -79 -60 -47 -41 -38 -37 -39 -39 -35 -27 -20 -16 -13 -11 -9 -9 -8 -8 -9 -9 -9 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -10 -10 -10 -11 -11 -11 -11 -10 -9 -8 -8 -8 -8 -8 -8 -8 -7 -7 -6 -4 -2 -1 -0 -1 -2 -3 -5 -5 -4 -3 -1 -0 0 -0 -1 -3 -4 -6 -7 -8 -8 -9 -10 -11 -11 -10 -9 -9 -10 -12 -14 -16 -18 -19 -18 -17 -16 -16 -15 -15 -16 -16 -17 -17 -18 -18 -18 -17 -17 -17 -17 -18 -19 -19 -19 -19 -19 -20 -20 -21 -21 -20 -20 -19 -18 -18 -18 -21 -24 -28 -31 -33 -34 -35 -35 -36 -36 -37 -38 -39 -39 -40 -40 -40 -40 -40 -40 -41 -42 -42 -43 -43 -44 -44 -44 -44 -45 -45 -46 -46 -48 -50 -51 -52 -52 -53 -53 -53 -54 -54 -54 -54 -54 -53 -53 -51 -50 -49 -50 -51 -51 -52 -55 -60 -59 -55 -52 -51 -49 -41 -35 -30 -25 -20 -18 -17 -16 -16 -17 -17 -18 -18 -17 -16 -15 -14 -14 -15 -18 -25 -36 -43 -44 -40 -37 -26 -12 -1 7 8 10 10 10 10 10 12 13 13 14 14 15 16 17 18 19 20 21 22 21 -51 -52 -53 -53 -53 -52 -52 -50 -47 -45 -43 -42 -41 -41 -42 -41 -41 -40 -39 -37 -35 -33 -31 -30 -30 -29 -28 -28 -31 -34 -36 -36 -34 -31 -30 -33 -38 -39 -36 -32 -29 -28 -27 -23 -20 -17 -16 -16 -16 -18 -20 -23 -29 -32 -34 -34 -33 -32 -31 -30 -27 -20 -15 -15 -17 -21 -24 -27 -27 -23 -20 -19 -22 -29 -33 -35 -38 -45 -53 -55 -56 -57 -61 -66 -70 -71 -69 -65 -59 -57 -56 -56 -56 -57 -55 -54 -51 -46 -40 -40 -44 -49 -53 -57 -58 -59 -61 -62 -62 -62 -62 -63 -64 -65 -63 -62 -61 -61 -61 -61 -63 -64 -64 -61 -58 -56 -56 -57 -58 -57 -56 -56 -57 -58 -57 -59 -61 -62 -63 -64 -65 -67 -69 -71 -72 -71 -72 -75 -79 -82 -84 -85 -85 -84 -83 -84 -86 -88 -91 -92 -93 -94 -95 -96 -96 -94 -89 -85 -84 -84 -87 -92 -94 -91 -85 -81 -83 -89 -95 -100 -101 -98 -85 -69 -57 -53 -47 -42 -43 -46 -47 -38 -28 -22 -16 -12 -10 -9 -9 -10 -10 -10 -10 -10 -10 -11 -11 -10 -10 -9 -9 -9 -10 -10 -11 -12 -12 -13 -12 -11 -10 -9 -8 -8 -8 -8 -8 -8 -7 -6 -5 -4 -2 -1 -0 -0 -2 -3 -5 -5 -5 -4 -2 -1 -0 -0 -1 -3 -5 -6 -7 -9 -10 -11 -12 -12 -12 -12 -11 -11 -11 -12 -14 -16 -19 -21 -21 -21 -21 -20 -19 -18 -18 -18 -18 -18 -18 -19 -19 -19 -19 -19 -19 -19 -20 -22 -22 -22 -22 -21 -20 -20 -20 -19 -19 -19 -18 -17 -17 -19 -22 -25 -28 -31 -34 -35 -36 -36 -37 -37 -37 -38 -39 -39 -40 -40 -40 -40 -40 -41 -41 -42 -43 -44 -45 -45 -45 -44 -44 -45 -45 -46 -46 -48 -50 -52 -53 -54 -54 -55 -56 -57 -58 -58 -58 -57 -58 -58 -58 -56 -53 -55 -58 -59 -60 -62 -68 -69 -66 -63 -61 -60 -51 -45 -39 -32 -25 -22 -20 -19 -18 -18 -19 -20 -21 -20 -19 -19 -18 -17 -18 -20 -29 -40 -46 -46 -42 -35 -32 -24 -10 4 6 8 9 9 9 10 11 12 13 14 14 14 15 16 17 18 18 19 20 20 -52 -52 -51 -51 -50 -51 -51 -50 -48 -46 -43 -41 -41 -41 -41 -40 -40 -40 -38 -35 -33 -32 -31 -32 -32 -30 -28 -28 -30 -33 -34 -34 -32 -31 -32 -35 -39 -37 -33 -30 -30 -30 -27 -23 -19 -17 -18 -19 -21 -23 -26 -30 -34 -36 -36 -36 -36 -34 -31 -27 -21 -14 -11 -15 -21 -24 -25 -26 -23 -19 -16 -17 -23 -28 -31 -33 -38 -46 -53 -55 -57 -59 -63 -67 -69 -68 -65 -63 -63 -61 -57 -53 -49 -47 -48 -52 -53 -48 -41 -42 -47 -54 -59 -61 -60 -60 -60 -60 -60 -61 -63 -65 -66 -66 -63 -62 -61 -60 -59 -59 -62 -64 -65 -61 -57 -54 -53 -54 -55 -56 -56 -56 -58 -59 -58 -58 -60 -62 -63 -64 -65 -67 -69 -71 -71 -71 -74 -78 -81 -83 -85 -86 -85 -84 -83 -84 -86 -88 -90 -91 -93 -97 -98 -96 -94 -91 -87 -83 -82 -84 -86 -90 -94 -95 -92 -86 -83 -86 -92 -98 -101 -99 -91 -80 -73 -70 -65 -53 -46 -48 -54 -51 -41 -32 -24 -16 -12 -11 -11 -11 -12 -12 -11 -11 -12 -12 -12 -11 -10 -10 -9 -10 -10 -11 -12 -13 -14 -14 -13 -12 -10 -9 -9 -8 -8 -8 -8 -7 -6 -5 -3 -2 -1 -0 -1 -2 -3 -5 -6 -5 -4 -3 -2 -1 -1 -2 -3 -5 -7 -8 -9 -10 -11 -12 -13 -13 -13 -13 -12 -12 -12 -14 -16 -19 -21 -23 -24 -24 -24 -23 -22 -21 -21 -21 -20 -20 -20 -20 -20 -20 -20 -20 -20 -21 -23 -25 -26 -26 -24 -22 -21 -19 -19 -18 -18 -18 -17 -17 -18 -20 -23 -26 -29 -32 -34 -35 -37 -37 -37 -37 -37 -38 -39 -39 -40 -40 -40 -41 -41 -41 -42 -43 -44 -45 -46 -46 -46 -45 -45 -45 -45 -46 -47 -48 -50 -52 -54 -55 -56 -58 -59 -60 -62 -63 -63 -63 -64 -65 -67 -65 -58 -60 -66 -69 -69 -68 -66 -67 -70 -72 -72 -68 -61 -56 -50 -41 -33 -27 -24 -22 -21 -21 -21 -22 -23 -24 -23 -23 -22 -21 -21 -23 -33 -42 -46 -44 -42 -29 -25 -22 -13 1 4 6 7 8 8 8 9 11 12 13 14 14 15 15 16 16 17 17 18 19 -52 -51 -50 -49 -50 -51 -50 -49 -48 -46 -43 -41 -40 -39 -39 -40 -41 -39 -35 -32 -31 -32 -34 -35 -34 -31 -27 -26 -29 -31 -32 -32 -32 -32 -33 -36 -37 -34 -32 -31 -32 -33 -29 -25 -22 -22 -24 -25 -29 -33 -35 -36 -37 -37 -38 -38 -37 -33 -27 -20 -14 -10 -12 -19 -26 -29 -28 -26 -21 -17 -15 -18 -25 -29 -31 -34 -38 -43 -48 -52 -55 -59 -64 -68 -68 -67 -64 -62 -61 -59 -55 -49 -43 -42 -48 -51 -49 -43 -39 -43 -50 -55 -58 -58 -57 -56 -56 -57 -60 -64 -67 -67 -66 -63 -62 -61 -59 -58 -57 -57 -60 -63 -62 -58 -54 -52 -51 -51 -51 -53 -54 -56 -58 -60 -59 -59 -60 -61 -62 -64 -65 -66 -68 -70 -72 -74 -77 -80 -81 -82 -84 -85 -84 -83 -82 -84 -86 -87 -87 -88 -91 -96 -97 -94 -90 -88 -86 -84 -84 -85 -86 -89 -93 -95 -94 -92 -92 -94 -97 -98 -98 -98 -96 -94 -93 -94 -91 -73 -51 -39 -46 -57 -55 -48 -37 -25 -18 -14 -13 -13 -13 -13 -13 -13 -13 -13 -12 -12 -11 -10 -10 -10 -11 -12 -13 -14 -15 -14 -13 -12 -11 -10 -9 -9 -9 -9 -8 -6 -4 -3 -1 -1 -0 -1 -2 -3 -5 -6 -5 -5 -4 -3 -2 -2 -2 -4 -5 -7 -9 -10 -11 -12 -12 -13 -13 -14 -14 -14 -13 -13 -14 -15 -17 -20 -23 -25 -26 -27 -27 -26 -25 -25 -24 -24 -23 -23 -22 -21 -21 -21 -22 -22 -22 -23 -24 -26 -28 -28 -27 -24 -22 -20 -18 -18 -17 -17 -17 -17 -18 -21 -24 -27 -30 -32 -34 -35 -36 -37 -38 -38 -38 -38 -39 -39 -40 -40 -41 -41 -41 -42 -43 -45 -46 -47 -48 -48 -47 -46 -46 -46 -47 -47 -48 -49 -50 -52 -54 -57 -59 -61 -62 -64 -66 -70 -73 -72 -72 -74 -76 -74 -65 -66 -69 -71 -69 -66 -59 -57 -62 -69 -73 -71 -69 -67 -63 -54 -42 -34 -29 -26 -25 -24 -24 -24 -26 -27 -27 -27 -27 -26 -25 -26 -34 -40 -43 -39 -42 -30 -19 -11 -7 -1 2 4 6 6 6 6 7 8 10 12 13 14 14 15 15 15 15 16 16 17 -51 -50 -49 -49 -50 -50 -49 -48 -47 -45 -42 -39 -37 -36 -38 -41 -42 -37 -32 -30 -32 -36 -39 -39 -36 -30 -25 -24 -27 -29 -30 -31 -31 -32 -32 -33 -32 -33 -33 -33 -33 -34 -32 -29 -27 -27 -28 -30 -34 -36 -36 -36 -34 -33 -34 -36 -37 -30 -18 -12 -11 -12 -15 -22 -29 -32 -31 -26 -20 -16 -16 -20 -27 -30 -31 -32 -35 -38 -42 -45 -49 -54 -60 -63 -62 -62 -61 -60 -58 -55 -50 -44 -40 -48 -58 -56 -48 -40 -41 -47 -53 -56 -58 -60 -59 -58 -58 -60 -66 -69 -68 -65 -62 -60 -61 -60 -58 -56 -55 -55 -57 -59 -59 -57 -54 -52 -51 -50 -49 -50 -53 -56 -58 -59 -58 -59 -61 -63 -65 -66 -67 -67 -68 -70 -74 -77 -78 -79 -80 -81 -84 -85 -83 -81 -81 -82 -84 -84 -84 -83 -86 -91 -92 -90 -87 -86 -85 -86 -87 -87 -86 -87 -89 -91 -93 -94 -96 -97 -97 -95 -92 -94 -96 -97 -96 -95 -94 -82 -62 -43 -36 -46 -59 -63 -56 -40 -28 -21 -16 -14 -14 -14 -14 -14 -14 -14 -13 -13 -12 -12 -11 -12 -13 -14 -14 -15 -15 -14 -13 -12 -11 -10 -10 -10 -9 -8 -7 -4 -3 -2 -1 -1 -1 -2 -3 -4 -5 -5 -5 -4 -3 -3 -3 -4 -5 -6 -8 -9 -10 -11 -12 -12 -13 -13 -14 -14 -15 -14 -14 -14 -15 -16 -18 -20 -23 -25 -27 -29 -29 -28 -28 -28 -28 -27 -27 -25 -24 -23 -23 -23 -23 -23 -23 -24 -25 -27 -28 -29 -29 -27 -24 -22 -20 -18 -17 -17 -17 -18 -19 -22 -25 -27 -30 -32 -33 -34 -35 -37 -38 -38 -39 -39 -39 -39 -40 -40 -41 -41 -42 -43 -45 -46 -47 -48 -49 -48 -48 -48 -47 -47 -48 -49 -50 -51 -51 -53 -55 -58 -62 -66 -69 -70 -73 -79 -85 -84 -81 -82 -83 -80 -73 -72 -69 -65 -62 -59 -56 -56 -59 -65 -71 -70 -68 -67 -69 -65 -54 -42 -34 -31 -29 -27 -27 -27 -28 -30 -30 -31 -31 -31 -31 -30 -33 -38 -40 -34 -44 -37 -22 -7 -4 -2 0 3 5 5 4 4 4 6 8 9 11 12 13 14 14 14 15 15 15 15 -49 -48 -48 -49 -49 -48 -47 -47 -46 -43 -40 -36 -34 -34 -37 -42 -42 -35 -31 -31 -34 -40 -43 -41 -36 -29 -22 -22 -25 -28 -28 -29 -28 -28 -28 -28 -29 -32 -34 -34 -34 -33 -33 -30 -28 -29 -31 -32 -34 -34 -33 -30 -25 -23 -25 -29 -29 -18 -8 -6 -9 -13 -15 -22 -29 -33 -31 -24 -19 -15 -15 -19 -25 -28 -30 -32 -33 -35 -36 -38 -42 -47 -53 -55 -56 -57 -59 -59 -58 -53 -45 -39 -41 -56 -66 -61 -49 -40 -41 -47 -53 -58 -61 -63 -62 -61 -62 -65 -69 -71 -67 -63 -60 -64 -67 -63 -58 -54 -54 -55 -55 -55 -55 -54 -53 -51 -51 -50 -50 -51 -53 -54 -55 -55 -56 -58 -61 -64 -66 -67 -68 -68 -69 -72 -77 -79 -77 -76 -77 -80 -82 -82 -80 -79 -79 -81 -82 -81 -80 -79 -80 -84 -85 -84 -83 -83 -83 -86 -87 -87 -85 -86 -87 -88 -90 -94 -96 -97 -96 -93 -90 -92 -93 -92 -89 -88 -91 -89 -78 -62 -44 -37 -45 -56 -61 -57 -46 -36 -26 -17 -14 -15 -15 -15 -15 -15 -15 -14 -14 -14 -14 -14 -15 -15 -16 -16 -15 -15 -13 -12 -11 -11 -11 -10 -9 -7 -5 -3 -2 -1 -1 -1 -2 -3 -4 -4 -5 -4 -4 -4 -3 -4 -5 -6 -7 -8 -9 -10 -11 -11 -12 -12 -13 -14 -15 -16 -16 -15 -15 -14 -15 -16 -18 -20 -23 -25 -28 -29 -30 -30 -30 -30 -30 -30 -29 -28 -27 -26 -25 -25 -25 -25 -25 -25 -26 -27 -28 -29 -30 -29 -27 -25 -23 -21 -19 -18 -18 -19 -20 -22 -25 -27 -29 -31 -32 -33 -34 -36 -37 -39 -39 -39 -39 -40 -40 -40 -41 -42 -43 -44 -46 -47 -48 -49 -50 -50 -49 -49 -49 -49 -50 -51 -53 -53 -53 -54 -56 -59 -63 -70 -78 -81 -83 -86 -89 -84 -77 -77 -82 -84 -80 -76 -69 -61 -57 -56 -61 -64 -66 -67 -71 -70 -66 -64 -68 -69 -63 -52 -41 -35 -33 -32 -30 -30 -31 -33 -34 -35 -35 -37 -41 -41 -41 -43 -43 -36 -45 -42 -27 -9 -5 -4 -1 2 4 5 4 3 2 3 5 7 8 9 11 13 14 14 14 14 14 14 -46 -47 -47 -48 -47 -46 -45 -45 -44 -41 -37 -33 -31 -33 -37 -42 -41 -35 -31 -33 -38 -42 -40 -37 -32 -27 -20 -21 -25 -27 -28 -26 -25 -26 -27 -28 -30 -33 -33 -32 -32 -32 -32 -30 -30 -30 -30 -29 -29 -30 -28 -22 -16 -16 -21 -23 -20 -9 -4 -7 -10 -12 -13 -21 -29 -33 -31 -23 -17 -14 -14 -17 -21 -24 -28 -31 -32 -31 -31 -33 -36 -39 -43 -45 -47 -51 -54 -57 -57 -52 -44 -39 -43 -58 -68 -63 -50 -39 -39 -45 -52 -57 -60 -61 -61 -63 -65 -68 -69 -67 -65 -64 -67 -72 -72 -63 -55 -52 -54 -55 -54 -54 -54 -54 -51 -50 -51 -53 -54 -53 -52 -53 -54 -54 -56 -60 -63 -66 -67 -68 -69 -70 -71 -74 -77 -77 -76 -75 -77 -80 -80 -78 -76 -75 -78 -81 -81 -80 -79 -78 -77 -78 -78 -79 -80 -80 -80 -80 -81 -81 -82 -83 -84 -85 -88 -92 -95 -96 -95 -93 -91 -92 -90 -86 -84 -85 -88 -90 -88 -80 -64 -47 -42 -46 -52 -56 -59 -57 -45 -30 -18 -16 -17 -17 -16 -16 -16 -16 -17 -17 -17 -17 -17 -17 -17 -17 -16 -15 -14 -12 -12 -11 -10 -9 -8 -6 -4 -3 -2 -1 -1 -1 -2 -3 -3 -4 -4 -4 -4 -4 -4 -5 -7 -8 -10 -11 -11 -12 -12 -12 -11 -12 -13 -14 -16 -17 -17 -16 -15 -15 -15 -16 -18 -21 -23 -25 -27 -29 -31 -31 -31 -31 -31 -31 -30 -30 -29 -28 -28 -27 -27 -26 -26 -26 -27 -28 -28 -29 -30 -30 -30 -29 -27 -25 -23 -21 -20 -20 -21 -23 -25 -27 -28 -29 -31 -32 -33 -35 -37 -38 -39 -40 -40 -40 -40 -41 -42 -43 -44 -45 -47 -49 -50 -51 -52 -52 -52 -51 -51 -51 -52 -53 -54 -55 -56 -56 -57 -59 -63 -72 -84 -90 -90 -90 -89 -83 -75 -75 -82 -84 -81 -78 -75 -69 -62 -60 -67 -72 -73 -72 -72 -71 -69 -67 -69 -69 -66 -59 -49 -41 -38 -36 -35 -34 -34 -36 -40 -42 -42 -43 -51 -53 -53 -52 -49 -43 -46 -41 -27 -13 -8 -5 -2 1 4 5 4 2 1 1 3 5 5 5 6 12 13 13 13 13 14 14 -44 -45 -46 -46 -46 -44 -43 -42 -41 -38 -34 -30 -29 -32 -37 -41 -38 -34 -35 -38 -40 -38 -35 -33 -31 -26 -20 -20 -22 -23 -24 -23 -25 -28 -31 -32 -32 -32 -32 -32 -31 -30 -28 -26 -26 -25 -24 -22 -23 -23 -21 -15 -11 -15 -18 -18 -14 -7 -8 -11 -13 -12 -14 -23 -31 -34 -29 -20 -14 -12 -13 -15 -16 -20 -25 -27 -27 -26 -27 -29 -31 -33 -33 -34 -38 -43 -48 -52 -54 -51 -44 -40 -44 -56 -65 -61 -49 -37 -37 -43 -49 -53 -54 -57 -61 -65 -67 -66 -65 -62 -63 -68 -74 -77 -70 -58 -52 -51 -54 -55 -53 -53 -54 -53 -50 -50 -52 -54 -56 -53 -52 -53 -55 -57 -58 -60 -62 -65 -67 -69 -71 -72 -73 -74 -76 -76 -76 -77 -78 -79 -77 -74 -74 -76 -79 -80 -79 -79 -80 -81 -80 -79 -78 -77 -77 -76 -76 -76 -77 -77 -77 -78 -80 -82 -85 -90 -93 -93 -92 -91 -92 -92 -89 -85 -83 -86 -88 -90 -91 -89 -81 -67 -57 -50 -46 -42 -53 -64 -62 -48 -29 -20 -19 -19 -18 -17 -17 -18 -19 -20 -20 -20 -20 -19 -19 -18 -17 -15 -14 -12 -11 -10 -9 -8 -6 -5 -4 -3 -2 -1 -1 -1 -1 -2 -3 -4 -4 -4 -4 -5 -6 -7 -9 -11 -12 -13 -14 -14 -13 -12 -12 -12 -13 -15 -16 -17 -17 -16 -15 -15 -15 -17 -20 -22 -24 -26 -27 -29 -30 -31 -32 -31 -31 -31 -30 -30 -30 -29 -29 -28 -28 -27 -27 -27 -27 -28 -28 -29 -30 -31 -31 -31 -31 -29 -26 -24 -22 -21 -22 -23 -24 -26 -27 -28 -29 -31 -32 -34 -36 -37 -39 -40 -41 -41 -42 -42 -43 -44 -45 -47 -48 -50 -52 -53 -54 -54 -54 -54 -54 -54 -54 -55 -56 -57 -58 -58 -59 -60 -63 -71 -85 -92 -92 -89 -86 -81 -75 -75 -83 -84 -82 -79 -73 -64 -57 -62 -69 -73 -73 -72 -72 -72 -71 -70 -68 -66 -66 -64 -58 -49 -44 -41 -40 -39 -38 -40 -47 -51 -51 -49 -57 -59 -58 -55 -54 -52 -49 -39 -26 -18 -11 -7 -3 -0 3 5 4 3 1 -0 1 3 3 1 -2 9 12 12 12 12 11 11 -42 -44 -45 -45 -43 -42 -40 -39 -38 -36 -34 -31 -30 -33 -37 -41 -38 -36 -35 -35 -34 -31 -29 -30 -29 -25 -19 -18 -19 -20 -22 -24 -29 -33 -35 -35 -33 -32 -31 -30 -28 -24 -21 -21 -20 -19 -18 -17 -18 -18 -15 -11 -11 -14 -16 -15 -13 -10 -12 -16 -17 -17 -20 -29 -34 -32 -24 -14 -11 -10 -12 -13 -14 -17 -21 -22 -21 -21 -23 -26 -28 -28 -26 -28 -32 -36 -41 -44 -47 -46 -44 -43 -46 -54 -61 -60 -51 -38 -35 -41 -46 -48 -51 -56 -63 -65 -65 -63 -60 -60 -64 -71 -76 -74 -61 -52 -50 -54 -57 -56 -52 -51 -52 -54 -52 -52 -53 -55 -55 -53 -52 -53 -56 -60 -62 -62 -63 -64 -66 -68 -71 -72 -73 -73 -74 -76 -77 -78 -77 -75 -72 -70 -72 -76 -80 -80 -78 -78 -79 -81 -80 -78 -76 -73 -70 -70 -71 -73 -74 -74 -73 -74 -76 -79 -82 -86 -88 -88 -88 -88 -91 -94 -93 -89 -87 -87 -89 -91 -91 -90 -89 -84 -75 -61 -45 -31 -42 -57 -63 -56 -40 -27 -23 -22 -21 -20 -20 -21 -22 -23 -23 -23 -23 -22 -21 -20 -18 -16 -14 -13 -11 -10 -8 -6 -5 -4 -4 -3 -2 -1 -1 -1 -2 -3 -4 -4 -5 -5 -5 -6 -7 -9 -11 -13 -14 -16 -17 -17 -16 -15 -14 -14 -14 -15 -17 -17 -18 -17 -16 -15 -16 -18 -21 -24 -25 -26 -27 -28 -29 -30 -31 -30 -30 -29 -29 -29 -30 -29 -29 -28 -27 -27 -27 -27 -28 -28 -28 -29 -30 -31 -32 -32 -32 -31 -29 -27 -25 -23 -22 -23 -23 -24 -25 -26 -28 -30 -32 -34 -35 -37 -38 -40 -41 -43 -43 -44 -44 -45 -47 -48 -50 -51 -53 -55 -56 -56 -57 -57 -56 -56 -56 -56 -56 -57 -59 -60 -61 -62 -63 -68 -79 -88 -90 -86 -79 -76 -75 -78 -85 -85 -83 -78 -70 -58 -58 -67 -73 -74 -72 -72 -72 -72 -71 -70 -65 -59 -59 -62 -61 -55 -51 -48 -46 -46 -47 -46 -54 -60 -60 -57 -60 -60 -59 -56 -55 -55 -52 -45 -36 -31 -19 -11 -6 -3 1 4 5 3 1 -1 -1 1 2 0 -5 6 11 11 10 8 5 4 -41 -42 -43 -41 -40 -38 -37 -36 -36 -35 -33 -31 -29 -31 -35 -38 -35 -32 -31 -30 -28 -26 -26 -27 -27 -23 -17 -15 -17 -20 -24 -30 -35 -35 -33 -31 -29 -29 -28 -25 -21 -16 -15 -17 -18 -18 -16 -16 -16 -14 -11 -9 -11 -12 -12 -12 -13 -12 -15 -19 -21 -24 -28 -34 -33 -27 -18 -11 -10 -10 -11 -12 -13 -15 -16 -16 -17 -18 -21 -24 -25 -25 -25 -27 -29 -30 -31 -33 -36 -40 -43 -46 -49 -52 -57 -60 -57 -46 -37 -40 -43 -48 -53 -60 -64 -63 -61 -61 -63 -66 -70 -74 -73 -64 -52 -49 -53 -59 -62 -57 -51 -49 -51 -54 -55 -55 -56 -55 -54 -53 -52 -54 -58 -62 -65 -64 -63 -63 -64 -67 -70 -72 -72 -72 -73 -75 -76 -76 -74 -70 -67 -68 -71 -75 -79 -79 -78 -77 -78 -78 -78 -76 -74 -70 -67 -66 -66 -67 -68 -69 -69 -71 -73 -77 -81 -84 -86 -87 -86 -85 -87 -91 -93 -93 -91 -90 -94 -94 -92 -89 -89 -91 -85 -69 -46 -27 -33 -44 -51 -52 -45 -33 -28 -26 -25 -24 -24 -25 -25 -25 -25 -24 -24 -23 -22 -21 -20 -17 -15 -13 -11 -8 -6 -5 -4 -4 -3 -3 -2 -2 -1 -2 -2 -3 -4 -5 -6 -6 -7 -8 -9 -11 -13 -15 -17 -18 -20 -20 -20 -19 -19 -17 -17 -17 -18 -18 -18 -18 -17 -17 -17 -19 -22 -24 -25 -26 -26 -27 -28 -29 -30 -29 -28 -28 -27 -28 -28 -28 -27 -26 -25 -25 -25 -26 -27 -28 -28 -29 -30 -31 -31 -32 -32 -32 -31 -30 -28 -26 -24 -23 -23 -23 -24 -26 -27 -30 -32 -33 -35 -36 -38 -40 -43 -45 -46 -47 -47 -47 -48 -50 -51 -53 -54 -56 -57 -58 -59 -59 -59 -58 -58 -57 -57 -58 -60 -62 -63 -64 -65 -66 -72 -80 -86 -81 -73 -72 -77 -83 -87 -86 -83 -79 -71 -60 -60 -68 -73 -74 -72 -72 -72 -71 -70 -70 -63 -53 -51 -55 -57 -54 -54 -54 -54 -55 -58 -55 -57 -62 -63 -62 -61 -59 -58 -57 -56 -55 -54 -51 -48 -44 -32 -19 -10 -7 -2 2 4 3 1 -2 -2 -1 -0 -0 -3 2 6 8 6 2 -5 -7 -40 -41 -40 -39 -37 -36 -35 -35 -34 -33 -32 -30 -29 -30 -33 -35 -32 -28 -27 -26 -25 -24 -24 -25 -25 -22 -16 -13 -16 -22 -30 -37 -37 -31 -25 -22 -22 -21 -19 -16 -13 -12 -14 -17 -19 -19 -18 -17 -13 -9 -8 -8 -9 -8 -9 -11 -13 -14 -17 -20 -23 -26 -29 -31 -28 -22 -16 -13 -14 -13 -12 -11 -12 -14 -15 -16 -19 -21 -23 -22 -21 -20 -22 -24 -23 -22 -22 -24 -29 -35 -39 -42 -46 -47 -53 -62 -63 -53 -37 -37 -43 -53 -61 -65 -66 -64 -63 -65 -69 -71 -72 -71 -66 -55 -48 -50 -56 -62 -64 -56 -49 -47 -49 -53 -57 -57 -56 -54 -53 -54 -54 -56 -59 -63 -65 -64 -63 -62 -62 -66 -70 -72 -72 -71 -73 -75 -75 -74 -71 -69 -66 -68 -71 -76 -78 -77 -77 -76 -75 -74 -74 -73 -71 -68 -65 -63 -64 -65 -67 -68 -69 -71 -73 -75 -76 -75 -75 -75 -76 -78 -81 -86 -91 -95 -98 -99 -99 -97 -93 -89 -89 -90 -85 -70 -47 -26 -29 -34 -41 -48 -50 -41 -34 -30 -29 -28 -28 -28 -28 -28 -27 -26 -25 -24 -23 -23 -21 -19 -16 -13 -10 -7 -5 -4 -3 -3 -2 -2 -2 -2 -3 -3 -4 -4 -5 -6 -7 -8 -9 -9 -10 -12 -14 -16 -18 -20 -22 -23 -24 -24 -23 -22 -21 -20 -20 -20 -20 -19 -19 -19 -19 -21 -22 -24 -25 -25 -26 -26 -27 -28 -29 -28 -28 -27 -26 -26 -26 -26 -25 -24 -23 -22 -23 -24 -26 -27 -28 -29 -30 -30 -31 -32 -32 -32 -32 -32 -31 -29 -27 -25 -24 -23 -24 -25 -27 -30 -32 -33 -35 -37 -39 -42 -44 -47 -49 -50 -51 -51 -51 -52 -52 -54 -55 -56 -58 -60 -60 -61 -61 -60 -60 -59 -59 -60 -61 -63 -66 -67 -68 -69 -71 -76 -80 -76 -78 -81 -86 -89 -88 -86 -83 -80 -76 -68 -64 -67 -70 -68 -68 -70 -69 -66 -65 -68 -64 -54 -48 -52 -58 -55 -54 -55 -59 -62 -61 -60 -61 -62 -62 -61 -57 -56 -57 -57 -55 -53 -52 -53 -53 -50 -40 -27 -16 -12 -7 -2 2 3 1 -3 -5 -6 -5 -6 -11 -10 -5 -0 -2 -9 -15 -15 -40 -40 -39 -37 -36 -35 -34 -33 -32 -31 -30 -29 -28 -30 -32 -34 -30 -25 -24 -23 -23 -22 -22 -22 -22 -19 -16 -13 -16 -24 -33 -39 -32 -21 -15 -13 -14 -12 -10 -10 -11 -13 -16 -19 -21 -21 -20 -17 -10 -8 -8 -8 -7 -7 -10 -12 -12 -13 -16 -18 -21 -24 -26 -27 -27 -25 -22 -21 -21 -17 -14 -13 -14 -18 -19 -20 -21 -23 -22 -18 -16 -16 -19 -22 -21 -19 -20 -22 -27 -31 -35 -40 -46 -51 -58 -64 -61 -49 -34 -36 -43 -51 -59 -62 -62 -64 -66 -68 -69 -66 -63 -61 -56 -50 -48 -52 -58 -62 -61 -53 -47 -46 -48 -51 -56 -57 -55 -53 -53 -55 -56 -58 -61 -64 -66 -66 -64 -62 -61 -65 -71 -74 -75 -74 -75 -77 -76 -74 -72 -70 -68 -70 -74 -77 -77 -75 -75 -75 -73 -72 -71 -70 -68 -66 -63 -62 -64 -66 -67 -68 -69 -71 -72 -73 -71 -70 -70 -71 -73 -75 -78 -82 -87 -93 -99 -103 -100 -94 -88 -85 -87 -88 -82 -68 -47 -27 -28 -33 -42 -53 -63 -54 -43 -36 -32 -31 -31 -31 -31 -31 -30 -28 -27 -26 -25 -24 -22 -20 -17 -13 -10 -6 -4 -3 -2 -1 -2 -2 -3 -4 -5 -6 -6 -6 -6 -7 -8 -9 -10 -11 -12 -13 -15 -17 -20 -22 -24 -26 -27 -27 -26 -25 -24 -23 -23 -23 -23 -22 -22 -22 -22 -22 -22 -23 -23 -24 -25 -26 -27 -27 -28 -28 -28 -27 -26 -25 -25 -25 -24 -23 -21 -20 -21 -22 -24 -26 -28 -29 -30 -30 -30 -31 -32 -32 -33 -33 -33 -33 -31 -28 -26 -25 -24 -25 -27 -29 -32 -34 -36 -39 -41 -44 -46 -49 -52 -54 -56 -55 -54 -53 -53 -54 -56 -57 -59 -60 -62 -63 -63 -62 -62 -62 -62 -62 -64 -66 -68 -71 -72 -73 -74 -74 -75 -78 -87 -93 -94 -90 -88 -85 -83 -81 -78 -74 -70 -69 -67 -61 -61 -66 -65 -61 -57 -64 -64 -57 -51 -56 -64 -60 -55 -53 -57 -61 -59 -59 -61 -61 -61 -59 -53 -51 -54 -56 -54 -50 -50 -53 -54 -51 -43 -31 -22 -19 -14 -8 -2 1 0 -5 -10 -14 -15 -17 -23 -22 -18 -15 -16 -21 -20 -13 -40 -39 -38 -36 -35 -34 -33 -32 -31 -31 -29 -28 -27 -29 -32 -32 -29 -24 -21 -21 -20 -20 -20 -19 -17 -16 -16 -14 -17 -24 -30 -31 -21 -12 -9 -8 -8 -7 -8 -10 -13 -16 -19 -19 -20 -20 -19 -15 -9 -7 -8 -8 -7 -8 -11 -13 -13 -14 -14 -16 -18 -21 -23 -25 -26 -26 -25 -25 -23 -20 -17 -16 -17 -17 -17 -18 -19 -21 -20 -15 -14 -15 -19 -21 -20 -20 -22 -24 -26 -31 -37 -43 -49 -53 -58 -59 -52 -39 -29 -34 -42 -48 -53 -56 -59 -59 -60 -60 -61 -59 -59 -57 -52 -48 -52 -58 -62 -62 -56 -48 -46 -47 -49 -51 -54 -56 -56 -55 -55 -56 -58 -61 -63 -65 -64 -62 -61 -61 -60 -63 -69 -75 -79 -81 -82 -82 -80 -76 -74 -73 -72 -72 -75 -77 -77 -75 -74 -73 -72 -71 -69 -68 -66 -64 -61 -62 -64 -66 -67 -68 -68 -69 -69 -69 -68 -67 -68 -69 -72 -75 -78 -80 -83 -87 -92 -96 -98 -97 -95 -92 -88 -82 -73 -60 -44 -30 -29 -31 -38 -48 -62 -63 -54 -44 -37 -35 -33 -32 -32 -32 -32 -31 -30 -29 -28 -27 -25 -22 -18 -14 -10 -7 -4 -2 -1 -1 -2 -3 -5 -7 -8 -9 -8 -8 -8 -9 -10 -12 -12 -13 -13 -14 -16 -18 -21 -23 -26 -28 -29 -29 -28 -27 -26 -26 -25 -25 -25 -24 -24 -23 -23 -22 -21 -21 -21 -22 -24 -25 -27 -27 -28 -28 -28 -28 -27 -26 -25 -24 -24 -23 -22 -20 -20 -21 -23 -25 -27 -29 -29 -30 -30 -30 -31 -32 -33 -34 -35 -35 -34 -32 -30 -27 -25 -25 -27 -29 -32 -34 -37 -40 -43 -46 -48 -51 -55 -58 -60 -60 -58 -55 -54 -55 -56 -58 -60 -61 -63 -64 -65 -65 -65 -65 -65 -66 -67 -69 -71 -74 -77 -80 -81 -80 -78 -82 -89 -93 -92 -88 -86 -84 -82 -80 -78 -76 -73 -71 -67 -62 -63 -66 -66 -64 -60 -62 -63 -60 -57 -60 -67 -66 -59 -53 -55 -59 -59 -60 -61 -60 -60 -59 -55 -53 -55 -55 -53 -50 -48 -52 -51 -51 -45 -36 -27 -26 -23 -16 -9 -4 -2 -7 -17 -25 -27 -29 -34 -31 -28 -29 -29 -28 -22 -9 -41 -39 -37 -35 -34 -34 -33 -32 -32 -31 -30 -28 -27 -28 -30 -30 -27 -22 -19 -18 -18 -17 -16 -15 -13 -13 -14 -14 -14 -17 -20 -20 -15 -9 -8 -9 -10 -8 -8 -11 -15 -20 -22 -20 -18 -18 -16 -13 -9 -8 -8 -8 -8 -9 -12 -15 -16 -16 -15 -15 -16 -19 -21 -24 -26 -26 -26 -26 -26 -25 -23 -22 -20 -17 -15 -15 -17 -19 -19 -17 -18 -21 -25 -25 -24 -25 -27 -27 -28 -34 -41 -46 -48 -48 -54 -56 -50 -36 -27 -32 -39 -45 -50 -55 -55 -53 -53 -56 -59 -61 -58 -53 -49 -49 -56 -64 -66 -61 -51 -45 -45 -48 -50 -52 -54 -56 -56 -56 -57 -58 -59 -61 -64 -66 -65 -63 -61 -59 -59 -63 -70 -78 -83 -85 -86 -85 -82 -79 -75 -72 -71 -72 -74 -75 -75 -72 -70 -69 -69 -68 -67 -66 -64 -62 -60 -61 -63 -65 -65 -66 -66 -66 -67 -67 -66 -66 -67 -69 -73 -76 -78 -79 -80 -82 -86 -90 -92 -92 -91 -90 -85 -74 -59 -45 -35 -31 -31 -32 -33 -36 -44 -54 -57 -54 -47 -43 -39 -36 -34 -33 -33 -33 -32 -32 -31 -30 -28 -25 -21 -17 -12 -9 -6 -4 -2 -2 -3 -5 -7 -9 -10 -10 -10 -10 -11 -12 -13 -15 -15 -16 -16 -16 -17 -19 -22 -25 -27 -29 -30 -31 -30 -29 -28 -28 -27 -27 -26 -25 -24 -24 -23 -22 -21 -20 -20 -21 -22 -25 -27 -28 -29 -29 -29 -29 -28 -27 -26 -26 -25 -24 -24 -23 -22 -22 -23 -24 -26 -28 -30 -30 -30 -30 -31 -31 -32 -33 -34 -36 -36 -35 -33 -30 -28 -26 -27 -29 -31 -35 -38 -42 -45 -48 -51 -54 -57 -61 -64 -64 -62 -59 -55 -55 -57 -59 -61 -63 -64 -65 -66 -67 -68 -68 -69 -70 -71 -73 -75 -77 -81 -87 -91 -90 -87 -88 -91 -92 -89 -85 -83 -81 -80 -79 -77 -75 -73 -71 -69 -67 -66 -67 -67 -65 -62 -63 -63 -64 -66 -68 -69 -67 -63 -59 -58 -60 -62 -62 -61 -59 -59 -57 -55 -54 -55 -55 -54 -52 -50 -49 -45 -48 -47 -40 -32 -32 -32 -27 -18 -12 -9 -12 -23 -35 -38 -38 -38 -36 -34 -36 -34 -29 -20 -5 -43 -39 -36 -35 -34 -34 -33 -33 -33 -32 -29 -26 -27 -27 -27 -25 -20 -17 -15 -15 -16 -16 -15 -13 -12 -11 -10 -9 -8 -10 -13 -14 -12 -10 -9 -9 -8 -6 -8 -12 -18 -21 -21 -18 -16 -15 -14 -11 -8 -8 -10 -10 -9 -10 -12 -15 -16 -15 -13 -14 -16 -20 -22 -24 -25 -25 -26 -28 -30 -32 -32 -30 -27 -23 -21 -20 -21 -22 -23 -25 -28 -31 -32 -30 -29 -29 -29 -29 -31 -36 -40 -42 -41 -40 -49 -56 -53 -40 -27 -31 -37 -45 -51 -55 -51 -48 -48 -53 -60 -62 -57 -50 -48 -52 -60 -66 -65 -58 -47 -44 -46 -49 -50 -51 -53 -55 -56 -57 -58 -59 -60 -61 -65 -68 -67 -64 -61 -60 -60 -64 -71 -77 -81 -82 -81 -80 -78 -74 -71 -71 -73 -74 -76 -76 -74 -70 -67 -66 -66 -66 -66 -65 -63 -60 -58 -60 -62 -63 -64 -64 -64 -65 -65 -65 -65 -66 -67 -70 -74 -77 -78 -78 -78 -79 -83 -87 -88 -88 -87 -84 -78 -66 -50 -36 -30 -32 -33 -34 -34 -34 -35 -41 -47 -53 -54 -54 -50 -46 -40 -37 -36 -36 -35 -35 -34 -33 -32 -29 -24 -20 -16 -12 -9 -7 -5 -4 -5 -7 -9 -10 -11 -11 -11 -12 -14 -15 -16 -17 -18 -18 -19 -19 -20 -21 -24 -27 -29 -31 -32 -32 -32 -32 -31 -30 -29 -28 -27 -26 -25 -24 -23 -22 -22 -21 -20 -20 -22 -24 -26 -28 -30 -31 -31 -30 -30 -30 -29 -29 -28 -27 -27 -26 -25 -25 -24 -25 -27 -29 -30 -31 -31 -31 -31 -31 -31 -32 -33 -35 -37 -38 -37 -34 -31 -29 -29 -29 -31 -35 -39 -43 -46 -50 -53 -56 -59 -62 -66 -69 -69 -65 -59 -57 -59 -61 -63 -64 -66 -67 -68 -69 -71 -72 -73 -74 -76 -77 -78 -80 -85 -93 -98 -97 -93 -92 -92 -91 -88 -84 -82 -80 -78 -77 -76 -74 -71 -69 -67 -66 -66 -66 -66 -65 -64 -64 -65 -66 -67 -69 -68 -67 -66 -65 -66 -65 -64 -63 -60 -59 -58 -56 -54 -54 -54 -54 -51 -47 -41 -39 -37 -42 -46 -44 -38 -39 -41 -39 -30 -24 -21 -22 -28 -38 -40 -40 -39 -38 -38 -36 -29 -23 -13 -0 -43 -39 -36 -35 -35 -36 -37 -35 -32 -30 -29 -28 -26 -23 -20 -19 -17 -16 -14 -13 -13 -13 -12 -11 -11 -10 -8 -5 -3 -5 -8 -9 -6 -4 -4 -5 -5 -6 -11 -15 -18 -20 -20 -16 -14 -13 -13 -11 -8 -10 -11 -11 -10 -9 -12 -15 -15 -14 -14 -16 -19 -21 -23 -24 -24 -25 -26 -30 -34 -38 -39 -40 -38 -36 -34 -32 -31 -32 -33 -34 -36 -36 -34 -31 -29 -28 -28 -30 -33 -35 -36 -35 -34 -36 -47 -56 -55 -45 -30 -30 -37 -46 -52 -52 -47 -46 -48 -53 -61 -60 -53 -48 -49 -55 -62 -65 -63 -54 -46 -46 -48 -50 -50 -51 -53 -54 -56 -57 -59 -58 -57 -58 -62 -66 -67 -64 -61 -60 -62 -65 -69 -74 -77 -78 -76 -75 -73 -70 -69 -70 -72 -74 -74 -73 -71 -67 -65 -64 -64 -65 -66 -65 -63 -59 -57 -59 -60 -62 -62 -63 -64 -65 -65 -66 -66 -67 -69 -72 -75 -77 -77 -76 -77 -79 -83 -86 -87 -86 -82 -73 -66 -57 -47 -36 -30 -32 -35 -37 -38 -38 -36 -36 -37 -39 -42 -49 -56 -58 -53 -45 -42 -42 -41 -40 -38 -37 -34 -31 -27 -23 -20 -17 -14 -11 -8 -7 -7 -8 -10 -11 -11 -12 -13 -14 -16 -17 -18 -19 -20 -20 -21 -21 -22 -24 -26 -29 -30 -32 -33 -33 -34 -34 -33 -32 -31 -30 -29 -28 -27 -26 -25 -24 -23 -23 -22 -22 -23 -24 -26 -29 -31 -32 -32 -33 -33 -33 -33 -33 -32 -31 -31 -30 -29 -28 -27 -27 -28 -30 -31 -32 -33 -32 -31 -31 -31 -32 -33 -35 -38 -39 -40 -39 -36 -34 -32 -31 -32 -35 -39 -43 -47 -51 -55 -58 -61 -65 -70 -74 -78 -75 -66 -60 -61 -63 -65 -66 -67 -68 -69 -71 -74 -76 -78 -80 -82 -82 -83 -84 -89 -95 -99 -97 -94 -92 -91 -90 -87 -84 -81 -79 -77 -76 -75 -72 -70 -68 -66 -65 -64 -65 -65 -64 -64 -65 -65 -65 -67 -68 -68 -66 -65 -65 -65 -65 -64 -62 -60 -58 -57 -55 -53 -54 -54 -52 -46 -37 -28 -29 -33 -40 -48 -51 -46 -47 -49 -48 -42 -39 -36 -35 -36 -39 -39 -38 -38 -38 -38 -31 -20 -13 -7 2 -42 -38 -37 -37 -39 -43 -45 -38 -30 -27 -27 -26 -20 -15 -14 -14 -14 -15 -14 -12 -11 -11 -11 -10 -9 -8 -6 -5 -5 -7 -7 -4 0 1 0 -2 -4 -8 -11 -13 -15 -16 -17 -15 -14 -15 -14 -12 -11 -12 -13 -12 -10 -9 -12 -14 -15 -16 -19 -21 -22 -22 -23 -24 -24 -26 -28 -33 -37 -41 -43 -45 -46 -47 -46 -44 -42 -41 -39 -38 -36 -32 -28 -26 -26 -26 -29 -34 -37 -36 -34 -33 -33 -40 -48 -54 -55 -48 -36 -33 -38 -45 -49 -47 -46 -48 -53 -59 -63 -55 -49 -48 -52 -57 -63 -65 -61 -53 -47 -49 -50 -50 -51 -52 -54 -55 -57 -58 -59 -57 -55 -56 -59 -64 -65 -63 -62 -62 -64 -66 -69 -72 -74 -75 -74 -72 -69 -67 -67 -69 -71 -72 -71 -70 -69 -69 -68 -65 -62 -62 -64 -63 -60 -57 -56 -58 -59 -60 -60 -62 -63 -65 -66 -66 -67 -68 -70 -73 -75 -75 -75 -75 -75 -78 -82 -85 -87 -84 -74 -58 -46 -42 -39 -34 -29 -31 -35 -39 -42 -44 -42 -39 -37 -36 -38 -44 -52 -57 -56 -51 -48 -50 -50 -49 -45 -41 -37 -32 -28 -25 -23 -21 -18 -16 -13 -10 -10 -10 -11 -12 -12 -13 -14 -15 -17 -18 -18 -19 -20 -21 -22 -24 -25 -27 -29 -30 -32 -32 -33 -34 -35 -35 -35 -34 -33 -33 -32 -31 -30 -29 -28 -27 -27 -26 -26 -25 -25 -26 -27 -30 -32 -34 -35 -36 -37 -38 -38 -38 -37 -36 -35 -34 -33 -32 -31 -31 -30 -31 -32 -33 -34 -34 -34 -33 -33 -34 -35 -37 -40 -42 -44 -44 -42 -39 -36 -34 -34 -36 -39 -43 -48 -52 -57 -62 -66 -70 -77 -80 -82 -81 -77 -69 -65 -65 -66 -67 -68 -69 -70 -73 -77 -83 -86 -88 -90 -91 -91 -92 -96 -100 -100 -97 -93 -92 -90 -89 -86 -83 -80 -78 -76 -75 -74 -71 -69 -67 -66 -64 -63 -62 -62 -62 -63 -63 -64 -64 -65 -66 -66 -65 -64 -64 -64 -63 -63 -61 -59 -57 -55 -53 -52 -53 -53 -50 -41 -30 -26 -30 -35 -44 -53 -56 -53 -52 -52 -52 -50 -48 -45 -42 -39 -41 -41 -40 -39 -37 -33 -21 -11 -6 -4 0 -42 -37 -35 -37 -44 -50 -50 -38 -29 -26 -26 -22 -14 -10 -10 -13 -16 -17 -13 -10 -9 -9 -10 -9 -7 -6 -7 -9 -13 -14 -10 -3 3 2 0 -2 -4 -8 -8 -10 -11 -13 -14 -15 -16 -17 -16 -14 -15 -17 -17 -14 -10 -10 -13 -16 -19 -22 -24 -23 -22 -22 -23 -25 -27 -30 -34 -38 -41 -43 -43 -43 -44 -45 -45 -44 -41 -38 -34 -32 -28 -24 -22 -24 -27 -31 -36 -40 -35 -32 -32 -34 -37 -42 -49 -54 -57 -55 -48 -41 -41 -45 -50 -51 -52 -56 -61 -65 -62 -52 -50 -52 -56 -60 -65 -66 -62 -54 -49 -51 -51 -51 -52 -53 -55 -57 -59 -60 -59 -58 -56 -57 -60 -64 -65 -64 -63 -64 -66 -68 -69 -70 -71 -72 -71 -70 -68 -66 -66 -68 -69 -69 -68 -68 -68 -70 -68 -65 -61 -60 -60 -59 -57 -56 -56 -57 -58 -59 -60 -61 -62 -64 -65 -66 -68 -69 -71 -73 -73 -73 -72 -73 -74 -76 -78 -80 -82 -79 -69 -49 -29 -23 -23 -25 -26 -29 -33 -38 -44 -51 -52 -49 -46 -43 -43 -44 -46 -49 -51 -52 -53 -57 -59 -58 -54 -48 -41 -35 -30 -26 -24 -23 -21 -19 -16 -14 -13 -13 -13 -14 -14 -15 -15 -16 -17 -17 -17 -18 -19 -21 -23 -26 -28 -30 -31 -32 -32 -33 -33 -34 -35 -35 -35 -36 -36 -35 -35 -35 -34 -33 -32 -31 -31 -30 -30 -29 -29 -29 -30 -31 -34 -36 -38 -39 -40 -41 -42 -42 -41 -40 -38 -37 -36 -36 -35 -34 -34 -33 -34 -34 -35 -37 -39 -39 -39 -40 -42 -44 -47 -49 -52 -52 -49 -45 -41 -37 -37 -38 -40 -44 -49 -55 -61 -67 -74 -76 -79 -81 -83 -84 -83 -78 -73 -69 -68 -69 -69 -70 -71 -74 -81 -91 -95 -98 -100 -101 -101 -101 -102 -102 -100 -97 -93 -90 -88 -86 -85 -82 -79 -77 -76 -74 -73 -70 -68 -66 -64 -62 -61 -61 -61 -61 -61 -61 -61 -62 -63 -64 -64 -63 -63 -63 -63 -62 -61 -59 -58 -55 -52 -50 -50 -51 -51 -49 -41 -30 -31 -35 -39 -45 -53 -54 -52 -52 -51 -51 -51 -50 -48 -44 -39 -43 -43 -42 -40 -36 -24 -12 -6 -5 -5 -2 -41 -33 -32 -41 -51 -56 -50 -37 -27 -24 -23 -19 -10 -7 -10 -15 -20 -19 -13 -8 -6 -8 -9 -7 -6 -7 -11 -18 -21 -20 -13 -4 3 -1 -3 -4 -4 -5 -5 -8 -12 -14 -14 -15 -17 -18 -18 -17 -18 -18 -17 -14 -11 -12 -16 -21 -24 -25 -22 -22 -23 -25 -26 -28 -32 -36 -40 -42 -42 -41 -40 -39 -39 -41 -42 -41 -37 -32 -29 -26 -23 -21 -22 -28 -35 -40 -41 -37 -29 -27 -30 -34 -39 -42 -46 -51 -57 -61 -58 -49 -43 -45 -53 -60 -62 -62 -61 -58 -50 -47 -51 -54 -56 -58 -66 -68 -63 -54 -50 -52 -53 -53 -53 -54 -55 -57 -58 -59 -59 -58 -58 -60 -63 -66 -66 -64 -64 -65 -68 -70 -70 -70 -70 -69 -69 -68 -67 -66 -65 -65 -65 -65 -65 -66 -66 -66 -66 -65 -64 -63 -59 -57 -56 -56 -56 -56 -57 -59 -61 -63 -63 -64 -65 -67 -68 -70 -71 -72 -72 -72 -71 -73 -74 -76 -77 -78 -80 -79 -72 -55 -34 -25 -23 -23 -25 -27 -30 -35 -42 -51 -57 -58 -57 -54 -54 -51 -47 -47 -50 -56 -58 -61 -63 -62 -59 -55 -48 -41 -36 -31 -27 -24 -22 -21 -20 -18 -17 -16 -15 -16 -17 -18 -18 -18 -17 -16 -16 -17 -18 -21 -24 -27 -30 -32 -32 -33 -33 -33 -34 -34 -35 -36 -37 -37 -38 -38 -38 -38 -38 -38 -37 -36 -35 -35 -34 -34 -33 -33 -33 -34 -36 -38 -40 -41 -43 -44 -45 -45 -44 -43 -41 -39 -39 -39 -39 -39 -38 -37 -36 -36 -37 -41 -46 -49 -50 -51 -53 -55 -57 -60 -62 -62 -59 -54 -49 -43 -42 -43 -43 -46 -51 -60 -67 -73 -79 -81 -80 -81 -83 -85 -85 -78 -75 -71 -69 -69 -70 -71 -72 -75 -83 -96 -102 -105 -106 -106 -106 -105 -104 -102 -100 -97 -93 -88 -84 -81 -81 -80 -77 -75 -74 -72 -70 -68 -66 -64 -62 -61 -60 -60 -61 -61 -59 -58 -58 -59 -61 -61 -61 -61 -62 -62 -62 -61 -59 -57 -55 -52 -49 -47 -47 -48 -49 -48 -43 -34 -36 -39 -43 -48 -52 -50 -48 -49 -49 -50 -49 -49 -48 -45 -41 -44 -45 -44 -40 -32 -17 -10 -7 -7 -7 -5 -37 -30 -32 -44 -54 -56 -48 -34 -21 -20 -20 -16 -7 -7 -13 -21 -26 -21 -11 -5 -4 -8 -9 -7 -7 -11 -19 -26 -25 -21 -13 -4 -1 -7 -10 -9 -6 -6 -9 -12 -13 -14 -14 -16 -18 -19 -19 -18 -17 -16 -14 -13 -13 -18 -24 -27 -27 -23 -19 -20 -22 -26 -29 -32 -35 -37 -39 -38 -36 -34 -33 -32 -34 -37 -36 -32 -28 -25 -26 -27 -28 -29 -30 -35 -39 -41 -38 -32 -26 -25 -28 -34 -40 -40 -42 -47 -54 -60 -62 -58 -53 -50 -49 -50 -51 -50 -49 -48 -47 -50 -53 -55 -56 -58 -65 -66 -61 -52 -49 -52 -54 -55 -55 -55 -55 -57 -59 -61 -60 -58 -58 -61 -63 -64 -63 -63 -64 -66 -69 -70 -71 -72 -71 -70 -69 -69 -68 -66 -63 -60 -60 -60 -61 -63 -63 -61 -62 -64 -67 -66 -60 -56 -55 -56 -56 -55 -56 -58 -61 -63 -64 -64 -66 -67 -69 -70 -71 -71 -72 -72 -72 -73 -75 -77 -76 -76 -78 -79 -75 -59 -39 -29 -25 -24 -24 -26 -28 -30 -33 -40 -51 -58 -62 -63 -63 -60 -56 -54 -57 -61 -62 -62 -62 -62 -60 -57 -53 -50 -46 -40 -35 -30 -26 -24 -23 -23 -21 -20 -19 -19 -21 -22 -22 -20 -18 -17 -16 -17 -19 -22 -26 -29 -32 -34 -34 -34 -34 -35 -35 -36 -37 -38 -39 -40 -41 -41 -42 -42 -42 -42 -41 -41 -40 -39 -39 -39 -38 -38 -38 -38 -39 -40 -41 -42 -44 -45 -47 -48 -47 -46 -44 -43 -42 -43 -44 -44 -43 -42 -42 -42 -43 -48 -55 -60 -61 -62 -63 -64 -65 -65 -66 -67 -67 -65 -62 -55 -54 -53 -51 -50 -52 -64 -71 -75 -79 -82 -81 -80 -79 -79 -78 -71 -68 -67 -68 -69 -71 -72 -74 -77 -84 -96 -103 -105 -105 -105 -105 -105 -104 -102 -99 -96 -92 -85 -77 -75 -75 -75 -74 -72 -70 -69 -67 -65 -63 -63 -62 -60 -59 -59 -60 -60 -58 -57 -57 -57 -58 -59 -59 -59 -61 -61 -60 -59 -57 -56 -54 -51 -46 -43 -42 -45 -47 -48 -46 -40 -36 -37 -42 -49 -50 -44 -42 -44 -48 -49 -47 -47 -47 -47 -45 -46 -46 -45 -40 -28 -18 -12 -10 -9 -9 -7 -33 -28 -34 -46 -53 -53 -45 -29 -18 -18 -18 -13 -5 -9 -20 -31 -33 -23 -9 -4 -7 -12 -10 -7 -11 -20 -29 -31 -26 -18 -10 -5 -3 -9 -13 -14 -13 -13 -17 -15 -13 -12 -14 -16 -15 -14 -13 -12 -13 -13 -13 -13 -15 -22 -26 -26 -23 -21 -19 -20 -23 -27 -31 -32 -34 -35 -35 -32 -29 -28 -27 -28 -28 -28 -25 -23 -23 -26 -32 -35 -37 -39 -40 -41 -41 -39 -34 -29 -25 -24 -28 -35 -41 -43 -43 -45 -47 -51 -57 -62 -60 -52 -43 -41 -42 -43 -44 -46 -50 -53 -56 -57 -59 -60 -63 -61 -55 -50 -50 -52 -54 -56 -58 -59 -59 -62 -65 -66 -64 -61 -62 -64 -64 -61 -60 -61 -64 -66 -68 -69 -70 -71 -71 -71 -69 -66 -62 -60 -60 -62 -61 -60 -59 -61 -61 -57 -56 -58 -62 -62 -58 -56 -55 -56 -56 -56 -56 -58 -60 -61 -63 -64 -66 -67 -69 -70 -70 -71 -72 -71 -71 -72 -74 -75 -75 -74 -76 -77 -74 -62 -46 -36 -31 -28 -25 -26 -27 -29 -30 -33 -40 -51 -60 -64 -64 -63 -62 -61 -62 -62 -62 -61 -60 -59 -58 -56 -56 -55 -54 -51 -46 -39 -34 -31 -29 -28 -27 -25 -24 -23 -24 -25 -25 -23 -21 -19 -19 -20 -22 -25 -29 -32 -35 -37 -37 -37 -37 -37 -38 -39 -40 -41 -43 -44 -45 -46 -46 -45 -45 -45 -44 -43 -43 -42 -42 -42 -42 -42 -42 -42 -41 -41 -42 -43 -44 -47 -49 -51 -51 -51 -50 -49 -49 -51 -53 -54 -53 -53 -53 -53 -53 -56 -61 -65 -68 -69 -69 -69 -68 -66 -67 -68 -70 -71 -70 -67 -64 -60 -56 -54 -50 -58 -64 -68 -74 -80 -79 -76 -72 -68 -68 -64 -63 -64 -66 -69 -72 -74 -76 -80 -86 -96 -102 -104 -104 -103 -103 -103 -102 -100 -97 -95 -90 -83 -74 -69 -70 -71 -71 -69 -66 -65 -64 -63 -62 -62 -61 -60 -60 -59 -58 -58 -57 -57 -57 -57 -57 -57 -58 -58 -59 -59 -58 -56 -55 -55 -54 -51 -46 -41 -41 -43 -45 -46 -48 -45 -32 -30 -37 -48 -48 -40 -36 -38 -45 -46 -45 -44 -45 -45 -46 -47 -48 -47 -43 -31 -25 -19 -13 -11 -11 -9 -28 -28 -38 -48 -52 -50 -40 -25 -18 -18 -16 -9 -5 -17 -31 -38 -33 -19 -6 -7 -14 -19 -13 -9 -13 -22 -30 -33 -27 -18 -8 -3 -3 -11 -16 -17 -16 -15 -18 -16 -15 -15 -17 -16 -13 -11 -9 -9 -10 -10 -11 -13 -18 -22 -22 -22 -24 -26 -25 -25 -27 -29 -30 -31 -33 -33 -31 -28 -25 -24 -24 -24 -23 -21 -20 -21 -27 -34 -39 -42 -44 -46 -47 -46 -42 -36 -30 -27 -23 -24 -29 -37 -44 -48 -48 -45 -42 -43 -52 -60 -58 -49 -39 -37 -41 -44 -46 -49 -51 -54 -57 -59 -61 -62 -61 -56 -50 -48 -49 -51 -53 -56 -60 -62 -65 -67 -69 -69 -67 -66 -67 -67 -64 -59 -59 -62 -64 -66 -67 -67 -68 -69 -70 -69 -65 -61 -59 -58 -59 -57 -56 -54 -53 -53 -55 -55 -54 -54 -54 -54 -55 -56 -57 -57 -56 -56 -57 -58 -60 -61 -63 -64 -66 -67 -69 -70 -70 -70 -70 -70 -71 -72 -74 -75 -74 -73 -74 -74 -73 -64 -52 -44 -39 -35 -30 -28 -28 -29 -30 -32 -38 -47 -57 -64 -67 -66 -64 -63 -64 -63 -61 -59 -58 -57 -55 -55 -55 -57 -57 -58 -55 -50 -45 -42 -38 -36 -34 -32 -30 -29 -28 -28 -27 -26 -24 -23 -23 -24 -27 -29 -33 -36 -39 -41 -42 -41 -41 -41 -41 -42 -44 -46 -47 -49 -50 -50 -50 -49 -47 -46 -45 -44 -44 -44 -44 -45 -45 -46 -46 -46 -45 -43 -43 -43 -45 -49 -52 -55 -56 -56 -57 -59 -59 -59 -57 -56 -55 -55 -55 -55 -54 -56 -63 -71 -76 -75 -74 -72 -70 -67 -67 -69 -71 -73 -75 -73 -65 -56 -49 -48 -46 -48 -51 -55 -61 -69 -71 -69 -64 -59 -60 -61 -63 -64 -66 -69 -73 -77 -82 -85 -91 -97 -101 -102 -102 -101 -101 -100 -99 -97 -95 -92 -89 -82 -71 -64 -67 -71 -71 -68 -67 -66 -65 -64 -63 -62 -61 -61 -60 -59 -57 -57 -57 -57 -56 -55 -56 -56 -57 -58 -59 -58 -56 -55 -55 -55 -55 -52 -49 -46 -44 -44 -44 -45 -48 -46 -34 -29 -35 -45 -46 -40 -35 -34 -41 -43 -43 -45 -47 -48 -47 -48 -48 -48 -47 -40 -37 -28 -18 -15 -13 -12 -23 -28 -43 -51 -51 -45 -35 -23 -19 -15 -10 -6 -12 -29 -38 -38 -26 -6 1 -7 -15 -18 -14 -13 -17 -25 -32 -35 -29 -17 -6 1 -3 -12 -16 -16 -14 -14 -18 -21 -23 -25 -25 -20 -15 -11 -9 -9 -9 -9 -11 -15 -20 -21 -20 -22 -26 -29 -28 -28 -28 -28 -28 -30 -31 -31 -28 -25 -22 -22 -21 -20 -19 -20 -22 -28 -35 -42 -45 -46 -47 -48 -49 -47 -42 -35 -29 -26 -23 -27 -33 -41 -47 -51 -49 -44 -40 -41 -49 -55 -53 -46 -38 -37 -42 -47 -50 -50 -51 -54 -57 -59 -59 -58 -57 -52 -48 -47 -48 -50 -53 -57 -61 -65 -68 -69 -70 -70 -69 -69 -69 -66 -60 -56 -58 -60 -63 -65 -66 -67 -68 -67 -65 -63 -63 -62 -59 -55 -54 -51 -49 -49 -51 -55 -58 -58 -56 -54 -51 -53 -58 -60 -59 -55 -54 -55 -57 -59 -60 -62 -63 -64 -66 -67 -68 -69 -69 -69 -70 -69 -70 -72 -74 -75 -74 -73 -72 -72 -71 -66 -57 -51 -48 -46 -40 -33 -30 -30 -31 -32 -35 -42 -51 -62 -67 -68 -68 -67 -66 -62 -59 -59 -58 -57 -55 -55 -56 -57 -58 -58 -57 -56 -55 -53 -50 -47 -44 -42 -40 -37 -34 -32 -31 -30 -28 -28 -29 -30 -31 -33 -36 -39 -42 -44 -46 -46 -46 -46 -46 -46 -48 -49 -51 -53 -54 -54 -53 -51 -49 -47 -45 -45 -46 -47 -48 -48 -49 -49 -50 -50 -49 -47 -46 -46 -47 -51 -56 -60 -64 -64 -65 -67 -66 -63 -59 -56 -55 -55 -57 -58 -54 -52 -57 -67 -72 -70 -68 -66 -66 -66 -68 -70 -73 -76 -78 -74 -62 -51 -46 -46 -46 -47 -48 -51 -54 -58 -59 -59 -60 -60 -61 -63 -64 -65 -67 -70 -75 -82 -88 -91 -93 -96 -99 -101 -102 -101 -99 -98 -96 -94 -91 -89 -86 -81 -71 -63 -66 -70 -71 -68 -67 -68 -68 -67 -65 -62 -61 -61 -60 -58 -57 -56 -56 -56 -54 -53 -54 -55 -56 -58 -58 -57 -56 -56 -55 -55 -54 -52 -51 -49 -45 -42 -41 -42 -48 -46 -37 -33 -35 -40 -43 -42 -38 -36 -39 -42 -43 -45 -47 -48 -48 -48 -48 -49 -49 -49 -46 -37 -25 -21 -17 -14 -21 -30 -46 -51 -49 -39 -26 -13 -13 -11 -9 -10 -24 -33 -35 -29 -17 -3 -2 -9 -16 -19 -20 -23 -27 -31 -34 -34 -27 -17 -6 -1 -6 -13 -14 -13 -13 -17 -24 -30 -33 -33 -30 -23 -16 -12 -11 -13 -13 -13 -15 -19 -23 -22 -22 -23 -25 -25 -25 -25 -25 -25 -27 -30 -31 -29 -25 -22 -21 -20 -19 -19 -21 -25 -31 -38 -43 -45 -46 -46 -47 -46 -46 -45 -41 -35 -29 -25 -25 -31 -38 -44 -48 -49 -44 -40 -39 -41 -47 -52 -52 -47 -42 -40 -44 -48 -49 -49 -50 -54 -56 -55 -53 -52 -52 -50 -48 -47 -48 -51 -55 -59 -63 -65 -68 -69 -70 -70 -70 -70 -66 -60 -54 -53 -57 -59 -62 -63 -64 -63 -62 -61 -59 -59 -61 -59 -55 -52 -51 -48 -46 -46 -49 -54 -57 -58 -58 -56 -53 -55 -59 -60 -58 -54 -54 -56 -58 -59 -61 -62 -64 -65 -66 -67 -68 -68 -68 -68 -69 -69 -70 -71 -73 -74 -73 -72 -71 -70 -70 -68 -62 -59 -58 -59 -54 -43 -35 -32 -33 -34 -36 -42 -50 -59 -64 -66 -67 -67 -65 -60 -59 -59 -60 -58 -55 -55 -56 -56 -57 -57 -57 -57 -58 -58 -58 -57 -54 -53 -52 -49 -43 -40 -38 -37 -37 -37 -37 -37 -36 -37 -39 -41 -43 -46 -48 -50 -51 -51 -50 -50 -51 -52 -55 -57 -58 -58 -57 -54 -51 -48 -47 -47 -48 -50 -52 -53 -54 -54 -54 -54 -54 -53 -51 -50 -51 -55 -61 -67 -72 -73 -71 -70 -68 -64 -59 -56 -55 -55 -55 -55 -51 -50 -52 -57 -61 -64 -65 -65 -65 -66 -69 -72 -75 -79 -81 -73 -60 -51 -48 -48 -47 -47 -47 -49 -52 -55 -58 -61 -62 -63 -64 -65 -67 -68 -69 -72 -76 -84 -92 -94 -94 -96 -99 -101 -101 -100 -97 -95 -93 -90 -87 -85 -82 -78 -72 -65 -65 -67 -67 -66 -67 -68 -68 -67 -65 -63 -62 -61 -60 -58 -57 -56 -55 -55 -54 -53 -53 -54 -55 -57 -57 -56 -56 -57 -55 -54 -52 -51 -50 -48 -40 -35 -33 -35 -44 -46 -42 -38 -38 -36 -39 -40 -40 -40 -40 -42 -44 -45 -46 -47 -47 -46 -46 -48 -49 -49 -48 -42 -33 -28 -21 -17 -24 -37 -49 -49 -43 -31 -16 -4 -6 -5 -6 -13 -25 -28 -23 -15 -6 -4 -12 -21 -26 -28 -30 -35 -37 -36 -33 -30 -25 -18 -12 -9 -10 -11 -11 -12 -17 -25 -33 -37 -37 -35 -31 -24 -18 -17 -19 -22 -22 -22 -23 -26 -28 -25 -23 -22 -21 -19 -17 -18 -20 -24 -28 -30 -29 -25 -23 -22 -22 -23 -24 -26 -30 -35 -41 -44 -45 -45 -45 -44 -43 -42 -42 -42 -40 -36 -30 -26 -25 -32 -38 -41 -42 -39 -36 -36 -39 -43 -47 -51 -52 -49 -45 -44 -45 -45 -45 -46 -49 -52 -52 -50 -47 -50 -51 -49 -48 -48 -50 -53 -57 -61 -65 -66 -68 -70 -71 -70 -70 -66 -59 -53 -50 -54 -57 -58 -60 -60 -60 -58 -55 -54 -55 -59 -60 -57 -52 -49 -48 -45 -43 -45 -49 -54 -57 -58 -59 -59 -57 -57 -58 -58 -55 -53 -54 -56 -58 -60 -61 -63 -64 -66 -67 -68 -68 -68 -68 -68 -68 -69 -69 -69 -70 -71 -72 -72 -71 -70 -70 -71 -69 -67 -67 -71 -68 -56 -44 -36 -35 -37 -39 -43 -50 -59 -63 -65 -67 -67 -65 -60 -58 -58 -58 -56 -54 -54 -55 -55 -56 -57 -57 -58 -60 -61 -61 -61 -61 -63 -64 -61 -55 -51 -50 -49 -50 -51 -51 -48 -44 -43 -43 -44 -46 -47 -49 -51 -53 -54 -54 -54 -53 -54 -57 -60 -62 -62 -60 -57 -54 -51 -50 -51 -52 -54 -56 -58 -59 -59 -59 -60 -60 -61 -60 -58 -58 -63 -68 -72 -73 -72 -71 -69 -67 -63 -58 -55 -54 -53 -51 -49 -44 -42 -43 -45 -50 -58 -63 -66 -66 -67 -69 -72 -77 -81 -80 -70 -60 -53 -51 -49 -48 -47 -47 -48 -51 -55 -60 -65 -69 -68 -68 -69 -71 -71 -73 -74 -78 -84 -92 -93 -94 -96 -99 -101 -101 -98 -95 -92 -89 -86 -83 -80 -78 -75 -71 -64 -60 -59 -61 -64 -66 -67 -66 -66 -64 -63 -62 -60 -58 -56 -56 -55 -55 -54 -53 -53 -53 -54 -55 -56 -56 -55 -55 -56 -54 -53 -51 -50 -49 -44 -35 -29 -28 -29 -37 -44 -45 -43 -42 -40 -40 -40 -40 -41 -42 -43 -44 -44 -45 -47 -46 -44 -42 -46 -47 -47 -46 -42 -34 -30 -24 -20 -24 -35 -40 -39 -36 -26 -11 -1 -4 -4 -7 -13 -18 -17 -11 -6 -5 -14 -27 -36 -40 -41 -42 -45 -44 -40 -35 -31 -24 -17 -13 -11 -12 -10 -11 -16 -25 -34 -39 -38 -35 -32 -29 -25 -24 -27 -32 -34 -33 -33 -34 -34 -33 -26 -19 -16 -15 -16 -14 -15 -19 -24 -28 -28 -25 -23 -23 -25 -28 -32 -36 -38 -40 -41 -42 -42 -42 -41 -40 -39 -38 -37 -38 -38 -38 -37 -34 -28 -23 -28 -32 -34 -33 -31 -32 -36 -42 -48 -50 -50 -49 -47 -45 -46 -47 -46 -45 -45 -48 -49 -47 -45 -45 -49 -49 -48 -48 -50 -53 -55 -59 -64 -67 -68 -69 -69 -69 -68 -66 -60 -52 -49 -50 -54 -55 -56 -57 -58 -57 -54 -51 -51 -53 -59 -60 -57 -52 -49 -45 -42 -42 -45 -50 -55 -58 -59 -60 -60 -59 -59 -58 -56 -53 -51 -53 -56 -59 -62 -62 -62 -63 -65 -67 -69 -69 -68 -67 -67 -68 -68 -68 -68 -69 -70 -72 -72 -71 -70 -70 -72 -73 -73 -74 -75 -74 -65 -53 -42 -39 -41 -43 -46 -52 -59 -63 -64 -65 -65 -65 -62 -59 -56 -54 -53 -53 -53 -55 -56 -56 -56 -57 -58 -61 -62 -63 -64 -65 -66 -67 -66 -65 -63 -62 -60 -61 -63 -63 -61 -56 -53 -51 -51 -52 -52 -52 -53 -55 -57 -58 -58 -57 -58 -59 -62 -66 -67 -65 -62 -58 -55 -54 -55 -56 -58 -60 -62 -65 -66 -66 -66 -68 -70 -72 -71 -68 -66 -67 -70 -71 -69 -69 -68 -66 -63 -58 -54 -50 -46 -43 -42 -38 -36 -37 -40 -44 -52 -59 -65 -67 -68 -69 -72 -75 -77 -71 -61 -55 -54 -54 -51 -49 -49 -49 -50 -52 -56 -62 -70 -79 -77 -75 -74 -75 -76 -76 -77 -81 -86 -92 -93 -94 -96 -99 -100 -99 -96 -93 -90 -87 -83 -79 -76 -73 -70 -63 -55 -50 -52 -57 -62 -64 -65 -64 -63 -63 -62 -61 -59 -57 -55 -54 -54 -54 -53 -53 -53 -53 -54 -54 -55 -55 -55 -55 -55 -53 -52 -50 -49 -48 -44 -37 -32 -29 -28 -32 -41 -46 -47 -46 -43 -42 -41 -42 -43 -43 -43 -43 -44 -44 -46 -46 -44 -43 -46 -46 -46 -45 -40 -28 -26 -25 -24 -21 -28 -30 -33 -31 -21 -8 -0 -4 -9 -14 -18 -18 -14 -9 -8 -13 -24 -37 -44 -46 -47 -49 -50 -49 -45 -41 -36 -23 -11 -5 -4 -8 -12 -16 -23 -33 -41 -43 -42 -39 -37 -34 -32 -34 -39 -43 -45 -44 -42 -41 -40 -36 -24 -15 -11 -11 -12 -13 -19 -25 -29 -30 -28 -25 -25 -28 -34 -38 -38 -38 -38 -38 -37 -36 -37 -37 -37 -36 -34 -33 -34 -36 -36 -37 -38 -35 -29 -23 -26 -29 -32 -31 -29 -33 -39 -45 -50 -51 -46 -42 -41 -43 -46 -49 -48 -46 -43 -44 -44 -43 -43 -45 -49 -48 -47 -48 -52 -56 -58 -63 -68 -71 -69 -68 -67 -68 -67 -62 -53 -48 -48 -51 -53 -52 -54 -56 -57 -55 -50 -47 -47 -49 -54 -56 -56 -53 -49 -43 -40 -41 -46 -52 -56 -58 -59 -59 -58 -58 -59 -58 -55 -52 -51 -52 -56 -60 -63 -62 -61 -62 -64 -66 -69 -69 -68 -67 -68 -67 -67 -68 -68 -69 -71 -74 -74 -73 -72 -71 -72 -73 -73 -73 -74 -74 -68 -57 -48 -45 -47 -48 -50 -55 -59 -61 -62 -62 -63 -64 -63 -60 -56 -53 -51 -52 -54 -55 -57 -57 -56 -57 -59 -61 -63 -64 -65 -67 -67 -68 -68 -68 -67 -64 -61 -63 -66 -68 -67 -65 -64 -62 -62 -63 -62 -59 -59 -60 -62 -64 -65 -65 -65 -65 -66 -70 -73 -72 -68 -63 -60 -60 -60 -62 -63 -65 -68 -72 -75 -75 -75 -77 -79 -80 -79 -75 -71 -69 -69 -69 -68 -67 -66 -65 -63 -60 -56 -49 -41 -34 -36 -38 -40 -41 -42 -44 -50 -58 -65 -68 -69 -70 -71 -73 -73 -65 -58 -57 -59 -59 -54 -52 -52 -53 -54 -55 -59 -65 -75 -87 -86 -83 -81 -81 -82 -82 -83 -86 -91 -94 -95 -96 -97 -99 -99 -96 -94 -91 -89 -87 -82 -77 -73 -70 -67 -59 -55 -55 -57 -62 -63 -63 -62 -61 -61 -61 -60 -60 -59 -57 -55 -53 -53 -53 -52 -52 -52 -53 -53 -54 -55 -55 -55 -55 -53 -52 -50 -49 -49 -50 -49 -44 -38 -33 -31 -32 -38 -45 -49 -48 -45 -44 -43 -44 -45 -45 -45 -44 -44 -44 -45 -45 -45 -45 -45 -45 -45 -44 -41 -33 -31 -32 -32 -18 -21 -25 -29 -25 -15 -5 -0 -6 -15 -22 -26 -26 -23 -21 -22 -26 -32 -39 -42 -43 -43 -44 -48 -48 -45 -40 -35 -19 -6 -1 -4 -8 -12 -21 -30 -38 -41 -42 -44 -44 -41 -36 -35 -40 -44 -44 -40 -34 -31 -32 -31 -25 -14 -8 -8 -11 -13 -16 -20 -25 -28 -27 -24 -24 -27 -33 -37 -37 -35 -33 -32 -31 -30 -31 -33 -34 -33 -31 -30 -31 -32 -33 -34 -37 -39 -36 -30 -23 -24 -28 -30 -30 -30 -35 -40 -44 -47 -49 -44 -40 -41 -45 -49 -51 -50 -47 -45 -44 -42 -41 -42 -45 -47 -46 -48 -53 -59 -64 -66 -69 -70 -69 -63 -57 -56 -58 -59 -55 -49 -47 -47 -49 -50 -51 -52 -54 -53 -49 -45 -42 -43 -45 -48 -52 -54 -52 -48 -41 -38 -41 -47 -52 -56 -58 -58 -57 -55 -55 -57 -58 -56 -55 -55 -56 -59 -62 -64 -62 -61 -63 -65 -68 -71 -73 -73 -72 -70 -67 -67 -68 -70 -71 -72 -75 -78 -78 -77 -75 -74 -74 -73 -73 -74 -74 -69 -63 -56 -53 -53 -54 -55 -57 -57 -57 -59 -60 -61 -62 -62 -61 -57 -53 -51 -53 -56 -58 -59 -58 -57 -58 -59 -61 -63 -65 -67 -68 -69 -68 -69 -69 -67 -62 -58 -60 -65 -67 -67 -65 -66 -69 -72 -75 -73 -69 -68 -69 -72 -74 -75 -77 -76 -74 -71 -75 -80 -80 -76 -71 -69 -69 -70 -71 -72 -73 -76 -80 -84 -85 -84 -84 -84 -84 -82 -79 -75 -71 -68 -67 -65 -64 -64 -63 -63 -62 -58 -51 -42 -36 -38 -42 -46 -49 -50 -50 -55 -62 -68 -69 -70 -70 -70 -71 -71 -67 -63 -63 -68 -70 -65 -61 -59 -60 -60 -61 -64 -69 -77 -89 -92 -91 -89 -89 -91 -91 -91 -92 -94 -98 -100 -100 -99 -98 -97 -95 -92 -90 -89 -87 -80 -74 -69 -67 -65 -62 -62 -63 -64 -64 -63 -61 -60 -60 -60 -59 -59 -59 -59 -57 -55 -54 -53 -52 -52 -53 -53 -54 -54 -55 -56 -56 -55 -54 -52 -50 -49 -48 -48 -49 -50 -48 -45 -39 -35 -35 -38 -42 -49 -49 -47 -46 -45 -46 -46 -46 -46 -45 -44 -43 -43 -44 -44 -45 -44 -44 -44 -44 -43 -40 -40 -40 -41 -19 -18 -22 -26 -18 -8 -1 -1 -7 -16 -24 -29 -32 -33 -37 -39 -41 -43 -44 -40 -36 -33 -35 -40 -43 -39 -32 -25 -16 -8 -5 -6 -12 -20 -32 -44 -51 -54 -52 -48 -41 -33 -29 -32 -37 -38 -35 -29 -25 -25 -27 -26 -20 -11 -8 -10 -15 -20 -23 -26 -29 -29 -25 -22 -23 -27 -32 -34 -31 -29 -28 -28 -28 -28 -30 -31 -31 -29 -28 -28 -29 -30 -30 -33 -37 -40 -38 -31 -24 -24 -26 -29 -30 -32 -36 -38 -41 -44 -47 -44 -42 -43 -47 -52 -55 -54 -52 -48 -44 -41 -40 -42 -45 -47 -48 -53 -59 -64 -65 -65 -66 -66 -62 -54 -51 -54 -58 -57 -50 -45 -45 -46 -48 -49 -50 -51 -52 -49 -45 -42 -41 -43 -45 -49 -53 -56 -55 -48 -39 -38 -43 -49 -53 -55 -56 -55 -53 -52 -53 -56 -57 -57 -58 -61 -64 -66 -66 -66 -65 -65 -66 -69 -72 -75 -76 -76 -75 -72 -67 -66 -68 -71 -71 -71 -74 -78 -80 -79 -76 -75 -74 -74 -74 -75 -75 -72 -67 -63 -61 -60 -58 -54 -51 -49 -52 -56 -59 -61 -61 -61 -59 -56 -53 -53 -56 -59 -60 -60 -59 -58 -58 -58 -60 -63 -67 -70 -71 -69 -68 -69 -69 -66 -61 -52 -49 -55 -62 -66 -65 -66 -68 -72 -76 -77 -77 -77 -78 -80 -81 -84 -85 -85 -83 -79 -80 -83 -85 -84 -81 -80 -81 -82 -84 -86 -86 -86 -86 -86 -86 -86 -86 -86 -85 -83 -80 -75 -70 -67 -65 -64 -63 -62 -62 -62 -63 -62 -58 -52 -43 -43 -48 -55 -61 -61 -60 -64 -69 -72 -71 -71 -70 -69 -68 -68 -68 -68 -69 -73 -76 -76 -74 -72 -71 -69 -68 -70 -73 -79 -88 -93 -94 -94 -94 -95 -96 -95 -95 -97 -99 -100 -99 -97 -96 -95 -94 -92 -91 -89 -85 -76 -69 -64 -62 -62 -62 -64 -65 -65 -63 -62 -61 -60 -59 -58 -58 -58 -58 -58 -57 -56 -55 -54 -54 -54 -54 -55 -55 -55 -55 -55 -55 -55 -55 -51 -49 -48 -48 -48 -48 -48 -48 -48 -45 -41 -41 -43 -45 -49 -50 -49 -48 -47 -47 -47 -47 -46 -45 -44 -42 -39 -39 -42 -43 -43 -43 -43 -43 -44 -43 -43 -43 -42 -23 -19 -20 -21 -12 -4 -0 -2 -6 -11 -16 -20 -22 -26 -33 -39 -43 -43 -38 -29 -23 -23 -31 -36 -36 -29 -19 -7 -2 -3 -5 -9 -15 -24 -35 -46 -54 -56 -52 -45 -37 -32 -30 -32 -35 -34 -32 -29 -26 -27 -29 -28 -25 -19 -15 -16 -21 -28 -31 -34 -35 -33 -26 -22 -22 -25 -27 -28 -26 -26 -27 -28 -28 -29 -30 -30 -28 -26 -26 -26 -28 -29 -30 -34 -38 -41 -40 -33 -26 -24 -25 -28 -31 -33 -34 -36 -39 -44 -46 -45 -44 -46 -49 -54 -58 -59 -57 -53 -48 -44 -44 -45 -47 -49 -52 -57 -61 -64 -63 -63 -63 -60 -54 -49 -53 -59 -61 -57 -48 -44 -44 -46 -48 -49 -50 -49 -48 -47 -45 -43 -43 -46 -50 -53 -52 -48 -44 -40 -38 -40 -45 -50 -53 -54 -55 -54 -53 -52 -53 -55 -56 -57 -59 -62 -64 -65 -64 -65 -67 -69 -69 -70 -71 -72 -73 -73 -73 -71 -67 -66 -67 -69 -70 -70 -73 -77 -79 -77 -75 -75 -75 -74 -74 -75 -75 -72 -68 -65 -63 -61 -57 -52 -46 -45 -50 -56 -60 -62 -60 -58 -55 -54 -53 -56 -59 -61 -61 -60 -59 -58 -57 -57 -59 -63 -69 -72 -72 -70 -69 -69 -69 -67 -61 -51 -45 -49 -56 -61 -63 -64 -66 -68 -71 -75 -76 -78 -79 -81 -83 -85 -87 -88 -87 -85 -83 -83 -84 -85 -83 -83 -84 -86 -87 -88 -89 -88 -88 -87 -86 -87 -87 -87 -86 -84 -80 -75 -69 -64 -62 -61 -60 -58 -59 -60 -61 -63 -63 -58 -51 -51 -56 -62 -65 -65 -67 -72 -76 -77 -74 -72 -70 -68 -67 -67 -68 -71 -73 -76 -80 -83 -85 -85 -84 -79 -77 -77 -77 -82 -87 -92 -95 -96 -95 -97 -98 -98 -98 -98 -99 -98 -96 -93 -92 -92 -91 -91 -91 -89 -82 -72 -63 -59 -58 -58 -60 -62 -63 -63 -61 -61 -61 -60 -58 -57 -56 -56 -56 -56 -57 -57 -56 -56 -56 -56 -55 -55 -55 -55 -55 -55 -55 -55 -53 -50 -48 -48 -48 -49 -48 -48 -48 -48 -45 -43 -44 -47 -50 -50 -49 -49 -48 -47 -47 -47 -47 -46 -45 -43 -41 -38 -36 -40 -41 -42 -42 -42 -42 -42 -42 -42 -42 -42 -27 -19 -15 -14 -8 -6 -8 -14 -16 -16 -18 -21 -22 -22 -28 -35 -38 -34 -23 -14 -13 -19 -28 -30 -26 -18 -8 2 3 -1 -6 -13 -23 -34 -41 -47 -51 -51 -48 -45 -42 -39 -38 -39 -39 -38 -37 -37 -36 -36 -37 -37 -34 -30 -28 -29 -32 -35 -36 -40 -40 -36 -27 -21 -21 -23 -24 -24 -26 -28 -29 -29 -29 -30 -30 -28 -26 -25 -25 -26 -28 -30 -32 -36 -39 -40 -39 -34 -28 -25 -25 -28 -30 -32 -33 -35 -39 -42 -44 -45 -47 -48 -50 -53 -57 -59 -60 -57 -53 -51 -51 -52 -51 -51 -54 -59 -63 -63 -62 -61 -58 -52 -48 -50 -59 -63 -62 -55 -48 -46 -46 -47 -48 -49 -50 -49 -48 -48 -48 -47 -48 -50 -54 -55 -50 -43 -38 -37 -40 -44 -48 -51 -53 -55 -56 -56 -55 -53 -53 -54 -56 -58 -60 -60 -58 -56 -57 -62 -67 -70 -70 -69 -68 -68 -68 -68 -69 -70 -68 -66 -66 -66 -67 -69 -73 -76 -77 -75 -74 -75 -75 -75 -74 -75 -75 -73 -69 -65 -63 -61 -59 -56 -54 -53 -55 -57 -60 -62 -61 -58 -55 -53 -53 -57 -61 -63 -62 -59 -58 -57 -57 -57 -59 -64 -70 -73 -72 -70 -69 -70 -70 -69 -63 -52 -43 -42 -46 -51 -59 -63 -66 -67 -71 -74 -77 -79 -81 -83 -85 -86 -88 -89 -88 -85 -82 -79 -79 -79 -76 -75 -78 -83 -87 -89 -89 -88 -87 -86 -87 -87 -87 -87 -85 -83 -80 -75 -69 -61 -56 -55 -53 -51 -51 -53 -56 -61 -65 -64 -61 -61 -63 -65 -66 -67 -70 -75 -80 -82 -76 -71 -69 -69 -68 -69 -71 -74 -77 -81 -85 -88 -90 -91 -90 -88 -86 -85 -83 -88 -91 -94 -96 -96 -97 -99 -99 -99 -98 -98 -97 -95 -93 -92 -92 -91 -90 -90 -90 -89 -81 -70 -62 -58 -57 -57 -58 -59 -60 -61 -58 -59 -60 -60 -57 -56 -56 -56 -56 -55 -56 -56 -57 -58 -58 -57 -56 -55 -55 -55 -54 -54 -55 -54 -52 -50 -49 -49 -50 -50 -50 -49 -49 -47 -43 -40 -41 -45 -49 -49 -49 -48 -48 -46 -45 -46 -46 -45 -44 -43 -41 -39 -38 -40 -40 -40 -39 -38 -37 -37 -38 -39 -41 -41 -27 -17 -10 -8 -5 -7 -13 -21 -27 -30 -35 -37 -37 -37 -43 -43 -36 -25 -13 -10 -14 -21 -26 -24 -18 -11 -4 -0 -2 -6 -13 -22 -32 -40 -43 -43 -43 -44 -46 -47 -47 -47 -47 -47 -46 -45 -45 -45 -44 -44 -44 -43 -41 -38 -39 -41 -42 -42 -41 -43 -43 -37 -27 -20 -21 -22 -23 -26 -29 -30 -29 -29 -29 -29 -29 -27 -26 -26 -27 -29 -31 -33 -36 -39 -38 -38 -37 -35 -31 -28 -27 -28 -30 -34 -36 -37 -38 -39 -41 -45 -49 -51 -51 -49 -51 -53 -55 -55 -54 -56 -59 -59 -56 -50 -53 -59 -64 -65 -61 -56 -50 -45 -46 -54 -61 -62 -59 -53 -49 -49 -50 -50 -49 -51 -52 -52 -53 -55 -57 -56 -56 -57 -58 -56 -47 -41 -37 -38 -42 -46 -49 -51 -53 -55 -57 -56 -53 -50 -49 -50 -53 -56 -58 -58 -56 -55 -56 -59 -64 -66 -66 -65 -64 -64 -64 -65 -67 -68 -69 -68 -67 -66 -67 -70 -74 -77 -77 -75 -74 -75 -75 -75 -74 -75 -76 -74 -70 -65 -62 -60 -59 -59 -59 -59 -60 -61 -62 -63 -62 -59 -56 -54 -55 -57 -61 -62 -61 -58 -57 -57 -57 -58 -60 -65 -70 -73 -73 -71 -71 -71 -72 -71 -68 -59 -50 -43 -41 -45 -54 -62 -66 -68 -70 -72 -75 -78 -81 -83 -84 -86 -88 -89 -89 -86 -80 -75 -72 -70 -66 -66 -70 -77 -85 -90 -91 -89 -86 -85 -86 -87 -86 -85 -84 -81 -79 -74 -68 -58 -48 -46 -43 -41 -42 -46 -52 -60 -67 -69 -67 -67 -67 -67 -68 -70 -74 -78 -81 -79 -74 -71 -70 -71 -72 -74 -76 -79 -83 -87 -89 -91 -92 -92 -91 -91 -90 -89 -88 -89 -91 -93 -96 -98 -101 -102 -102 -100 -98 -96 -95 -93 -92 -92 -93 -91 -90 -89 -89 -86 -78 -68 -61 -58 -57 -58 -57 -56 -54 -59 -59 -59 -59 -58 -57 -56 -56 -56 -56 -55 -56 -56 -57 -58 -58 -58 -57 -56 -55 -54 -51 -50 -51 -54 -54 -52 -51 -51 -51 -51 -51 -50 -50 -48 -44 -40 -41 -45 -49 -49 -49 -49 -48 -47 -45 -45 -45 -44 -44 -43 -41 -40 -40 -40 -39 -37 -33 -26 -24 -26 -29 -34 -40 -40 -20 -13 -7 -5 -6 -8 -12 -17 -24 -31 -36 -40 -42 -43 -47 -42 -30 -15 -9 -17 -25 -30 -31 -27 -18 -13 -12 -14 -14 -14 -21 -31 -39 -43 -43 -40 -39 -41 -47 -50 -50 -50 -50 -50 -49 -48 -47 -46 -44 -43 -42 -41 -40 -40 -42 -44 -46 -47 -47 -45 -41 -33 -23 -19 -22 -25 -28 -31 -31 -30 -29 -28 -27 -27 -27 -26 -27 -29 -31 -32 -35 -38 -41 -41 -39 -37 -35 -34 -34 -33 -32 -32 -34 -39 -41 -41 -40 -39 -41 -46 -51 -53 -51 -46 -44 -45 -47 -49 -50 -55 -60 -62 -58 -51 -54 -59 -62 -62 -55 -47 -42 -42 -48 -56 -60 -58 -53 -49 -50 -54 -56 -55 -55 -56 -57 -58 -60 -63 -65 -65 -64 -63 -62 -56 -46 -40 -39 -41 -43 -46 -48 -50 -52 -55 -57 -55 -52 -49 -48 -49 -52 -57 -60 -61 -58 -56 -55 -57 -62 -66 -66 -64 -62 -62 -63 -65 -66 -68 -69 -69 -68 -68 -69 -72 -76 -78 -78 -76 -75 -75 -75 -75 -76 -77 -76 -73 -68 -63 -61 -59 -59 -59 -60 -61 -62 -62 -63 -63 -62 -60 -58 -58 -58 -60 -63 -64 -62 -59 -58 -59 -59 -60 -60 -65 -69 -72 -72 -71 -72 -73 -73 -74 -74 -70 -62 -51 -44 -43 -51 -61 -67 -70 -70 -71 -74 -76 -78 -79 -80 -82 -86 -90 -90 -86 -79 -74 -69 -65 -62 -61 -64 -70 -81 -90 -92 -89 -83 -81 -84 -85 -85 -83 -81 -79 -76 -73 -69 -61 -48 -41 -38 -40 -46 -52 -58 -64 -69 -70 -69 -69 -69 -70 -72 -74 -77 -80 -81 -78 -73 -72 -73 -75 -77 -80 -83 -86 -89 -91 -92 -92 -93 -93 -93 -93 -92 -92 -90 -90 -92 -95 -97 -100 -103 -104 -103 -100 -97 -95 -95 -94 -94 -93 -93 -92 -91 -89 -87 -82 -73 -65 -60 -58 -58 -58 -55 -49 -47 -58 -61 -61 -58 -56 -56 -57 -57 -57 -57 -55 -55 -55 -56 -57 -58 -58 -58 -57 -56 -54 -47 -43 -45 -54 -55 -54 -53 -53 -53 -52 -51 -51 -50 -49 -47 -45 -45 -48 -49 -49 -49 -49 -49 -48 -46 -45 -44 -43 -44 -42 -41 -41 -40 -40 -39 -34 -24 -12 -10 -11 -15 -25 -38 -39 -14 -11 -7 -4 -7 -9 -11 -15 -21 -27 -31 -35 -37 -39 -41 -33 -20 -10 -12 -26 -33 -35 -35 -32 -25 -23 -26 -31 -29 -25 -29 -36 -43 -46 -48 -45 -42 -43 -48 -51 -51 -49 -48 -47 -45 -44 -44 -43 -41 -38 -34 -32 -34 -38 -41 -43 -43 -43 -41 -36 -27 -17 -12 -17 -23 -27 -29 -30 -29 -28 -26 -26 -25 -25 -25 -26 -29 -31 -33 -36 -40 -44 -44 -42 -39 -37 -36 -35 -38 -40 -40 -39 -40 -44 -46 -46 -45 -44 -45 -48 -51 -52 -50 -44 -42 -43 -44 -46 -46 -49 -53 -55 -54 -52 -53 -55 -54 -50 -45 -42 -41 -44 -50 -59 -60 -56 -50 -48 -53 -58 -61 -62 -62 -62 -62 -62 -63 -65 -66 -65 -65 -63 -62 -55 -46 -41 -41 -43 -44 -46 -47 -50 -52 -56 -57 -55 -52 -49 -48 -50 -54 -59 -63 -63 -59 -55 -54 -57 -61 -63 -63 -62 -61 -62 -64 -65 -67 -68 -68 -69 -69 -70 -71 -73 -75 -76 -77 -78 -77 -76 -76 -77 -78 -78 -76 -72 -67 -63 -61 -61 -61 -62 -61 -60 -60 -61 -62 -62 -62 -61 -60 -59 -60 -62 -63 -63 -60 -58 -59 -60 -61 -60 -60 -64 -69 -71 -72 -72 -73 -74 -74 -75 -75 -76 -70 -60 -49 -46 -51 -59 -66 -71 -70 -70 -73 -75 -75 -73 -73 -78 -83 -87 -88 -86 -84 -82 -78 -70 -64 -63 -64 -68 -76 -84 -87 -85 -80 -79 -82 -83 -82 -80 -78 -76 -74 -72 -69 -65 -56 -47 -41 -43 -51 -60 -67 -70 -71 -71 -71 -71 -72 -74 -76 -77 -78 -78 -77 -75 -74 -74 -77 -80 -83 -86 -89 -91 -92 -92 -91 -92 -93 -94 -94 -94 -94 -94 -93 -94 -96 -98 -101 -103 -104 -104 -103 -100 -97 -97 -97 -97 -96 -95 -94 -93 -91 -89 -85 -78 -70 -64 -61 -59 -58 -57 -52 -44 -45 -57 -62 -61 -57 -55 -56 -57 -58 -57 -57 -55 -55 -55 -55 -56 -57 -58 -58 -57 -57 -54 -45 -38 -41 -53 -55 -55 -54 -54 -53 -52 -51 -51 -51 -49 -48 -48 -48 -49 -49 -49 -49 -49 -49 -48 -46 -44 -42 -42 -43 -42 -41 -40 -38 -38 -37 -30 -17 -8 -7 -7 -11 -20 -36 -38 -11 -10 -7 -7 -10 -13 -15 -17 -20 -23 -26 -27 -28 -30 -28 -21 -15 -14 -23 -33 -36 -36 -35 -34 -34 -35 -38 -42 -42 -40 -39 -40 -42 -46 -50 -50 -48 -48 -50 -52 -50 -47 -46 -42 -38 -37 -36 -35 -30 -24 -21 -22 -27 -32 -34 -34 -32 -30 -27 -22 -17 -14 -15 -20 -24 -28 -30 -31 -30 -27 -25 -25 -26 -25 -28 -30 -32 -35 -38 -41 -44 -45 -44 -41 -40 -40 -41 -42 -45 -47 -48 -47 -46 -49 -50 -50 -49 -48 -47 -48 -50 -51 -50 -47 -46 -46 -48 -49 -50 -51 -53 -55 -58 -60 -56 -50 -45 -44 -45 -44 -44 -47 -54 -62 -62 -56 -50 -49 -57 -62 -64 -65 -65 -65 -65 -65 -65 -65 -63 -62 -60 -57 -56 -53 -46 -41 -40 -41 -42 -44 -46 -50 -54 -57 -58 -56 -53 -49 -48 -50 -54 -59 -63 -62 -57 -54 -54 -58 -60 -61 -60 -60 -61 -63 -65 -67 -69 -69 -68 -68 -70 -71 -73 -73 -74 -74 -76 -77 -77 -76 -76 -77 -78 -79 -78 -74 -69 -65 -64 -65 -66 -66 -62 -59 -58 -59 -60 -61 -63 -62 -60 -59 -60 -62 -62 -61 -59 -60 -61 -61 -60 -59 -61 -64 -67 -69 -71 -72 -73 -74 -75 -75 -75 -76 -71 -63 -52 -49 -51 -57 -64 -71 -72 -70 -73 -76 -77 -74 -75 -79 -83 -85 -86 -86 -84 -83 -82 -76 -68 -66 -68 -74 -78 -79 -77 -77 -79 -80 -79 -79 -78 -77 -75 -74 -72 -71 -69 -66 -59 -51 -46 -49 -55 -60 -66 -70 -71 -72 -73 -74 -77 -79 -80 -79 -78 -76 -73 -73 -74 -77 -81 -86 -89 -92 -93 -94 -94 -93 -93 -94 -95 -96 -95 -95 -95 -96 -97 -99 -100 -102 -103 -105 -106 -105 -103 -100 -99 -98 -97 -96 -98 -96 -94 -92 -90 -87 -83 -76 -69 -64 -61 -60 -60 -59 -56 -49 -50 -57 -61 -59 -56 -55 -56 -57 -58 -57 -56 -55 -55 -55 -55 -56 -57 -58 -58 -58 -58 -55 -48 -41 -42 -52 -55 -55 -54 -55 -53 -52 -51 -51 -50 -50 -49 -49 -49 -49 -49 -49 -49 -49 -48 -47 -45 -42 -41 -41 -41 -41 -41 -38 -30 -30 -32 -27 -13 -9 -8 -7 -10 -17 -34 -37 -10 -10 -9 -10 -15 -19 -21 -22 -23 -24 -24 -24 -22 -20 -16 -14 -18 -27 -36 -42 -43 -43 -40 -37 -37 -39 -40 -43 -47 -50 -49 -48 -48 -49 -52 -54 -55 -56 -55 -54 -49 -43 -37 -31 -30 -29 -28 -24 -19 -14 -15 -19 -23 -24 -24 -22 -20 -18 -19 -23 -26 -27 -27 -27 -28 -30 -31 -30 -27 -25 -26 -28 -30 -29 -32 -34 -37 -39 -42 -44 -45 -44 -42 -39 -40 -41 -43 -46 -49 -51 -51 -51 -52 -53 -53 -52 -51 -49 -47 -47 -49 -51 -54 -54 -53 -53 -53 -54 -53 -52 -54 -58 -63 -61 -51 -44 -42 -45 -47 -47 -47 -51 -58 -63 -58 -52 -48 -52 -58 -62 -64 -65 -66 -65 -65 -64 -61 -57 -54 -56 -60 -61 -59 -51 -44 -40 -40 -41 -41 -42 -45 -50 -55 -58 -57 -55 -51 -49 -47 -48 -52 -57 -60 -58 -54 -53 -55 -59 -61 -60 -59 -59 -60 -62 -65 -67 -69 -68 -67 -67 -69 -71 -71 -70 -70 -72 -75 -77 -77 -76 -76 -76 -78 -79 -79 -77 -72 -68 -68 -70 -70 -67 -62 -58 -58 -58 -60 -61 -62 -61 -60 -58 -58 -58 -58 -58 -59 -61 -63 -62 -60 -58 -60 -62 -65 -68 -70 -71 -72 -74 -75 -75 -75 -75 -73 -67 -59 -54 -55 -59 -66 -73 -74 -73 -75 -79 -81 -79 -80 -82 -83 -84 -86 -86 -87 -86 -84 -77 -68 -66 -70 -77 -77 -72 -68 -67 -74 -77 -76 -75 -74 -74 -73 -72 -71 -69 -68 -65 -58 -53 -51 -57 -64 -67 -69 -70 -71 -74 -76 -79 -82 -83 -81 -79 -77 -75 -73 -74 -76 -81 -86 -91 -95 -96 -97 -97 -97 -97 -97 -98 -98 -99 -98 -98 -98 -99 -101 -102 -103 -104 -105 -106 -106 -105 -103 -101 -99 -95 -90 -89 -96 -96 -94 -91 -88 -84 -80 -73 -68 -64 -62 -61 -62 -63 -62 -59 -58 -60 -60 -59 -57 -56 -57 -58 -58 -57 -56 -55 -55 -55 -54 -55 -56 -57 -58 -59 -59 -57 -52 -47 -48 -53 -55 -55 -55 -54 -53 -52 -52 -51 -50 -50 -50 -50 -50 -50 -49 -49 -49 -49 -48 -46 -44 -41 -41 -41 -41 -41 -39 -33 -21 -20 -23 -24 -14 -12 -10 -9 -9 -14 -31 -36 -11 -12 -12 -13 -17 -21 -25 -29 -32 -31 -29 -26 -20 -12 -9 -16 -27 -38 -46 -48 -47 -46 -45 -41 -36 -32 -31 -34 -42 -50 -53 -54 -55 -56 -55 -55 -56 -57 -57 -54 -45 -34 -25 -23 -22 -20 -17 -14 -12 -11 -16 -20 -22 -20 -18 -16 -16 -18 -25 -32 -35 -37 -37 -36 -35 -33 -31 -28 -26 -27 -31 -33 -33 -34 -36 -38 -40 -42 -44 -43 -43 -42 -40 -39 -40 -43 -46 -48 -51 -52 -53 -54 -55 -56 -56 -54 -53 -52 -51 -49 -50 -54 -58 -59 -58 -58 -58 -59 -57 -54 -53 -55 -58 -53 -44 -40 -42 -46 -48 -48 -49 -53 -59 -58 -51 -48 -49 -55 -59 -63 -64 -63 -60 -60 -62 -62 -58 -50 -51 -56 -60 -60 -54 -47 -42 -40 -40 -40 -40 -41 -45 -50 -55 -57 -55 -51 -48 -47 -46 -47 -49 -52 -54 -54 -52 -52 -54 -59 -60 -59 -58 -58 -59 -61 -64 -66 -67 -66 -66 -66 -68 -70 -71 -70 -70 -71 -74 -77 -77 -76 -76 -77 -79 -80 -79 -77 -73 -71 -71 -71 -69 -66 -62 -61 -60 -60 -61 -62 -63 -63 -62 -61 -57 -55 -54 -54 -56 -60 -61 -61 -59 -57 -58 -60 -63 -66 -68 -70 -71 -73 -73 -73 -73 -73 -73 -71 -67 -63 -62 -65 -70 -77 -80 -80 -81 -80 -78 -77 -80 -82 -84 -84 -83 -84 -86 -88 -87 -78 -69 -65 -69 -75 -74 -69 -65 -65 -71 -74 -74 -73 -72 -72 -71 -70 -69 -68 -67 -63 -59 -58 -60 -65 -70 -71 -71 -70 -72 -76 -79 -82 -83 -83 -81 -78 -76 -75 -76 -78 -81 -86 -92 -97 -99 -100 -101 -101 -101 -101 -101 -102 -102 -102 -102 -102 -102 -103 -104 -105 -106 -107 -106 -106 -106 -106 -104 -101 -97 -92 -89 -89 -95 -95 -94 -92 -88 -82 -76 -71 -67 -65 -63 -63 -64 -65 -66 -64 -62 -61 -60 -59 -58 -58 -59 -60 -59 -57 -56 -55 -55 -54 -54 -54 -55 -56 -57 -59 -60 -59 -57 -55 -55 -55 -55 -55 -55 -54 -53 -53 -52 -51 -50 -51 -51 -51 -50 -50 -50 -49 -49 -48 -48 -46 -43 -42 -42 -42 -42 -42 -38 -27 -21 -19 -19 -19 -16 -14 -12 -11 -10 -12 -25 -33 -17 -18 -18 -16 -17 -19 -23 -29 -36 -40 -41 -38 -28 -16 -12 -19 -28 -35 -38 -37 -39 -43 -44 -38 -27 -24 -27 -36 -46 -50 -48 -48 -50 -54 -51 -49 -50 -53 -55 -51 -38 -25 -16 -16 -14 -10 -8 -8 -10 -14 -20 -24 -25 -23 -21 -21 -23 -27 -34 -37 -37 -37 -39 -40 -37 -33 -29 -27 -28 -32 -34 -35 -35 -37 -39 -40 -42 -44 -44 -42 -41 -41 -41 -42 -43 -45 -48 -50 -52 -53 -54 -56 -57 -58 -58 -57 -57 -58 -57 -54 -54 -57 -60 -60 -59 -59 -59 -60 -57 -51 -48 -48 -50 -45 -40 -40 -43 -46 -47 -47 -49 -53 -56 -52 -47 -48 -54 -61 -63 -62 -60 -57 -57 -60 -61 -58 -51 -45 -48 -55 -59 -58 -51 -44 -41 -40 -40 -39 -38 -38 -41 -47 -53 -56 -54 -51 -48 -48 -49 -49 -49 -50 -52 -53 -51 -51 -52 -55 -56 -56 -56 -57 -58 -59 -62 -63 -64 -64 -65 -66 -68 -70 -73 -72 -70 -70 -73 -77 -77 -77 -77 -78 -79 -79 -78 -76 -73 -73 -72 -70 -66 -64 -64 -63 -62 -61 -62 -62 -63 -63 -62 -60 -56 -54 -53 -53 -54 -56 -58 -59 -57 -56 -56 -59 -62 -65 -67 -68 -69 -71 -71 -69 -67 -68 -69 -71 -72 -72 -73 -74 -75 -78 -82 -85 -84 -82 -78 -77 -80 -83 -84 -81 -75 -76 -81 -87 -89 -80 -70 -65 -68 -73 -71 -68 -67 -67 -71 -72 -72 -72 -71 -71 -70 -68 -67 -66 -65 -63 -64 -67 -70 -72 -73 -73 -73 -73 -75 -78 -80 -81 -82 -81 -78 -77 -77 -78 -81 -84 -88 -93 -97 -100 -102 -103 -104 -104 -105 -105 -105 -106 -105 -105 -106 -106 -107 -106 -106 -107 -109 -110 -108 -107 -107 -106 -104 -99 -93 -92 -94 -96 -96 -94 -93 -91 -88 -80 -74 -70 -68 -66 -64 -65 -66 -67 -67 -64 -62 -61 -60 -59 -58 -58 -60 -61 -61 -59 -58 -56 -55 -54 -54 -54 -55 -56 -57 -59 -60 -59 -58 -56 -56 -55 -55 -55 -54 -54 -54 -53 -52 -50 -50 -50 -50 -50 -49 -48 -48 -49 -48 -48 -47 -45 -44 -42 -42 -42 -42 -42 -39 -29 -24 -22 -22 -21 -19 -17 -15 -13 -11 -11 -17 -25 -22 -25 -26 -25 -24 -23 -23 -24 -28 -34 -36 -33 -27 -20 -17 -21 -26 -30 -31 -34 -41 -45 -43 -32 -20 -24 -34 -46 -51 -47 -41 -39 -43 -51 -45 -40 -42 -49 -53 -46 -31 -16 -8 -9 -6 -4 -5 -9 -13 -17 -21 -25 -28 -29 -30 -32 -35 -37 -39 -36 -33 -32 -35 -35 -29 -25 -23 -26 -30 -33 -34 -34 -35 -39 -40 -42 -44 -44 -43 -41 -41 -42 -44 -46 -47 -48 -49 -50 -52 -53 -55 -56 -57 -58 -60 -60 -61 -62 -62 -59 -57 -57 -57 -56 -54 -54 -56 -56 -50 -43 -41 -43 -46 -44 -41 -41 -43 -46 -47 -48 -50 -52 -52 -47 -48 -53 -60 -65 -61 -57 -55 -56 -60 -61 -58 -52 -46 -44 -49 -56 -60 -58 -51 -44 -41 -40 -40 -39 -38 -39 -42 -47 -53 -55 -54 -51 -50 -50 -50 -50 -49 -48 -50 -52 -52 -52 -51 -52 -53 -54 -55 -56 -57 -58 -59 -61 -62 -64 -65 -66 -67 -69 -72 -71 -69 -69 -71 -75 -76 -77 -78 -78 -79 -78 -76 -75 -74 -74 -72 -69 -66 -65 -65 -65 -63 -62 -62 -61 -60 -58 -57 -56 -55 -54 -54 -54 -54 -56 -57 -56 -55 -54 -55 -57 -60 -63 -66 -67 -67 -68 -67 -64 -60 -61 -65 -71 -76 -79 -80 -80 -79 -80 -84 -87 -86 -83 -80 -79 -81 -82 -81 -74 -66 -67 -75 -85 -88 -80 -71 -68 -71 -73 -71 -69 -68 -68 -68 -68 -69 -69 -70 -70 -69 -68 -66 -63 -62 -63 -66 -70 -73 -74 -74 -75 -76 -77 -79 -80 -81 -81 -82 -80 -79 -78 -80 -83 -85 -89 -93 -97 -101 -103 -105 -106 -106 -107 -108 -108 -109 -108 -108 -108 -109 -109 -110 -109 -109 -110 -112 -113 -111 -109 -107 -105 -103 -97 -91 -94 -100 -101 -97 -94 -92 -90 -86 -78 -74 -71 -69 -67 -66 -66 -66 -67 -67 -64 -63 -62 -61 -59 -59 -59 -60 -61 -62 -61 -60 -58 -56 -55 -55 -56 -56 -57 -58 -59 -60 -59 -58 -57 -56 -55 -55 -55 -54 -54 -54 -53 -51 -49 -48 -48 -48 -47 -46 -46 -46 -46 -46 -45 -44 -45 -44 -43 -42 -42 -42 -42 -41 -36 -30 -27 -26 -28 -23 -20 -17 -15 -13 -11 -11 -16 -20 -26 -31 -35 -37 -36 -34 -31 -29 -31 -32 -32 -31 -32 -31 -33 -35 -36 -36 -39 -46 -47 -39 -24 -16 -27 -41 -50 -48 -40 -34 -34 -40 -49 -40 -34 -37 -45 -46 -36 -20 -7 -2 -5 -5 -8 -11 -14 -15 -16 -20 -25 -29 -33 -37 -41 -43 -43 -40 -32 -29 -29 -30 -23 -15 -14 -19 -26 -32 -35 -36 -37 -39 -41 -42 -44 -44 -43 -40 -40 -42 -45 -46 -47 -48 -49 -50 -51 -52 -54 -56 -56 -57 -57 -59 -61 -63 -63 -62 -60 -56 -53 -51 -50 -48 -48 -48 -46 -39 -37 -39 -44 -48 -48 -44 -42 -42 -46 -50 -53 -54 -53 -49 -46 -51 -58 -63 -61 -54 -52 -55 -60 -64 -58 -51 -46 -46 -48 -53 -57 -59 -57 -51 -46 -42 -40 -39 -40 -40 -42 -44 -48 -51 -52 -53 -53 -53 -52 -50 -48 -48 -48 -49 -50 -51 -52 -53 -53 -54 -55 -56 -57 -57 -58 -59 -60 -62 -64 -66 -67 -67 -67 -70 -73 -73 -72 -72 -74 -76 -78 -78 -79 -79 -78 -76 -74 -74 -75 -73 -70 -67 -67 -67 -67 -65 -63 -61 -59 -57 -56 -55 -56 -55 -56 -57 -58 -57 -56 -56 -55 -54 -53 -54 -56 -59 -62 -65 -66 -66 -65 -64 -62 -58 -60 -65 -72 -78 -81 -83 -83 -82 -82 -83 -84 -84 -81 -79 -79 -80 -80 -80 -76 -70 -69 -73 -80 -84 -78 -73 -72 -76 -76 -73 -71 -69 -68 -66 -66 -66 -67 -68 -69 -68 -67 -65 -64 -63 -64 -67 -71 -73 -72 -73 -76 -79 -82 -83 -83 -82 -82 -82 -82 -81 -82 -84 -87 -90 -93 -97 -101 -104 -106 -107 -108 -109 -110 -111 -111 -111 -110 -110 -110 -111 -111 -111 -111 -111 -112 -113 -114 -113 -110 -107 -103 -101 -97 -94 -97 -101 -100 -96 -94 -93 -91 -86 -79 -75 -73 -72 -70 -68 -67 -66 -65 -64 -64 -64 -64 -63 -61 -61 -60 -61 -61 -62 -61 -60 -59 -57 -57 -58 -58 -58 -58 -59 -60 -60 -59 -58 -57 -56 -55 -55 -55 -54 -54 -53 -51 -50 -46 -44 -44 -44 -43 -43 -43 -44 -44 -45 -44 -41 -40 -41 -40 -42 -42 -42 -42 -42 -41 -37 -33 -32 -34 -28 -23 -20 -17 -15 -13 -11 -11 -20 -26 -32 -38 -43 -43 -41 -38 -36 -35 -34 -35 -38 -41 -44 -46 -47 -47 -47 -48 -50 -45 -34 -19 -16 -30 -42 -45 -37 -30 -28 -32 -41 -48 -36 -31 -34 -37 -32 -17 -7 -3 -6 -13 -19 -24 -25 -23 -19 -22 -29 -34 -38 -39 -42 -43 -43 -39 -32 -25 -25 -25 -20 -11 -9 -16 -25 -33 -37 -38 -40 -41 -43 -44 -43 -44 -43 -42 -42 -44 -46 -48 -49 -49 -48 -48 -49 -51 -54 -55 -55 -56 -55 -56 -58 -60 -61 -59 -57 -58 -56 -50 -45 -42 -42 -44 -44 -43 -39 -38 -40 -44 -48 -49 -45 -43 -44 -48 -54 -58 -57 -53 -46 -47 -55 -61 -61 -55 -51 -54 -61 -65 -63 -52 -46 -45 -50 -55 -57 -58 -59 -57 -54 -49 -44 -40 -39 -41 -42 -44 -46 -49 -50 -50 -52 -54 -55 -53 -50 -49 -49 -50 -50 -49 -49 -50 -53 -54 -56 -57 -58 -59 -58 -58 -60 -63 -65 -66 -66 -67 -66 -66 -67 -70 -71 -72 -73 -75 -77 -78 -79 -79 -79 -78 -76 -74 -74 -75 -74 -72 -69 -68 -69 -68 -66 -63 -61 -58 -56 -55 -55 -57 -57 -58 -59 -59 -58 -56 -55 -55 -55 -54 -55 -56 -59 -61 -64 -65 -64 -63 -63 -65 -65 -67 -70 -74 -77 -79 -81 -82 -83 -83 -84 -84 -82 -79 -76 -76 -76 -77 -78 -78 -78 -79 -81 -84 -83 -79 -75 -74 -77 -76 -74 -71 -70 -67 -66 -65 -64 -65 -67 -68 -67 -66 -65 -65 -65 -66 -67 -69 -71 -72 -73 -77 -81 -86 -86 -85 -84 -84 -84 -84 -85 -86 -88 -91 -93 -97 -100 -103 -105 -107 -109 -111 -112 -114 -114 -113 -112 -112 -112 -112 -112 -112 -113 -113 -114 -115 -115 -114 -113 -109 -105 -101 -99 -99 -100 -101 -101 -98 -95 -95 -94 -92 -88 -82 -79 -76 -75 -74 -72 -70 -69 -67 -67 -68 -69 -68 -66 -63 -63 -62 -62 -62 -62 -61 -60 -59 -59 -60 -61 -62 -62 -61 -61 -62 -61 -61 -59 -57 -56 -56 -56 -56 -55 -54 -52 -49 -48 -43 -42 -43 -43 -42 -43 -43 -44 -46 -47 -47 -44 -40 -35 -32 -36 -40 -42 -43 -41 -41 -40 -39 -38 -39 -33 -28 -23 -19 -16 -15 -13 -12 -20 -26 -31 -34 -36 -37 -37 -36 -35 -31 -31 -35 -39 -42 -46 -50 -50 -50 -51 -52 -49 -41 -29 -17 -17 -29 -36 -35 -27 -20 -23 -32 -41 -44 -32 -27 -26 -23 -9 1 -4 -14 -25 -34 -39 -43 -43 -42 -41 -43 -46 -48 -50 -50 -47 -41 -32 -24 -16 -15 -17 -16 -13 -14 -20 -27 -34 -39 -39 -39 -40 -41 -42 -44 -44 -44 -45 -47 -49 -50 -52 -52 -52 -50 -48 -48 -48 -50 -52 -52 -53 -54 -54 -55 -57 -58 -55 -49 -47 -49 -47 -42 -39 -42 -46 -47 -45 -41 -39 -39 -41 -44 -46 -46 -45 -45 -48 -52 -55 -55 -52 -46 -43 -49 -56 -59 -57 -53 -55 -61 -66 -67 -59 -48 -46 -50 -55 -59 -60 -61 -60 -60 -58 -52 -45 -41 -40 -42 -43 -45 -47 -49 -50 -51 -53 -55 -56 -53 -51 -50 -51 -52 -51 -50 -50 -50 -53 -55 -57 -59 -59 -59 -59 -60 -62 -63 -65 -66 -66 -66 -66 -67 -69 -71 -71 -71 -72 -75 -78 -80 -80 -81 -80 -77 -74 -73 -73 -75 -75 -73 -71 -69 -69 -67 -66 -64 -61 -57 -55 -54 -55 -58 -60 -61 -61 -61 -60 -58 -56 -56 -55 -55 -55 -57 -59 -62 -64 -66 -66 -65 -65 -67 -69 -71 -73 -74 -76 -77 -79 -80 -82 -85 -87 -86 -82 -77 -74 -73 -73 -74 -76 -77 -78 -80 -81 -82 -82 -81 -80 -79 -78 -76 -73 -71 -70 -68 -66 -64 -63 -63 -66 -66 -66 -66 -66 -67 -67 -67 -68 -68 -69 -72 -76 -81 -85 -86 -86 -87 -88 -88 -88 -87 -88 -90 -92 -94 -97 -100 -103 -105 -107 -110 -113 -115 -116 -116 -116 -115 -114 -114 -114 -114 -114 -114 -115 -117 -117 -117 -116 -114 -111 -108 -104 -101 -100 -100 -100 -101 -100 -98 -96 -95 -94 -93 -90 -86 -82 -80 -79 -78 -76 -74 -72 -71 -70 -71 -71 -70 -68 -65 -64 -64 -63 -63 -63 -62 -61 -60 -61 -63 -64 -64 -64 -63 -63 -63 -64 -63 -62 -59 -58 -57 -57 -57 -56 -54 -50 -46 -47 -46 -47 -48 -48 -46 -46 -46 -47 -49 -50 -50 -47 -43 -37 -31 -30 -33 -38 -42 -41 -37 -37 -40 -40 -40 -37 -33 -28 -22 -19 -17 -15 -13 -17 -22 -26 -27 -27 -28 -29 -29 -27 -23 -26 -32 -37 -39 -42 -45 -43 -42 -44 -47 -44 -36 -25 -16 -18 -24 -27 -26 -21 -17 -21 -29 -34 -31 -22 -16 -12 -7 -1 -4 -16 -27 -36 -42 -45 -48 -50 -50 -50 -49 -50 -51 -51 -50 -43 -30 -18 -11 -9 -12 -16 -19 -23 -30 -35 -39 -42 -43 -40 -39 -40 -41 -43 -44 -45 -46 -47 -49 -52 -54 -54 -54 -54 -52 -51 -50 -50 -50 -49 -50 -51 -52 -52 -55 -59 -57 -51 -44 -43 -46 -45 -43 -42 -45 -49 -49 -45 -40 -39 -40 -42 -43 -42 -43 -44 -46 -50 -53 -52 -50 -47 -44 -43 -48 -52 -54 -54 -56 -62 -67 -67 -61 -52 -49 -51 -54 -56 -57 -55 -54 -54 -55 -55 -51 -47 -45 -45 -45 -44 -44 -45 -49 -53 -54 -55 -55 -54 -52 -50 -51 -52 -54 -54 -53 -52 -52 -53 -55 -57 -58 -58 -58 -59 -62 -63 -64 -65 -65 -64 -64 -65 -68 -72 -73 -73 -72 -74 -77 -79 -80 -81 -82 -80 -78 -75 -74 -74 -75 -74 -72 -71 -69 -69 -68 -66 -63 -59 -55 -53 -53 -55 -58 -61 -62 -62 -62 -61 -59 -58 -57 -56 -55 -55 -56 -58 -61 -65 -67 -67 -67 -66 -68 -70 -71 -71 -71 -72 -74 -76 -78 -81 -84 -86 -85 -81 -77 -74 -73 -73 -74 -76 -77 -77 -77 -77 -78 -81 -83 -83 -80 -77 -74 -72 -71 -70 -69 -67 -64 -63 -62 -64 -65 -66 -66 -67 -69 -69 -69 -69 -68 -68 -72 -79 -86 -89 -88 -88 -90 -92 -93 -91 -90 -91 -93 -95 -97 -99 -102 -105 -108 -111 -114 -116 -118 -119 -118 -117 -117 -117 -117 -117 -116 -117 -117 -119 -121 -120 -119 -116 -113 -110 -107 -104 -102 -102 -101 -100 -100 -99 -98 -97 -95 -94 -93 -91 -88 -85 -83 -82 -81 -78 -76 -75 -74 -71 -71 -71 -70 -68 -67 -66 -65 -64 -63 -64 -63 -63 -63 -64 -66 -66 -66 -65 -65 -65 -65 -65 -65 -64 -61 -60 -58 -58 -58 -57 -53 -49 -46 -49 -50 -50 -50 -49 -48 -48 -48 -49 -49 -50 -49 -48 -45 -41 -36 -32 -30 -32 -38 -39 -33 -30 -35 -36 -36 -38 -38 -34 -28 -23 -20 -18 -16 -14 -18 -21 -21 -21 -23 -25 -24 -23 -23 -28 -34 -39 -44 -46 -42 -38 -39 -43 -46 -41 -31 -22 -19 -25 -29 -30 -29 -27 -25 -25 -26 -28 -30 -30 -23 -15 -9 -7 -9 -16 -22 -26 -28 -31 -36 -39 -39 -36 -34 -36 -40 -45 -46 -36 -20 -9 -6 -9 -16 -23 -30 -35 -41 -44 -46 -46 -44 -39 -38 -40 -42 -44 -46 -47 -49 -50 -51 -53 -55 -56 -56 -55 -54 -55 -55 -54 -53 -51 -51 -52 -53 -55 -59 -61 -58 -52 -44 -44 -46 -46 -45 -45 -49 -51 -49 -44 -40 -42 -43 -43 -41 -40 -43 -45 -49 -52 -53 -52 -50 -48 -46 -45 -47 -48 -51 -54 -60 -67 -68 -63 -54 -49 -54 -57 -57 -55 -52 -51 -53 -56 -58 -57 -55 -51 -47 -44 -43 -41 -41 -43 -47 -51 -54 -55 -54 -53 -51 -51 -53 -55 -58 -59 -58 -56 -54 -54 -54 -54 -55 -56 -58 -61 -64 -66 -66 -65 -64 -64 -64 -66 -70 -72 -73 -73 -73 -75 -78 -79 -80 -81 -81 -80 -78 -76 -74 -74 -74 -73 -71 -70 -69 -70 -69 -68 -64 -59 -55 -53 -53 -55 -58 -58 -58 -58 -59 -59 -59 -58 -57 -56 -55 -54 -55 -57 -60 -64 -66 -67 -67 -67 -68 -69 -71 -72 -71 -72 -73 -75 -77 -79 -80 -81 -82 -80 -78 -75 -74 -74 -75 -77 -77 -76 -74 -74 -75 -79 -82 -83 -80 -76 -74 -72 -71 -70 -69 -66 -64 -62 -60 -60 -60 -62 -64 -67 -70 -71 -71 -69 -68 -69 -75 -82 -88 -88 -87 -89 -90 -91 -90 -90 -91 -93 -96 -98 -100 -102 -105 -108 -111 -115 -118 -120 -121 -120 -119 -119 -120 -121 -121 -120 -120 -120 -121 -123 -124 -123 -120 -116 -113 -110 -108 -106 -104 -104 -102 -100 -99 -98 -97 -97 -96 -94 -92 -90 -89 -87 -85 -84 -83 -80 -79 -77 -76 -72 -71 -70 -70 -70 -69 -68 -67 -66 -65 -65 -65 -65 -66 -67 -67 -67 -67 -67 -67 -67 -67 -66 -66 -65 -62 -60 -58 -59 -59 -58 -54 -49 -49 -52 -52 -52 -51 -49 -47 -47 -47 -47 -48 -48 -47 -46 -44 -43 -40 -36 -33 -31 -33 -35 -32 -27 -28 -29 -31 -35 -38 -39 -34 -29 -25 -22 -19 -17 -19 -20 -19 -18 -19 -21 -23 -25 -30 -37 -43 -48 -50 -46 -37 -34 -36 -40 -38 -31 -24 -22 -26 -37 -46 -47 -44 -43 -43 -39 -34 -31 -31 -35 -35 -32 -28 -22 -16 -18 -23 -26 -25 -23 -24 -24 -24 -22 -24 -29 -35 -42 -47 -40 -25 -14 -10 -16 -24 -31 -36 -41 -46 -48 -48 -44 -40 -36 -38 -40 -43 -45 -46 -48 -50 -51 -53 -53 -55 -57 -57 -56 -56 -57 -58 -58 -57 -55 -56 -56 -57 -59 -61 -61 -59 -55 -48 -45 -45 -46 -47 -49 -52 -52 -48 -43 -43 -46 -47 -45 -43 -44 -48 -50 -53 -56 -58 -57 -56 -54 -51 -49 -47 -48 -52 -56 -62 -66 -63 -57 -52 -53 -59 -61 -61 -59 -56 -55 -55 -57 -58 -57 -56 -53 -50 -47 -45 -43 -42 -44 -48 -51 -53 -53 -53 -52 -53 -55 -56 -58 -59 -61 -61 -59 -55 -53 -53 -53 -54 -55 -58 -64 -68 -69 -67 -65 -64 -65 -66 -68 -71 -72 -72 -73 -74 -77 -78 -79 -79 -80 -80 -79 -77 -75 -73 -73 -72 -71 -70 -69 -69 -70 -71 -69 -65 -59 -55 -52 -51 -51 -51 -52 -53 -54 -55 -56 -56 -56 -56 -55 -54 -54 -55 -57 -60 -63 -65 -66 -66 -66 -68 -69 -70 -71 -71 -71 -73 -75 -77 -78 -78 -80 -81 -82 -79 -75 -74 -75 -76 -78 -77 -74 -73 -73 -74 -76 -79 -81 -80 -77 -76 -73 -72 -70 -69 -67 -64 -61 -59 -59 -59 -61 -63 -67 -71 -72 -71 -69 -69 -72 -79 -84 -87 -86 -86 -88 -90 -89 -88 -89 -92 -96 -99 -102 -103 -105 -107 -110 -114 -119 -122 -123 -122 -121 -120 -121 -123 -124 -125 -124 -125 -125 -125 -126 -126 -124 -120 -115 -112 -111 -109 -107 -106 -105 -102 -100 -99 -98 -97 -96 -95 -93 -91 -90 -88 -87 -86 -85 -83 -82 -81 -80 -77 -74 -72 -71 -71 -71 -72 -71 -69 -68 -67 -67 -66 -66 -67 -69 -69 -69 -69 -69 -69 -68 -68 -68 -68 -65 -59 -55 -54 -59 -59 -59 -56 -51 -51 -53 -53 -52 -51 -48 -47 -46 -46 -47 -47 -47 -46 -44 -43 -42 -41 -40 -37 -34 -31 -31 -30 -28 -28 -30 -33 -36 -38 -41 -39 -35 -31 -29 -25 -23 -23 -21 -18 -14 -15 -20 -26 -32 -38 -46 -49 -49 -45 -40 -32 -29 -28 -29 -28 -28 -28 -29 -30 -36 -46 -52 -54 -55 -52 -47 -43 -40 -35 -33 -38 -43 -44 -39 -30 -28 -31 -35 -34 -28 -24 -21 -19 -18 -24 -31 -37 -43 -49 -49 -40 -29 -21 -22 -29 -34 -38 -41 -46 -46 -43 -38 -33 -31 -35 -39 -41 -43 -45 -47 -49 -51 -53 -54 -55 -57 -58 -57 -57 -59 -60 -61 -61 -60 -60 -60 -60 -60 -60 -59 -58 -56 -51 -44 -44 -47 -49 -51 -53 -51 -48 -47 -49 -52 -52 -50 -49 -51 -55 -57 -59 -61 -64 -63 -62 -60 -57 -53 -51 -52 -54 -56 -59 -58 -55 -53 -55 -59 -63 -63 -62 -60 -59 -58 -58 -58 -58 -57 -56 -54 -51 -50 -48 -44 -43 -45 -49 -53 -54 -54 -54 -55 -57 -59 -60 -60 -61 -63 -62 -59 -56 -54 -53 -53 -53 -55 -60 -66 -69 -69 -66 -63 -63 -65 -68 -71 -73 -72 -73 -74 -75 -77 -78 -79 -79 -80 -80 -78 -76 -74 -73 -71 -70 -70 -69 -68 -68 -70 -71 -70 -66 -61 -56 -52 -49 -47 -48 -50 -52 -54 -56 -58 -57 -56 -56 -55 -55 -55 -56 -58 -61 -63 -65 -65 -65 -66 -68 -69 -70 -69 -70 -71 -73 -75 -76 -77 -78 -79 -80 -81 -79 -76 -75 -75 -77 -78 -74 -72 -72 -74 -75 -76 -78 -80 -81 -80 -78 -75 -73 -71 -70 -67 -64 -60 -58 -58 -59 -61 -64 -68 -71 -71 -69 -69 -72 -77 -82 -86 -86 -85 -86 -88 -89 -89 -89 -93 -97 -101 -103 -105 -106 -108 -110 -114 -118 -123 -125 -125 -123 -121 -122 -124 -126 -128 -129 -129 -129 -129 -128 -128 -128 -125 -119 -114 -113 -111 -110 -108 -106 -104 -103 -101 -99 -98 -97 -96 -94 -93 -91 -90 -88 -85 -83 -83 -83 -83 -82 -81 -78 -75 -73 -73 -73 -73 -73 -72 -71 -70 -70 -70 -69 -68 -69 -70 -71 -71 -70 -70 -70 -70 -70 -69 -69 -66 -57 -49 -47 -52 -55 -58 -58 -52 -52 -52 -52 -52 -51 -49 -47 -46 -46 -47 -46 -46 -45 -43 -42 -40 -40 -40 -38 -35 -32 -31 -30 -30 -30 -34 -38 -41 -42 -41 -40 -38 -37 -35 -31 -31 -26 -20 -15 -13 -15 -19 -27 -35 -44 -48 -47 -42 -37 -32 -30 -30 -29 -28 -25 -27 -34 -39 -41 -41 -47 -53 -58 -59 -56 -52 -52 -50 -45 -39 -40 -46 -51 -51 -46 -42 -43 -46 -47 -42 -36 -29 -23 -20 -29 -37 -42 -45 -50 -53 -52 -44 -33 -26 -28 -30 -34 -39 -42 -42 -39 -35 -32 -30 -32 -35 -38 -42 -45 -47 -49 -51 -53 -55 -57 -58 -59 -59 -59 -60 -62 -63 -63 -60 -59 -59 -59 -58 -57 -56 -56 -55 -50 -44 -44 -48 -52 -52 -53 -52 -52 -54 -56 -58 -58 -57 -57 -59 -61 -61 -63 -65 -67 -66 -64 -62 -60 -57 -56 -57 -58 -57 -56 -52 -51 -54 -59 -64 -65 -63 -61 -60 -60 -59 -59 -59 -58 -55 -55 -55 -55 -54 -51 -47 -45 -46 -50 -53 -54 -55 -57 -59 -61 -62 -62 -63 -64 -65 -65 -64 -62 -59 -56 -54 -55 -58 -63 -67 -68 -66 -63 -62 -63 -66 -69 -71 -72 -72 -72 -74 -75 -78 -78 -79 -79 -79 -79 -78 -76 -75 -73 -70 -69 -68 -67 -67 -68 -70 -71 -70 -67 -62 -57 -52 -48 -46 -47 -50 -53 -55 -57 -57 -57 -56 -55 -55 -55 -56 -57 -59 -61 -64 -65 -64 -64 -65 -68 -70 -70 -69 -69 -71 -73 -76 -77 -78 -78 -78 -79 -79 -78 -75 -74 -75 -77 -76 -73 -72 -74 -79 -79 -77 -77 -79 -82 -81 -79 -77 -74 -73 -71 -69 -65 -61 -58 -58 -59 -62 -65 -68 -69 -69 -69 -70 -75 -81 -85 -86 -87 -86 -86 -87 -89 -90 -94 -101 -105 -107 -108 -108 -110 -112 -114 -118 -123 -125 -126 -125 -123 -123 -125 -127 -129 -131 -132 -133 -133 -132 -131 -130 -128 -124 -118 -114 -112 -111 -110 -107 -105 -105 -104 -102 -100 -98 -97 -96 -95 -92 -91 -89 -87 -85 -82 -82 -82 -82 -82 -80 -77 -75 -74 -75 -75 -74 -74 -74 -72 -72 -73 -72 -72 -71 -70 -71 -72 -72 -72 -71 -71 -71 -71 -70 -70 -67 -58 -48 -44 -45 -46 -51 -55 -54 -52 -52 -52 -52 -51 -49 -47 -47 -47 -47 -46 -45 -44 -42 -40 -39 -38 -38 -37 -34 -32 -32 -33 -34 -35 -38 -41 -43 -42 -41 -40 -39 -38 -37 -36 -36 -30 -22 -14 -13 -16 -19 -23 -31 -39 -43 -41 -36 -31 -29 -32 -34 -36 -36 -34 -34 -40 -46 -51 -51 -51 -52 -54 -55 -53 -52 -53 -52 -51 -48 -46 -47 -50 -53 -54 -54 -54 -55 -56 -54 -51 -42 -31 -24 -32 -40 -44 -45 -46 -50 -52 -50 -44 -35 -23 -18 -20 -27 -35 -41 -45 -46 -44 -39 -36 -36 -39 -43 -47 -51 -55 -56 -57 -57 -59 -61 -63 -62 -62 -61 -61 -62 -62 -59 -57 -57 -57 -56 -54 -54 -54 -52 -49 -45 -45 -49 -53 -53 -54 -56 -58 -60 -61 -62 -62 -62 -62 -63 -63 -63 -64 -66 -68 -68 -67 -65 -63 -61 -61 -62 -63 -62 -58 -54 -54 -58 -63 -65 -63 -61 -60 -59 -59 -58 -57 -56 -54 -52 -53 -57 -59 -59 -55 -51 -48 -48 -49 -53 -55 -57 -60 -62 -64 -65 -65 -65 -65 -66 -67 -66 -65 -63 -61 -59 -59 -61 -64 -66 -65 -65 -64 -64 -64 -66 -69 -71 -72 -72 -73 -75 -76 -78 -78 -79 -79 -78 -78 -77 -75 -74 -72 -70 -68 -67 -67 -67 -67 -69 -69 -69 -67 -62 -57 -52 -48 -48 -50 -52 -53 -55 -57 -55 -54 -53 -54 -55 -55 -56 -56 -58 -60 -62 -63 -64 -64 -64 -67 -69 -70 -69 -69 -70 -73 -76 -79 -79 -77 -77 -78 -78 -77 -75 -74 -74 -75 -75 -72 -72 -75 -80 -81 -78 -76 -76 -79 -79 -79 -78 -76 -74 -73 -70 -67 -63 -59 -58 -60 -64 -67 -70 -70 -70 -71 -74 -80 -84 -86 -86 -87 -88 -89 -89 -90 -93 -100 -106 -110 -111 -111 -111 -113 -116 -120 -124 -127 -127 -126 -126 -126 -127 -129 -130 -132 -133 -136 -137 -137 -135 -132 -130 -127 -122 -117 -113 -112 -112 -111 -107 -104 -105 -105 -104 -102 -100 -99 -98 -96 -93 -91 -89 -86 -84 -82 -81 -81 -80 -79 -78 -77 -75 -75 -75 -75 -76 -76 -76 -75 -74 -74 -73 -73 -73 -72 -72 -72 -73 -73 -73 -72 -72 -72 -71 -70 -68 -61 -50 -46 -43 -43 -46 -52 -58 -56 -53 -51 -51 -50 -49 -48 -47 -48 -47 -46 -45 -43 -41 -38 -37 -36 -36 -36 -33 -33 -36 -39 -40 -41 -42 -43 -43 -42 -41 -40 -40 -38 -37 -36 -38 -32 -22 -15 -15 -17 -18 -21 -26 -32 -35 -32 -27 -24 -26 -32 -36 -39 -41 -43 -44 -46 -49 -52 -53 -50 -45 -43 -44 -46 -45 -45 -44 -44 -46 -48 -48 -47 -48 -51 -54 -57 -60 -61 -59 -58 -52 -43 -33 -33 -38 -40 -40 -39 -43 -46 -48 -48 -48 -39 -28 -23 -27 -36 -42 -47 -52 -54 -52 -49 -46 -46 -48 -52 -56 -58 -59 -60 -61 -61 -62 -62 -62 -61 -60 -60 -60 -59 -54 -54 -56 -56 -54 -54 -54 -54 -53 -53 -48 -47 -51 -55 -57 -57 -60 -62 -63 -62 -63 -63 -64 -65 -66 -66 -66 -66 -67 -69 -69 -68 -67 -65 -64 -64 -66 -68 -67 -61 -56 -56 -60 -64 -62 -59 -60 -61 -59 -55 -52 -51 -50 -49 -49 -53 -58 -61 -61 -59 -56 -52 -49 -49 -52 -55 -58 -61 -64 -66 -66 -66 -66 -67 -67 -67 -66 -66 -65 -63 -63 -63 -65 -65 -65 -64 -65 -65 -65 -65 -66 -68 -69 -71 -72 -73 -75 -76 -77 -78 -78 -78 -77 -77 -76 -74 -73 -71 -69 -68 -67 -67 -66 -65 -65 -66 -66 -66 -62 -57 -53 -51 -52 -53 -54 -55 -56 -56 -54 -52 -52 -54 -55 -55 -55 -56 -58 -59 -60 -62 -63 -64 -64 -65 -67 -68 -68 -68 -69 -72 -76 -79 -78 -77 -77 -77 -78 -77 -75 -74 -73 -74 -75 -74 -73 -74 -78 -79 -76 -74 -74 -77 -79 -80 -80 -78 -76 -75 -73 -69 -64 -61 -61 -63 -66 -69 -71 -71 -72 -74 -77 -82 -85 -86 -87 -89 -91 -90 -89 -91 -96 -103 -108 -111 -112 -112 -113 -115 -120 -124 -128 -129 -128 -127 -127 -128 -130 -132 -133 -135 -137 -139 -140 -140 -137 -133 -129 -125 -120 -116 -113 -111 -111 -111 -108 -107 -108 -107 -105 -103 -102 -101 -99 -97 -93 -90 -88 -85 -83 -82 -80 -79 -77 -76 -75 -74 -74 -75 -75 -76 -76 -77 -79 -78 -76 -74 -74 -74 -74 -73 -73 -73 -74 -74 -74 -74 -74 -73 -72 -71 -69 -63 -53 -48 -45 -44 -45 -50 -60 -60 -57 -53 -50 -50 -49 -48 -48 -49 -48 -47 -45 -43 -40 -37 -35 -36 -40 -40 -39 -40 -42 -46 -46 -46 -45 -44 -43 -42 -41 -41 -40 -40 -38 -37 -38 -32 -24 -18 -17 -17 -17 -20 -26 -32 -31 -26 -21 -19 -23 -30 -35 -39 -42 -46 -48 -47 -45 -44 -43 -39 -35 -34 -36 -40 -38 -37 -36 -36 -39 -43 -42 -41 -41 -41 -42 -45 -50 -56 -59 -61 -59 -53 -47 -44 -45 -46 -45 -44 -46 -46 -47 -49 -53 -51 -43 -34 -30 -31 -35 -41 -48 -55 -58 -58 -57 -57 -58 -61 -60 -60 -60 -61 -61 -61 -62 -62 -60 -58 -58 -57 -55 -52 -51 -55 -57 -57 -55 -54 -53 -54 -55 -54 -52 -51 -53 -56 -58 -59 -61 -63 -65 -64 -64 -65 -66 -67 -68 -68 -67 -67 -68 -69 -70 -70 -69 -68 -67 -67 -67 -68 -68 -65 -60 -58 -58 -59 -57 -57 -58 -57 -52 -47 -47 -49 -51 -52 -53 -56 -60 -64 -64 -61 -58 -55 -51 -48 -49 -53 -57 -61 -65 -66 -66 -67 -68 -68 -66 -65 -64 -64 -63 -61 -62 -64 -65 -64 -62 -63 -64 -65 -65 -65 -65 -66 -68 -70 -71 -73 -75 -76 -77 -77 -77 -77 -76 -75 -75 -74 -72 -71 -69 -69 -68 -66 -64 -61 -62 -63 -64 -64 -61 -58 -55 -54 -55 -55 -56 -56 -57 -55 -54 -53 -53 -55 -55 -55 -54 -55 -56 -57 -58 -60 -62 -63 -64 -64 -65 -67 -68 -68 -69 -71 -74 -76 -76 -75 -76 -77 -77 -76 -75 -73 -72 -73 -75 -74 -73 -73 -76 -77 -76 -75 -76 -77 -76 -76 -75 -76 -78 -79 -77 -73 -68 -65 -65 -67 -69 -70 -71 -72 -74 -76 -80 -83 -84 -86 -87 -90 -91 -91 -92 -94 -100 -107 -111 -112 -112 -113 -114 -118 -123 -128 -131 -130 -128 -128 -129 -132 -134 -136 -138 -140 -141 -143 -143 -141 -137 -132 -127 -123 -118 -115 -113 -111 -110 -110 -109 -110 -110 -109 -107 -105 -104 -102 -99 -96 -93 -90 -87 -84 -82 -81 -80 -78 -76 -74 -73 -74 -74 -75 -75 -75 -76 -78 -80 -79 -76 -75 -74 -74 -74 -73 -74 -75 -76 -75 -75 -75 -75 -73 -72 -72 -70 -66 -56 -51 -48 -46 -47 -50 -60 -62 -60 -57 -53 -50 -48 -48 -49 -50 -49 -47 -45 -42 -40 -37 -36 -40 -48 -49 -49 -49 -49 -49 -48 -47 -46 -45 -44 -43 -42 -42 -41 -41 -40 -39 -37 -33 -26 -20 -17 -15 -15 -21 -29 -38 -36 -26 -18 -17 -23 -32 -37 -40 -42 -44 -41 -37 -35 -37 -39 -34 -31 -33 -38 -38 -35 -33 -33 -35 -42 -43 -40 -38 -37 -34 -31 -31 -36 -43 -49 -55 -58 -57 -54 -53 -55 -56 -56 -56 -56 -55 -54 -55 -56 -54 -51 -45 -38 -30 -32 -38 -44 -49 -53 -59 -63 -64 -64 -64 -62 -62 -62 -62 -59 -59 -60 -60 -57 -55 -55 -54 -52 -51 -53 -58 -60 -58 -56 -53 -53 -55 -56 -56 -55 -54 -54 -55 -56 -59 -61 -63 -64 -65 -65 -66 -67 -68 -69 -69 -69 -68 -68 -68 -70 -70 -70 -69 -69 -69 -69 -68 -65 -63 -63 -62 -61 -61 -61 -58 -55 -52 -48 -49 -49 -49 -49 -52 -57 -62 -65 -64 -59 -53 -51 -51 -50 -48 -50 -54 -58 -62 -65 -65 -66 -68 -69 -66 -63 -62 -62 -61 -59 -59 -60 -61 -60 -59 -59 -61 -63 -64 -63 -63 -63 -65 -67 -69 -70 -72 -73 -75 -75 -76 -76 -76 -75 -74 -73 -72 -71 -71 -70 -68 -67 -64 -61 -60 -60 -62 -64 -65 -62 -59 -57 -56 -56 -55 -56 -56 -56 -55 -54 -54 -54 -54 -54 -54 -53 -53 -53 -55 -57 -59 -60 -62 -63 -63 -64 -65 -66 -67 -68 -69 -71 -72 -72 -73 -74 -76 -76 -75 -74 -73 -72 -73 -74 -73 -73 -73 -75 -75 -75 -74 -73 -74 -73 -72 -72 -73 -76 -79 -81 -80 -76 -72 -70 -70 -70 -69 -71 -72 -75 -78 -81 -82 -84 -86 -88 -91 -92 -93 -95 -98 -104 -111 -114 -114 -112 -113 -116 -121 -126 -131 -131 -130 -129 -130 -132 -135 -138 -140 -143 -145 -146 -146 -145 -142 -137 -131 -125 -120 -117 -115 -113 -112 -110 -109 -109 -111 -112 -112 -110 -107 -105 -102 -99 -97 -93 -89 -86 -84 -82 -81 -80 -78 -76 -73 -73 -74 -75 -76 -75 -74 -75 -77 -80 -79 -77 -75 -74 -74 -73 -74 -75 -76 -76 -75 -76 -76 -75 -74 -73 -72 -72 -69 -62 -55 -51 -49 -49 -52 -59 -61 -61 -59 -56 -51 -47 -46 -48 -50 -50 -48 -45 -42 -40 -39 -41 -44 -53 -53 -53 -52 -52 -50 -48 -47 -47 -46 -45 -44 -43 -42 -42 -41 -41 -40 -36 -31 -25 -18 -13 -10 -12 -19 -30 -42 -43 -29 -18 -16 -24 -33 -37 -37 -37 -38 -36 -33 -34 -36 -36 -30 -30 -33 -36 -33 -28 -28 -34 -42 -49 -41 -34 -32 -33 -32 -29 -29 -32 -36 -42 -50 -56 -59 -58 -58 -60 -62 -63 -63 -62 -62 -62 -61 -60 -58 -56 -54 -49 -40 -39 -42 -46 -47 -50 -57 -63 -65 -65 -66 -65 -65 -65 -63 -58 -57 -58 -57 -55 -53 -55 -55 -54 -54 -57 -60 -61 -59 -58 -54 -54 -57 -59 -58 -56 -55 -53 -53 -55 -58 -60 -62 -64 -65 -66 -66 -67 -68 -70 -70 -70 -68 -67 -67 -68 -69 -69 -69 -68 -69 -68 -64 -59 -58 -62 -64 -66 -67 -68 -63 -57 -53 -51 -53 -53 -52 -53 -57 -63 -66 -67 -63 -56 -49 -47 -48 -49 -50 -54 -60 -64 -66 -65 -65 -67 -69 -67 -60 -58 -60 -61 -61 -59 -60 -60 -58 -55 -54 -57 -59 -62 -63 -62 -61 -61 -63 -65 -67 -68 -69 -71 -73 -73 -73 -74 -74 -74 -73 -72 -71 -71 -72 -70 -69 -66 -63 -61 -60 -62 -63 -64 -64 -61 -58 -56 -55 -55 -55 -56 -56 -56 -54 -54 -53 -53 -54 -54 -53 -52 -51 -52 -53 -55 -57 -58 -60 -62 -62 -62 -63 -64 -65 -66 -66 -66 -68 -69 -71 -73 -74 -74 -75 -74 -73 -72 -72 -72 -72 -71 -71 -72 -72 -71 -70 -70 -70 -70 -70 -72 -75 -79 -81 -83 -84 -83 -79 -75 -71 -69 -69 -71 -74 -77 -80 -81 -81 -82 -84 -88 -92 -94 -96 -98 -100 -105 -111 -114 -114 -112 -115 -119 -124 -128 -131 -132 -132 -132 -132 -135 -139 -142 -145 -148 -149 -149 -148 -145 -140 -133 -127 -123 -120 -117 -115 -113 -112 -111 -110 -111 -113 -115 -115 -113 -109 -105 -102 -100 -97 -93 -90 -86 -84 -82 -81 -80 -78 -76 -73 -73 -75 -76 -77 -75 -74 -75 -77 -80 -79 -77 -75 -74 -74 -73 -74 -76 -77 -76 -75 -75 -75 -75 -75 -75 -74 -73 -73 -70 -62 -55 -52 -52 -55 -59 -60 -59 -59 -57 -53 -48 -46 -47 -48 -49 -47 -44 -41 -41 -45 -48 -50 -54 -54 -53 -52 -52 -51 -49 -49 -48 -47 -46 -45 -44 -43 -43 -42 -41 -40 -36 -30 -21 -13 -7 -6 -9 -15 -24 -35 -45 -34 -20 -13 -18 -27 -31 -32 -30 -29 -27 -27 -29 -31 -30 -27 -30 -32 -31 -27 -26 -32 -40 -47 -46 -34 -28 -28 -33 -36 -35 -34 -35 -38 -43 -51 -57 -60 -59 -58 -59 -61 -63 -63 -62 -65 -66 -65 -65 -64 -63 -61 -58 -53 -51 -52 -53 -53 -53 -60 -64 -65 -65 -67 -68 -68 -67 -63 -56 -54 -55 -56 -55 -54 -58 -58 -57 -57 -60 -61 -60 -59 -59 -57 -58 -60 -61 -58 -57 -56 -55 -56 -58 -59 -61 -63 -64 -65 -66 -67 -67 -67 -68 -68 -66 -65 -64 -66 -67 -67 -67 -67 -67 -68 -67 -64 -61 -59 -62 -65 -67 -68 -68 -66 -62 -58 -56 -56 -56 -57 -60 -64 -68 -69 -68 -65 -60 -54 -51 -50 -50 -50 -56 -62 -66 -69 -69 -68 -68 -67 -63 -58 -60 -63 -65 -65 -65 -63 -58 -52 -50 -53 -56 -59 -61 -62 -61 -60 -60 -61 -63 -65 -66 -67 -69 -70 -70 -71 -72 -72 -71 -70 -70 -70 -71 -71 -69 -68 -65 -62 -59 -59 -61 -63 -63 -61 -58 -56 -55 -55 -55 -55 -55 -55 -55 -55 -54 -53 -53 -53 -54 -53 -51 -50 -51 -52 -53 -55 -57 -59 -61 -61 -61 -61 -62 -63 -63 -63 -63 -65 -67 -69 -70 -71 -73 -74 -74 -72 -70 -69 -69 -68 -67 -67 -68 -68 -69 -69 -69 -69 -69 -70 -73 -78 -81 -83 -83 -83 -83 -80 -76 -72 -69 -70 -74 -78 -81 -82 -81 -80 -79 -81 -85 -91 -95 -98 -99 -101 -106 -111 -114 -114 -114 -118 -123 -127 -129 -130 -132 -133 -133 -134 -137 -141 -145 -149 -152 -152 -150 -147 -144 -139 -133 -128 -124 -122 -118 -115 -113 -112 -112 -112 -115 -117 -119 -118 -115 -109 -106 -103 -101 -98 -94 -91 -88 -85 -83 -82 -80 -79 -77 -73 -74 -75 -77 -76 -75 -74 -75 -77 -78 -77 -75 -75 -74 -74 -74 -75 -76 -77 -75 -74 -75 -75 -75 -76 -75 -74 -74 -74 -73 -68 -61 -57 -57 -60 -61 -60 -59 -58 -58 -55 -52 -48 -46 -47 -47 -46 -44 -42 -45 -51 -55 -56 -55 -54 -52 -52 -52 -51 -50 -50 -49 -47 -47 -46 -45 -45 -43 -42 -42 -41 -35 -31 -21 -10 -4 -7 -11 -14 -20 -31 -44 -38 -25 -15 -15 -20 -25 -29 -28 -25 -22 -22 -22 -22 -21 -22 -26 -28 -26 -23 -26 -35 -41 -42 -37 -28 -25 -28 -35 -41 -43 -42 -40 -40 -45 -54 -59 -60 -57 -54 -52 -54 -57 -59 -60 -64 -67 -68 -69 -70 -70 -68 -65 -63 -62 -63 -63 -62 -62 -65 -68 -68 -67 -67 -67 -67 -65 -61 -55 -53 -55 -57 -57 -58 -60 -59 -59 -59 -61 -60 -59 -59 -58 -58 -61 -62 -61 -59 -60 -61 -62 -62 -63 -63 -65 -66 -67 -66 -67 -66 -64 -63 -62 -62 -61 -61 -62 -65 -66 -65 -64 -65 -65 -67 -67 -66 -65 -64 -65 -66 -65 -64 -65 -65 -64 -62 -61 -60 -61 -62 -64 -67 -70 -70 -70 -67 -62 -56 -53 -53 -54 -54 -58 -63 -68 -70 -69 -69 -68 -66 -61 -58 -62 -66 -69 -70 -69 -60 -52 -48 -50 -54 -57 -59 -61 -62 -60 -58 -59 -60 -62 -62 -64 -66 -68 -69 -69 -69 -69 -69 -68 -67 -68 -69 -70 -70 -68 -66 -64 -61 -58 -59 -61 -62 -61 -58 -56 -56 -56 -56 -57 -57 -57 -57 -56 -54 -53 -52 -53 -53 -53 -51 -50 -50 -50 -51 -53 -54 -56 -58 -60 -61 -60 -58 -58 -60 -60 -61 -62 -63 -65 -67 -67 -68 -70 -72 -72 -71 -70 -68 -67 -66 -65 -65 -66 -67 -69 -71 -71 -69 -69 -71 -75 -79 -82 -83 -84 -84 -83 -80 -77 -74 -71 -73 -78 -82 -84 -84 -82 -80 -80 -81 -85 -90 -94 -97 -99 -101 -106 -111 -115 -116 -117 -122 -126 -129 -130 -130 -132 -133 -134 -135 -139 -144 -149 -152 -153 -151 -148 -145 -143 -140 -135 -130 -126 -123 -119 -116 -114 -114 -114 -116 -119 -121 -121 -120 -115 -111 -107 -105 -102 -98 -95 -92 -89 -86 -84 -83 -82 -80 -78 -75 -74 -75 -75 -74 -74 -75 -76 -76 -76 -76 -75 -75 -75 -75 -75 -75 -75 -76 -76 -75 -76 -76 -76 -76 -76 -75 -75 -75 -74 -70 -66 -63 -62 -62 -62 -61 -61 -59 -59 -58 -57 -53 -49 -49 -48 -48 -47 -47 -51 -55 -57 -57 -55 -54 -53 -52 -52 -51 -51 -50 -49 -48 -48 -48 -47 -46 -44 -44 -43 -42 -35 -30 -19 -11 -8 -13 -17 -16 -18 -26 -42 -43 -32 -21 -15 -17 -23 -31 -35 -32 -25 -21 -17 -15 -15 -19 -21 -22 -23 -24 -29 -35 -38 -37 -32 -28 -28 -31 -37 -45 -49 -48 -43 -39 -41 -52 -57 -57 -53 -47 -45 -47 -52 -56 -59 -64 -68 -71 -73 -74 -73 -72 -71 -70 -69 -70 -70 -69 -67 -69 -71 -72 -70 -65 -60 -59 -58 -56 -54 -56 -57 -58 -58 -59 -59 -59 -59 -60 -61 -60 -59 -58 -58 -59 -61 -61 -61 -61 -65 -65 -65 -65 -65 -65 -67 -68 -67 -65 -63 -60 -58 -56 -55 -56 -58 -62 -65 -65 -63 -62 -63 -63 -63 -65 -66 -66 -66 -66 -67 -65 -62 -61 -61 -62 -62 -62 -62 -64 -65 -65 -66 -68 -70 -71 -71 -68 -61 -55 -53 -53 -55 -57 -62 -66 -69 -70 -68 -68 -67 -64 -60 -61 -66 -69 -70 -67 -61 -54 -49 -48 -50 -54 -58 -61 -62 -60 -58 -57 -58 -59 -60 -61 -62 -65 -67 -67 -67 -67 -68 -68 -66 -66 -66 -67 -68 -68 -67 -66 -64 -60 -58 -59 -61 -61 -58 -56 -55 -55 -56 -57 -58 -58 -57 -57 -56 -55 -53 -53 -53 -53 -51 -49 -48 -49 -50 -51 -53 -54 -55 -56 -58 -59 -57 -55 -55 -57 -59 -60 -61 -63 -64 -65 -65 -65 -67 -69 -71 -71 -70 -68 -66 -65 -64 -64 -65 -67 -68 -69 -69 -68 -69 -71 -76 -79 -80 -82 -84 -85 -85 -82 -78 -75 -73 -75 -80 -85 -86 -85 -82 -81 -82 -84 -87 -91 -94 -97 -101 -103 -107 -111 -115 -118 -122 -127 -130 -131 -130 -130 -132 -135 -138 -141 -144 -148 -152 -153 -152 -148 -144 -143 -142 -141 -137 -132 -128 -124 -120 -118 -117 -118 -118 -119 -122 -123 -123 -121 -116 -113 -110 -107 -103 -99 -96 -93 -90 -87 -85 -85 -83 -81 -79 -77 -76 -75 -74 -74 -75 -76 -77 -77 -77 -76 -76 -76 -76 -75 -74 -74 -75 -77 -78 -77 -77 -77 -77 -76 -76 -76 -76 -76 -74 -70 -68 -67 -65 -64 -63 -63 -62 -61 -60 -60 -59 -58 -54 -53 -53 -52 -52 -53 -54 -55 -56 -56 -55 -54 -53 -52 -51 -51 -50 -50 -49 -49 -49 -48 -47 -47 -46 -45 -44 -43 -33 -22 -12 -8 -13 -23 -27 -23 -19 -22 -37 -45 -39 -28 -18 -16 -23 -35 -45 -47 -42 -31 -20 -14 -15 -20 -19 -19 -22 -27 -33 -37 -38 -37 -35 -34 -34 -36 -41 -46 -52 -50 -43 -35 -33 -44 -50 -50 -45 -39 -41 -46 -54 -60 -65 -68 -70 -72 -72 -72 -73 -74 -74 -73 -72 -72 -73 -74 -72 -72 -74 -73 -69 -64 -58 -57 -56 -54 -54 -58 -59 -58 -57 -60 -61 -61 -61 -62 -62 -61 -61 -60 -59 -59 -61 -62 -64 -66 -69 -69 -68 -66 -65 -66 -68 -67 -64 -60 -58 -56 -56 -57 -58 -60 -62 -64 -65 -63 -60 -60 -62 -64 -66 -67 -67 -68 -68 -68 -65 -63 -61 -60 -60 -61 -62 -62 -63 -65 -66 -66 -66 -67 -70 -72 -71 -68 -62 -57 -53 -52 -54 -58 -64 -68 -69 -68 -67 -67 -65 -62 -61 -64 -67 -68 -66 -63 -59 -55 -51 -49 -50 -55 -60 -62 -61 -58 -57 -57 -57 -58 -58 -60 -62 -64 -65 -65 -65 -66 -66 -66 -65 -65 -66 -68 -68 -67 -66 -65 -64 -60 -58 -59 -59 -58 -55 -54 -55 -55 -56 -57 -57 -57 -57 -57 -56 -54 -53 -53 -53 -52 -50 -49 -48 -48 -49 -50 -52 -55 -56 -55 -54 -52 -51 -51 -53 -55 -57 -59 -60 -62 -63 -63 -62 -62 -64 -66 -68 -70 -70 -69 -67 -65 -63 -62 -63 -63 -64 -65 -65 -66 -67 -69 -73 -77 -79 -81 -83 -86 -87 -84 -80 -77 -75 -78 -83 -87 -88 -86 -84 -84 -85 -86 -89 -91 -94 -97 -101 -107 -110 -113 -116 -121 -127 -131 -132 -130 -129 -130 -133 -136 -139 -143 -148 -151 -152 -150 -145 -142 -141 -141 -142 -141 -138 -134 -129 -125 -121 -120 -121 -122 -123 -124 -125 -125 -125 -122 -118 -115 -111 -108 -104 -99 -96 -93 -90 -87 -87 -87 -85 -83 -82 -79 -78 -77 -77 -78 -78 -78 -78 -78 -78 -77 -76 -75 -75 -74 -73 -74 -75 -78 -79 -79 -78 -77 -77 -77 -77 -77 -76 -76 -74 -71 -70 -69 -67 -66 -65 -65 -64 -64 -63 -62 -61 -60 -59 -58 -57 -56 -56 -55 -55 -55 -55 -55 -54 -53 -53 -52 -51 -50 -50 -50 -49 -49 -49 -48 -47 -47 -47 -47 -45 -43 -29 -13 -5 -6 -16 -31 -39 -36 -28 -24 -32 -43 -40 -30 -19 -14 -23 -36 -48 -58 -63 -51 -34 -21 -20 -23 -20 -19 -22 -29 -37 -41 -41 -40 -41 -42 -39 -38 -40 -45 -55 -58 -51 -39 -31 -41 -47 -43 -33 -27 -31 -39 -50 -60 -66 -68 -67 -64 -61 -64 -69 -71 -71 -73 -73 -72 -72 -73 -74 -76 -75 -72 -69 -66 -61 -58 -55 -53 -56 -58 -57 -57 -57 -61 -64 -64 -64 -63 -63 -62 -62 -62 -61 -61 -63 -64 -66 -68 -68 -67 -65 -65 -65 -66 -65 -62 -58 -56 -57 -59 -61 -64 -66 -67 -66 -64 -61 -59 -59 -61 -64 -67 -69 -69 -69 -68 -67 -64 -62 -61 -62 -63 -64 -64 -64 -63 -64 -65 -64 -63 -63 -64 -67 -70 -72 -70 -67 -64 -59 -55 -53 -57 -64 -67 -68 -67 -66 -66 -64 -62 -61 -64 -65 -64 -61 -59 -58 -57 -54 -51 -52 -58 -63 -63 -60 -57 -57 -57 -57 -57 -58 -60 -62 -63 -63 -62 -63 -64 -64 -64 -64 -65 -67 -68 -68 -66 -65 -64 -63 -58 -57 -58 -57 -56 -54 -54 -55 -55 -56 -56 -57 -57 -56 -56 -55 -54 -54 -54 -54 -53 -51 -49 -48 -47 -48 -49 -52 -54 -55 -54 -52 -50 -49 -49 -51 -53 -55 -57 -58 -60 -61 -61 -59 -59 -61 -63 -66 -68 -69 -69 -67 -64 -62 -60 -60 -60 -61 -62 -64 -65 -67 -68 -71 -76 -80 -83 -84 -86 -87 -85 -82 -79 -78 -81 -86 -90 -90 -88 -87 -87 -88 -89 -91 -94 -97 -100 -104 -109 -110 -112 -117 -126 -131 -132 -130 -128 -127 -130 -134 -138 -141 -146 -152 -152 -148 -142 -138 -137 -139 -140 -140 -139 -137 -134 -131 -128 -125 -123 -123 -125 -127 -127 -127 -127 -127 -123 -119 -115 -112 -109 -105 -99 -95 -92 -90 -89 -89 -88 -86 -84 -83 -81 -79 -78 -80 -81 -80 -79 -79 -79 -79 -77 -76 -75 -74 -74 -74 -75 -77 -79 -80 -79 -78 -78 -78 -78 -78 -78 -76 -74 -73 -72 -72 -71 -70 -68 -67 -66 -66 -66 -65 -63 -62 -61 -60 -59 -57 -57 -56 -55 -55 -54 -54 -54 -53 -52 -52 -52 -51 -50 -49 -49 -49 -49 -49 -48 -48 -48 -49 -48 -46 -44 -31 -13 -3 -5 -16 -32 -46 -48 -42 -33 -33 -39 -35 -25 -16 -14 -22 -30 -40 -52 -64 -65 -51 -36 -27 -26 -22 -22 -23 -25 -30 -34 -38 -41 -44 -46 -41 -37 -37 -44 -54 -62 -63 -56 -46 -48 -50 -46 -36 -29 -30 -35 -43 -52 -60 -66 -67 -64 -59 -63 -66 -68 -69 -71 -72 -72 -72 -72 -73 -77 -75 -72 -68 -65 -60 -57 -56 -58 -61 -62 -62 -62 -62 -64 -66 -67 -67 -66 -66 -66 -65 -65 -64 -64 -65 -66 -67 -68 -67 -66 -66 -67 -67 -65 -62 -59 -58 -58 -60 -62 -63 -64 -66 -66 -65 -61 -58 -57 -60 -62 -65 -68 -70 -68 -67 -65 -63 -62 -63 -66 -68 -69 -67 -66 -65 -65 -65 -63 -60 -57 -57 -59 -64 -69 -73 -73 -71 -68 -64 -60 -56 -58 -64 -68 -69 -68 -68 -66 -63 -60 -60 -61 -61 -61 -60 -58 -59 -59 -57 -54 -55 -62 -65 -63 -58 -56 -56 -56 -56 -57 -58 -59 -60 -61 -61 -60 -61 -62 -63 -63 -64 -65 -66 -65 -63 -63 -63 -62 -60 -56 -57 -57 -57 -55 -54 -54 -55 -55 -55 -55 -55 -55 -55 -54 -54 -54 -55 -55 -55 -54 -52 -49 -47 -46 -46 -48 -51 -54 -57 -55 -51 -49 -49 -50 -51 -52 -53 -55 -56 -58 -59 -59 -58 -57 -59 -62 -64 -67 -68 -68 -67 -64 -61 -59 -59 -59 -59 -60 -63 -66 -69 -70 -72 -76 -81 -84 -86 -86 -85 -85 -84 -82 -81 -84 -88 -91 -92 -90 -91 -91 -91 -92 -94 -96 -99 -103 -108 -110 -111 -114 -121 -130 -132 -130 -127 -125 -127 -132 -138 -142 -146 -151 -154 -151 -143 -133 -131 -134 -138 -140 -138 -137 -136 -134 -133 -131 -128 -126 -126 -127 -129 -129 -129 -129 -127 -124 -120 -116 -113 -109 -105 -100 -97 -94 -92 -92 -91 -89 -86 -84 -83 -82 -80 -80 -82 -83 -82 -81 -80 -79 -78 -77 -76 -75 -74 -74 -76 -77 -78 -81 -81 -80 -79 -79 -79 -79 -79 -78 -76 -74 -73 -73 -73 -72 -71 -70 -69 -68 -67 -67 -65 -64 -63 -61 -60 -58 -57 -56 -56 -55 -54 -54 -54 -53 -53 -52 -51 -51 -51 -50 -49 -49 -49 -49 -49 -48 -48 -49 -50 -49 -47 -46 -35 -20 -9 -7 -14 -27 -43 -51 -52 -48 -42 -39 -30 -21 -15 -17 -22 -28 -36 -45 -55 -62 -56 -44 -33 -27 -26 -26 -25 -23 -24 -32 -41 -49 -53 -53 -49 -46 -45 -46 -46 -55 -61 -62 -57 -57 -54 -49 -42 -38 -36 -37 -41 -47 -54 -62 -67 -67 -64 -65 -68 -69 -70 -71 -70 -71 -73 -72 -70 -72 -73 -72 -67 -61 -57 -58 -62 -65 -68 -68 -68 -68 -68 -68 -69 -70 -71 -71 -70 -69 -68 -67 -67 -67 -67 -67 -67 -67 -67 -68 -68 -68 -67 -65 -62 -60 -60 -61 -62 -62 -62 -63 -64 -63 -60 -56 -54 -55 -59 -62 -65 -68 -68 -65 -63 -62 -63 -64 -67 -70 -70 -70 -69 -69 -67 -65 -61 -59 -58 -59 -62 -65 -70 -74 -75 -73 -68 -65 -63 -62 -61 -62 -65 -68 -69 -68 -69 -66 -61 -58 -58 -59 -62 -64 -65 -66 -65 -63 -59 -56 -58 -64 -64 -60 -56 -55 -55 -55 -56 -58 -59 -59 -59 -59 -58 -57 -59 -60 -61 -62 -63 -64 -63 -62 -60 -61 -61 -61 -59 -55 -55 -56 -57 -55 -54 -54 -54 -54 -53 -52 -52 -52 -52 -51 -52 -54 -55 -56 -55 -54 -52 -50 -47 -45 -46 -47 -50 -53 -57 -55 -51 -48 -48 -50 -50 -50 -51 -53 -55 -56 -57 -57 -57 -57 -59 -61 -63 -65 -66 -67 -66 -64 -61 -59 -58 -58 -58 -60 -63 -66 -69 -71 -74 -78 -83 -87 -89 -88 -86 -84 -83 -83 -85 -87 -89 -91 -92 -92 -93 -94 -94 -94 -96 -98 -101 -106 -111 -112 -114 -117 -124 -130 -129 -127 -124 -124 -129 -136 -143 -149 -153 -155 -154 -146 -136 -126 -128 -134 -139 -141 -138 -137 -136 -134 -132 -131 -129 -127 -127 -128 -131 -132 -132 -130 -127 -124 -121 -118 -114 -109 -105 -102 -100 -97 -95 -93 -91 -89 -86 -83 -83 -82 -82 -82 -84 -84 -83 -81 -80 -79 -78 -78 -78 -78 -76 -77 -78 -79 -79 -81 -81 -80 -80 -79 -80 -80 -78 -77 -76 -75 -74 -74 -74 -74 -73 -71 -70 -69 -68 -67 -66 -65 -63 -62 -60 -59 -57 -56 -55 -55 -54 -53 -53 -53 -52 -51 -51 -51 -51 -51 -50 -50 -50 -50 -49 -49 -49 -50 -50 -49 -48 -47 -38 -31 -22 -16 -15 -21 -33 -46 -56 -59 -54 -47 -37 -28 -22 -23 -24 -26 -34 -46 -57 -62 -61 -54 -41 -29 -31 -34 -33 -28 -26 -32 -41 -50 -56 -56 -54 -52 -51 -51 -42 -43 -51 -59 -59 -57 -54 -51 -48 -44 -42 -42 -43 -47 -52 -59 -66 -70 -71 -70 -71 -73 -73 -71 -69 -72 -73 -69 -62 -64 -71 -72 -66 -57 -57 -63 -68 -72 -73 -73 -73 -73 -73 -73 -73 -74 -74 -73 -71 -70 -69 -69 -69 -70 -69 -68 -67 -67 -67 -68 -69 -68 -67 -65 -63 -62 -63 -63 -65 -64 -64 -64 -64 -61 -56 -52 -52 -55 -59 -61 -64 -67 -65 -63 -62 -63 -66 -69 -72 -73 -72 -70 -68 -68 -66 -62 -58 -59 -62 -66 -69 -71 -74 -76 -76 -74 -70 -65 -62 -61 -61 -63 -67 -70 -71 -72 -71 -65 -61 -59 -61 -62 -62 -62 -64 -68 -66 -62 -58 -57 -60 -63 -61 -57 -54 -54 -54 -56 -57 -59 -58 -59 -58 -57 -55 -55 -56 -58 -59 -60 -62 -62 -61 -59 -58 -59 -59 -59 -57 -55 -56 -57 -57 -55 -53 -53 -52 -52 -51 -50 -50 -50 -50 -50 -51 -53 -55 -55 -55 -54 -53 -50 -47 -45 -45 -46 -48 -51 -55 -54 -50 -48 -47 -48 -48 -48 -49 -52 -54 -55 -57 -57 -56 -56 -57 -59 -60 -63 -64 -65 -65 -64 -62 -61 -60 -59 -58 -60 -63 -66 -69 -72 -75 -80 -85 -89 -91 -91 -88 -86 -84 -84 -86 -89 -91 -93 -94 -94 -95 -96 -97 -97 -98 -100 -103 -108 -113 -115 -117 -120 -125 -129 -127 -125 -124 -126 -132 -139 -146 -153 -157 -155 -149 -139 -129 -125 -129 -136 -141 -141 -137 -135 -134 -134 -132 -130 -127 -126 -126 -129 -132 -134 -133 -130 -127 -125 -122 -119 -115 -110 -106 -103 -102 -100 -98 -95 -92 -88 -86 -84 -85 -85 -85 -85 -85 -85 -83 -81 -80 -80 -79 -79 -79 -80 -78 -78 -78 -79 -80 -81 -81 -81 -80 -80 -80 -79 -78 -76 -75 -75 -75 -75 -75 -75 -74 -72 -71 -71 -69 -68 -66 -65 -64 -63 -61 -59 -58 -56 -56 -55 -55 -54 -53 -52 -52 -51 -50 -51 -52 -51 -50 -50 -50 -50 -49 -49 -49 -50 -50 -49 -48 -48 -51 -48 -41 -30 -20 -15 -24 -39 -52 -60 -62 -57 -48 -41 -37 -35 -29 -27 -31 -41 -53 -59 -60 -54 -43 -31 -36 -41 -42 -37 -29 -30 -37 -47 -54 -54 -54 -54 -54 -54 -43 -37 -42 -52 -57 -55 -54 -53 -52 -49 -48 -48 -49 -51 -56 -61 -67 -72 -75 -75 -75 -75 -73 -70 -69 -72 -70 -62 -54 -61 -70 -71 -65 -56 -59 -67 -73 -76 -76 -75 -75 -75 -76 -76 -76 -76 -75 -73 -70 -69 -69 -70 -71 -72 -70 -68 -67 -67 -66 -67 -68 -69 -69 -67 -65 -64 -65 -67 -68 -68 -69 -68 -67 -61 -55 -52 -55 -59 -61 -64 -66 -68 -65 -64 -65 -67 -70 -74 -76 -77 -75 -71 -69 -67 -64 -61 -57 -60 -65 -69 -72 -75 -76 -77 -76 -74 -71 -69 -66 -63 -62 -65 -70 -72 -74 -74 -69 -63 -60 -61 -64 -64 -62 -63 -66 -68 -63 -59 -58 -58 -59 -59 -58 -57 -56 -57 -57 -59 -61 -60 -57 -58 -58 -56 -53 -53 -54 -55 -56 -57 -59 -59 -58 -57 -56 -56 -56 -56 -56 -57 -57 -57 -56 -53 -52 -51 -50 -49 -50 -50 -51 -51 -51 -51 -52 -53 -53 -53 -53 -54 -53 -52 -49 -46 -45 -45 -46 -49 -52 -52 -49 -47 -47 -47 -47 -48 -49 -52 -53 -55 -57 -57 -56 -56 -58 -59 -60 -60 -61 -63 -64 -64 -63 -63 -61 -60 -59 -60 -63 -67 -70 -72 -77 -83 -88 -91 -92 -92 -89 -87 -84 -83 -84 -87 -92 -98 -101 -97 -96 -97 -99 -99 -99 -102 -106 -111 -115 -117 -120 -122 -125 -125 -124 -124 -126 -130 -136 -142 -148 -153 -155 -151 -143 -134 -126 -127 -133 -139 -143 -141 -135 -131 -130 -130 -129 -126 -125 -125 -125 -127 -131 -133 -131 -128 -126 -125 -122 -119 -115 -110 -107 -105 -103 -101 -100 -97 -94 -90 -88 -88 -89 -90 -90 -88 -87 -85 -83 -81 -80 -80 -80 -80 -80 -80 -79 -79 -80 -80 -81 -82 -83 -82 -81 -81 -81 -80 -78 -76 -75 -75 -74 -75 -76 -76 -75 -73 -72 -71 -70 -68 -66 -66 -65 -63 -62 -60 -58 -57 -56 -56 -56 -54 -53 -52 -51 -50 -51 -52 -52 -52 -51 -51 -50 -50 -49 -49 -49 -50 -50 -50 -49 -48 -54 -53 -51 -46 -37 -23 -18 -29 -42 -54 -63 -63 -60 -57 -53 -48 -40 -34 -34 -38 -47 -55 -57 -52 -40 -29 -37 -45 -50 -46 -37 -30 -33 -42 -51 -52 -52 -53 -54 -54 -45 -37 -38 -47 -55 -54 -55 -56 -56 -55 -55 -56 -58 -60 -65 -67 -70 -74 -77 -77 -75 -74 -72 -67 -67 -68 -61 -54 -53 -65 -70 -67 -61 -58 -64 -71 -76 -77 -77 -76 -76 -76 -76 -76 -75 -74 -72 -71 -70 -70 -70 -72 -73 -73 -72 -70 -69 -67 -67 -67 -68 -70 -70 -68 -67 -67 -67 -68 -69 -71 -71 -70 -67 -61 -57 -57 -61 -64 -67 -69 -71 -70 -68 -69 -71 -73 -75 -78 -80 -80 -78 -74 -69 -65 -62 -60 -59 -63 -67 -70 -73 -75 -76 -76 -76 -74 -72 -70 -69 -67 -66 -67 -70 -72 -73 -72 -66 -62 -61 -63 -63 -63 -63 -65 -68 -66 -61 -59 -58 -58 -58 -59 -60 -61 -62 -63 -63 -63 -62 -57 -56 -58 -57 -54 -50 -51 -52 -53 -54 -54 -55 -55 -55 -54 -54 -53 -53 -54 -55 -57 -57 -56 -55 -52 -50 -50 -49 -49 -50 -51 -51 -52 -53 -53 -53 -53 -53 -53 -53 -53 -53 -53 -50 -49 -47 -45 -45 -48 -51 -50 -48 -46 -46 -46 -47 -49 -50 -52 -53 -55 -57 -57 -56 -56 -57 -58 -59 -59 -60 -61 -62 -63 -64 -64 -63 -62 -60 -60 -63 -67 -70 -72 -78 -85 -90 -93 -93 -92 -89 -87 -85 -84 -84 -87 -92 -99 -101 -98 -96 -97 -100 -102 -102 -104 -108 -113 -117 -120 -123 -125 -125 -123 -122 -124 -128 -134 -140 -144 -148 -151 -150 -145 -138 -131 -128 -131 -137 -142 -143 -141 -133 -129 -126 -126 -125 -123 -123 -123 -124 -127 -130 -131 -129 -126 -126 -124 -121 -117 -114 -111 -108 -106 -104 -103 -102 -100 -97 -94 -92 -92 -93 -94 -93 -90 -87 -85 -83 -82 -81 -81 -82 -82 -82 -81 -81 -81 -82 -82 -82 -83 -84 -84 -83 -83 -82 -80 -79 -77 -76 -75 -75 -75 -76 -76 -75 -74 -72 -71 -70 -68 -67 -66 -65 -63 -62 -60 -58 -57 -57 -56 -55 -54 -53 -52 -52 -51 -51 -52 -52 -52 -51 -51 -50 -50 -49 -49 -49 -50 -50 -51 -49 -48 -51 -53 -52 -52 -51 -47 -37 -31 -33 -42 -55 -61 -64 -65 -64 -62 -57 -52 -46 -43 -45 -54 -58 -53 -41 -29 -34 -45 -52 -54 -47 -37 -35 -40 -47 -49 -50 -51 -51 -49 -42 -35 -35 -42 -51 -56 -58 -59 -60 -61 -63 -65 -67 -70 -73 -73 -74 -76 -78 -74 -69 -68 -66 -62 -63 -60 -52 -48 -56 -66 -65 -61 -58 -60 -68 -74 -75 -74 -74 -75 -74 -73 -73 -72 -70 -70 -70 -70 -71 -72 -73 -73 -73 -72 -72 -71 -71 -70 -70 -69 -68 -69 -70 -70 -70 -71 -70 -68 -69 -71 -72 -69 -63 -57 -59 -63 -68 -71 -73 -74 -73 -71 -72 -74 -76 -77 -79 -81 -81 -80 -78 -74 -66 -60 -58 -59 -62 -66 -69 -71 -72 -73 -73 -73 -73 -74 -73 -71 -70 -70 -69 -68 -69 -71 -72 -69 -63 -62 -63 -65 -65 -66 -67 -68 -67 -64 -62 -60 -59 -58 -58 -61 -64 -66 -67 -67 -65 -62 -59 -55 -56 -56 -55 -51 -48 -50 -50 -50 -50 -51 -52 -53 -54 -52 -50 -50 -51 -53 -55 -56 -55 -55 -54 -52 -50 -49 -49 -49 -50 -50 -51 -52 -53 -53 -52 -51 -52 -53 -54 -53 -53 -52 -51 -50 -48 -47 -46 -47 -49 -48 -46 -43 -44 -45 -47 -48 -50 -52 -53 -55 -56 -56 -56 -57 -58 -58 -58 -59 -59 -59 -60 -61 -64 -64 -64 -62 -61 -63 -66 -68 -70 -73 -80 -87 -92 -95 -95 -93 -90 -87 -86 -84 -85 -88 -94 -100 -102 -99 -97 -97 -101 -103 -104 -104 -106 -111 -118 -124 -127 -127 -124 -122 -122 -125 -129 -135 -141 -144 -146 -147 -145 -140 -136 -134 -134 -136 -139 -142 -143 -140 -134 -129 -125 -124 -122 -121 -121 -123 -124 -127 -129 -129 -128 -126 -125 -123 -120 -117 -115 -112 -110 -108 -106 -105 -105 -104 -101 -98 -96 -96 -96 -96 -94 -90 -87 -85 -84 -83 -83 -83 -84 -84 -84 -83 -83 -83 -84 -84 -84 -85 -85 -84 -84 -83 -82 -81 -80 -78 -77 -76 -75 -75 -76 -76 -75 -74 -72 -71 -70 -68 -67 -66 -65 -63 -62 -60 -59 -58 -57 -56 -56 -54 -53 -53 -53 -52 -52 -52 -52 -52 -51 -50 -50 -49 -49 -49 -49 -49 -50 -51 -50 -49 -50 -57 -58 -57 -58 -59 -57 -50 -43 -42 -49 -58 -64 -67 -68 -69 -69 -66 -58 -51 -48 -55 -59 -56 -47 -37 -35 -41 -50 -55 -56 -51 -45 -42 -44 -45 -45 -46 -45 -43 -33 -25 -28 -39 -50 -56 -59 -61 -62 -64 -67 -68 -69 -70 -72 -73 -72 -73 -75 -72 -64 -60 -57 -55 -56 -51 -47 -49 -59 -67 -66 -64 -64 -68 -73 -74 -73 -72 -74 -74 -74 -73 -73 -72 -73 -74 -75 -75 -75 -74 -74 -74 -74 -73 -73 -73 -72 -72 -72 -72 -71 -70 -69 -71 -72 -72 -71 -71 -71 -70 -69 -64 -57 -58 -63 -68 -72 -73 -72 -71 -72 -74 -77 -79 -79 -80 -80 -79 -78 -78 -76 -71 -62 -57 -58 -62 -66 -69 -70 -71 -71 -71 -70 -69 -70 -75 -76 -72 -70 -69 -70 -69 -70 -71 -70 -65 -61 -62 -65 -68 -69 -69 -69 -69 -66 -63 -62 -61 -60 -58 -59 -62 -65 -68 -68 -65 -61 -58 -56 -55 -55 -54 -52 -49 -48 -48 -46 -45 -45 -47 -51 -54 -53 -50 -46 -47 -51 -55 -57 -56 -54 -53 -52 -51 -50 -50 -49 -49 -51 -52 -52 -53 -53 -51 -50 -50 -52 -52 -52 -51 -51 -51 -51 -51 -50 -49 -48 -48 -49 -47 -44 -41 -42 -44 -46 -47 -48 -49 -52 -54 -56 -56 -58 -59 -59 -59 -58 -59 -58 -58 -59 -61 -64 -65 -65 -64 -64 -65 -67 -70 -73 -76 -82 -88 -92 -95 -97 -94 -91 -88 -86 -85 -87 -92 -98 -102 -102 -100 -99 -99 -102 -104 -105 -106 -109 -116 -123 -128 -130 -128 -124 -123 -124 -127 -131 -136 -140 -142 -143 -142 -139 -137 -136 -137 -139 -140 -142 -142 -142 -140 -134 -129 -125 -122 -119 -119 -120 -122 -125 -128 -129 -128 -126 -125 -124 -122 -119 -118 -117 -115 -112 -110 -108 -109 -108 -107 -104 -101 -99 -99 -98 -97 -94 -91 -88 -87 -86 -85 -84 -85 -85 -86 -86 -86 -85 -84 -85 -85 -86 -86 -86 -85 -85 -85 -84 -82 -81 -80 -78 -77 -76 -76 -76 -76 -75 -73 -72 -71 -70 -69 -67 -66 -65 -64 -63 -61 -60 -59 -58 -57 -56 -55 -54 -53 -53 -53 -53 -52 -52 -52 -51 -50 -50 -50 -50 -50 -49 -48 -49 -51 -50 -49 -52 -59 -61 -61 -61 -63 -66 -66 -60 -53 -51 -56 -62 -65 -66 -66 -67 -65 -60 -54 -52 -56 -57 -56 -53 -50 -43 -41 -45 -52 -58 -60 -58 -53 -47 -40 -35 -38 -43 -44 -28 -20 -26 -40 -51 -57 -59 -60 -61 -63 -66 -67 -67 -67 -69 -69 -70 -72 -73 -69 -57 -47 -43 -44 -47 -44 -44 -49 -58 -64 -65 -67 -69 -72 -73 -74 -74 -74 -75 -75 -75 -74 -74 -75 -77 -78 -78 -78 -77 -76 -75 -74 -74 -75 -75 -74 -73 -73 -73 -73 -73 -72 -70 -71 -72 -73 -73 -73 -71 -69 -66 -63 -59 -62 -66 -69 -70 -70 -70 -73 -77 -81 -81 -80 -79 -78 -78 -78 -76 -74 -71 -66 -60 -57 -59 -63 -68 -70 -70 -69 -69 -70 -69 -68 -68 -73 -75 -74 -72 -70 -69 -69 -70 -70 -68 -62 -61 -63 -66 -69 -70 -70 -70 -69 -66 -62 -59 -58 -57 -56 -57 -61 -64 -65 -63 -60 -57 -56 -55 -56 -55 -53 -50 -47 -45 -41 -38 -38 -41 -44 -49 -51 -51 -46 -44 -47 -53 -57 -59 -56 -54 -53 -52 -52 -52 -51 -51 -51 -53 -54 -54 -54 -52 -50 -50 -50 -51 -51 -50 -50 -50 -51 -51 -51 -51 -51 -51 -51 -51 -47 -43 -41 -43 -44 -45 -45 -46 -48 -50 -53 -56 -58 -60 -60 -60 -59 -59 -58 -58 -58 -59 -61 -64 -65 -66 -66 -67 -68 -70 -73 -77 -81 -85 -89 -92 -95 -97 -95 -92 -89 -86 -87 -91 -97 -101 -103 -101 -101 -101 -102 -104 -106 -107 -110 -115 -120 -124 -126 -126 -126 -124 -124 -126 -129 -132 -136 -138 -139 -139 -137 -136 -136 -137 -140 -142 -143 -143 -143 -142 -139 -134 -129 -125 -121 -118 -118 -119 -121 -125 -128 -129 -127 -125 -124 -123 -121 -119 -119 -120 -120 -117 -114 -111 -111 -111 -109 -106 -104 -103 -102 -101 -99 -94 -91 -89 -88 -88 -87 -86 -86 -87 -88 -88 -88 -88 -86 -85 -86 -87 -87 -87 -86 -86 -86 -85 -84 -84 -82 -80 -79 -78 -76 -76 -76 -75 -73 -72 -71 -71 -70 -69 -67 -66 -65 -63 -62 -61 -61 -59 -58 -57 -56 -54 -54 -53 -53 -53 -53 -53 -53 -53 -52 -51 -50 -50 -50 -49 -48 -48 -50 -50 -49 -51 -56 -61 -63 -64 -64 -66 -69 -67 -63 -60 -57 -61 -61 -61 -61 -61 -58 -57 -56 -56 -54 -52 -50 -50 -52 -50 -49 -49 -52 -57 -60 -59 -56 -51 -44 -37 -37 -42 -43 -29 -22 -28 -40 -51 -57 -60 -61 -62 -63 -63 -61 -60 -61 -64 -64 -65 -68 -71 -65 -47 -36 -35 -41 -43 -44 -49 -56 -63 -67 -69 -70 -71 -70 -69 -70 -72 -73 -74 -75 -75 -75 -75 -77 -79 -79 -79 -78 -78 -76 -74 -73 -73 -74 -76 -75 -74 -73 -73 -73 -74 -73 -72 -70 -71 -73 -74 -75 -72 -69 -67 -65 -64 -66 -69 -71 -72 -73 -76 -80 -83 -83 -81 -78 -78 -78 -79 -78 -74 -70 -66 -62 -58 -57 -60 -65 -71 -71 -69 -69 -70 -72 -70 -69 -69 -71 -75 -76 -75 -73 -71 -70 -70 -69 -66 -62 -62 -63 -64 -66 -68 -70 -71 -69 -64 -59 -54 -52 -51 -52 -55 -59 -60 -59 -57 -56 -55 -56 -57 -57 -55 -53 -50 -46 -39 -30 -26 -26 -31 -38 -45 -48 -48 -44 -43 -47 -52 -55 -55 -52 -51 -51 -52 -52 -53 -53 -53 -54 -56 -56 -55 -53 -52 -51 -51 -51 -51 -50 -50 -50 -50 -51 -51 -51 -52 -52 -53 -55 -55 -50 -44 -41 -42 -43 -44 -44 -46 -47 -48 -52 -56 -60 -60 -61 -60 -60 -59 -60 -59 -58 -57 -60 -63 -64 -66 -67 -70 -73 -75 -78 -81 -86 -89 -92 -94 -97 -99 -98 -95 -91 -88 -90 -95 -100 -102 -103 -101 -101 -102 -105 -107 -108 -109 -111 -115 -119 -122 -124 -124 -125 -125 -126 -128 -130 -132 -133 -134 -134 -135 -134 -135 -136 -139 -142 -144 -145 -145 -143 -140 -137 -135 -132 -128 -123 -119 -118 -118 -120 -124 -128 -128 -127 -124 -122 -121 -120 -118 -118 -120 -120 -118 -116 -113 -113 -111 -109 -107 -106 -106 -106 -105 -101 -96 -93 -91 -89 -89 -88 -88 -88 -89 -90 -89 -90 -90 -89 -86 -87 -88 -89 -88 -87 -87 -86 -86 -85 -84 -83 -81 -80 -79 -77 -77 -76 -74 -72 -71 -71 -71 -71 -70 -68 -67 -66 -64 -63 -63 -62 -61 -59 -58 -57 -55 -54 -54 -54 -54 -53 -54 -54 -53 -52 -51 -50 -49 -50 -49 -47 -47 -49 -49 -49 -49 -54 -61 -65 -66 -64 -64 -67 -66 -65 -64 -61 -61 -60 -58 -55 -53 -50 -48 -48 -51 -51 -50 -49 -49 -50 -49 -51 -53 -55 -57 -57 -57 -54 -51 -48 -41 -38 -40 -43 -39 -34 -35 -40 -47 -56 -62 -63 -64 -65 -64 -58 -52 -49 -53 -56 -59 -64 -67 -59 -39 -31 -33 -42 -46 -50 -56 -62 -68 -72 -72 -72 -71 -69 -69 -70 -72 -73 -74 -75 -75 -75 -76 -77 -78 -77 -76 -76 -76 -75 -74 -73 -72 -74 -76 -76 -74 -73 -72 -73 -74 -75 -74 -72 -72 -72 -73 -75 -74 -72 -71 -69 -68 -71 -73 -76 -77 -80 -83 -85 -84 -80 -74 -72 -74 -77 -80 -79 -74 -69 -63 -60 -57 -57 -61 -66 -69 -69 -69 -69 -71 -72 -71 -69 -68 -70 -73 -76 -75 -72 -68 -67 -68 -68 -68 -67 -64 -62 -61 -63 -68 -72 -71 -67 -61 -56 -51 -48 -48 -52 -56 -57 -56 -53 -52 -54 -56 -57 -57 -56 -55 -53 -49 -42 -32 -24 -19 -19 -25 -35 -43 -46 -45 -43 -44 -48 -51 -54 -53 -51 -51 -51 -51 -51 -53 -54 -54 -54 -55 -55 -53 -51 -51 -51 -51 -51 -51 -51 -51 -51 -51 -51 -50 -51 -52 -54 -57 -60 -58 -51 -44 -40 -42 -43 -44 -44 -46 -46 -47 -51 -57 -63 -63 -62 -61 -61 -61 -61 -59 -56 -55 -58 -61 -63 -65 -68 -72 -76 -79 -82 -85 -90 -93 -95 -97 -99 -100 -99 -98 -95 -91 -92 -97 -102 -105 -105 -102 -101 -102 -106 -108 -108 -109 -111 -115 -119 -121 -123 -125 -126 -127 -128 -130 -130 -131 -130 -130 -130 -131 -133 -134 -136 -140 -144 -146 -146 -145 -143 -138 -134 -133 -131 -127 -121 -117 -117 -119 -122 -124 -126 -127 -126 -123 -120 -118 -117 -116 -117 -118 -118 -116 -115 -114 -113 -112 -110 -108 -107 -108 -110 -108 -103 -98 -95 -92 -91 -90 -89 -89 -90 -90 -91 -91 -91 -91 -90 -88 -88 -89 -90 -90 -89 -88 -87 -86 -85 -83 -82 -82 -81 -80 -79 -78 -76 -73 -72 -72 -71 -71 -72 -71 -69 -68 -67 -65 -65 -64 -63 -62 -60 -59 -57 -56 -55 -54 -54 -54 -53 -54 -54 -53 -52 -49 -48 -48 -49 -49 -47 -47 -48 -49 -49 -57 -64 -69 -70 -67 -63 -60 -60 -61 -63 -65 -63 -61 -56 -50 -43 -40 -44 -47 -48 -47 -46 -45 -46 -46 -47 -47 -49 -52 -54 -55 -56 -54 -52 -50 -49 -46 -45 -45 -46 -46 -46 -47 -48 -51 -57 -64 -66 -66 -67 -70 -66 -55 -43 -40 -47 -55 -61 -62 -53 -38 -33 -37 -47 -55 -61 -65 -68 -71 -73 -72 -72 -72 -74 -75 -75 -74 -74 -75 -75 -75 -76 -76 -76 -74 -73 -72 -73 -75 -75 -75 -74 -73 -74 -75 -75 -74 -72 -72 -73 -74 -75 -75 -74 -73 -72 -73 -74 -75 -76 -77 -75 -73 -76 -79 -81 -83 -84 -85 -84 -82 -77 -72 -72 -74 -78 -80 -80 -74 -67 -60 -57 -57 -59 -62 -66 -68 -69 -70 -70 -71 -72 -72 -70 -68 -68 -71 -75 -74 -71 -65 -65 -67 -69 -69 -68 -67 -65 -64 -66 -69 -70 -67 -62 -56 -51 -47 -46 -49 -55 -57 -55 -52 -51 -52 -54 -55 -54 -53 -52 -53 -51 -45 -37 -28 -23 -21 -22 -26 -35 -41 -44 -45 -45 -46 -48 -50 -52 -52 -52 -52 -53 -53 -52 -53 -53 -53 -53 -54 -54 -53 -52 -52 -52 -52 -52 -53 -54 -53 -52 -52 -51 -50 -51 -54 -57 -61 -63 -60 -52 -44 -41 -42 -43 -44 -44 -45 -45 -46 -51 -57 -63 -63 -62 -62 -62 -61 -59 -58 -56 -54 -55 -58 -62 -65 -69 -73 -77 -81 -85 -89 -93 -96 -98 -100 -102 -101 -101 -99 -96 -92 -92 -96 -102 -106 -107 -106 -104 -104 -106 -108 -109 -110 -113 -117 -120 -122 -123 -125 -127 -129 -130 -130 -130 -129 -128 -128 -128 -130 -132 -134 -137 -141 -145 -147 -147 -145 -142 -137 -132 -130 -127 -124 -119 -118 -118 -120 -121 -122 -123 -124 -123 -120 -115 -113 -113 -114 -115 -115 -115 -114 -114 -113 -113 -112 -110 -108 -108 -110 -111 -110 -105 -100 -96 -94 -92 -91 -91 -91 -91 -91 -91 -91 -92 -92 -91 -89 -89 -89 -91 -92 -90 -88 -87 -86 -85 -83 -82 -81 -81 -81 -80 -79 -77 -74 -73 -72 -72 -71 -71 -72 -71 -69 -69 -67 -66 -65 -65 -63 -61 -59 -57 -56 -55 -55 -54 -54 -54 -54 -54 -54 -52 -49 -47 -48 -49 -49 -48 -48 -48 -48 -48 -64 -66 -65 -65 -63 -60 -58 -57 -54 -54 -55 -55 -55 -50 -43 -36 -33 -41 -46 -48 -46 -45 -44 -43 -44 -44 -45 -47 -49 -51 -52 -53 -52 -51 -49 -48 -49 -50 -50 -50 -51 -52 -55 -57 -59 -62 -67 -68 -67 -66 -72 -75 -66 -49 -32 -37 -50 -57 -56 -49 -40 -38 -44 -55 -65 -71 -74 -75 -74 -72 -73 -75 -77 -79 -79 -78 -75 -74 -75 -75 -77 -77 -76 -73 -71 -69 -69 -71 -74 -75 -75 -75 -75 -74 -74 -73 -72 -72 -72 -73 -74 -75 -75 -75 -74 -74 -74 -75 -77 -79 -80 -80 -78 -80 -82 -83 -84 -82 -81 -81 -81 -80 -78 -78 -80 -81 -81 -79 -73 -65 -57 -55 -57 -60 -65 -68 -70 -72 -73 -72 -71 -72 -72 -71 -68 -68 -70 -72 -71 -67 -63 -64 -66 -68 -69 -68 -67 -66 -65 -65 -66 -66 -63 -59 -54 -50 -47 -47 -50 -55 -55 -53 -51 -51 -53 -53 -51 -49 -48 -51 -52 -50 -43 -32 -27 -27 -27 -28 -30 -35 -39 -43 -46 -47 -47 -48 -49 -50 -51 -52 -54 -55 -54 -52 -53 -53 -53 -53 -53 -52 -52 -51 -50 -51 -52 -54 -55 -56 -55 -55 -55 -54 -53 -53 -56 -60 -64 -66 -60 -51 -43 -41 -42 -43 -43 -44 -45 -46 -49 -53 -58 -62 -63 -64 -64 -63 -62 -62 -62 -61 -57 -56 -58 -62 -66 -70 -74 -78 -83 -88 -92 -95 -98 -100 -103 -104 -103 -101 -98 -94 -90 -92 -96 -102 -106 -107 -107 -107 -106 -106 -107 -111 -114 -117 -119 -120 -121 -123 -125 -128 -130 -131 -131 -130 -128 -127 -127 -128 -129 -131 -134 -138 -143 -146 -147 -146 -144 -141 -137 -132 -128 -124 -121 -119 -120 -122 -123 -122 -123 -123 -123 -122 -119 -113 -111 -110 -112 -112 -112 -113 -114 -114 -114 -113 -111 -109 -107 -108 -110 -112 -112 -107 -102 -98 -95 -94 -93 -92 -93 -93 -92 -92 -92 -93 -92 -91 -91 -91 -91 -91 -92 -91 -89 -88 -87 -85 -84 -82 -81 -81 -81 -80 -79 -78 -76 -74 -73 -72 -71 -72 -72 -72 -70 -70 -68 -67 -66 -65 -63 -62 -60 -58 -57 -56 -56 -56 -55 -54 -54 -54 -54 -53 -50 -48 -49 -50 -50 -49 -49 -49 -48 -49 -59 -58 -59 -60 -58 -56 -55 -55 -51 -51 -52 -50 -49 -45 -39 -34 -34 -43 -46 -46 -45 -45 -42 -41 -41 -41 -42 -44 -45 -45 -46 -48 -49 -49 -48 -47 -48 -50 -51 -52 -53 -53 -55 -59 -64 -67 -69 -68 -65 -61 -65 -74 -72 -58 -36 -32 -43 -50 -49 -42 -37 -40 -47 -56 -64 -69 -72 -72 -72 -74 -77 -77 -77 -75 -74 -73 -73 -75 -76 -77 -77 -76 -73 -69 -67 -67 -69 -72 -75 -76 -76 -76 -76 -74 -73 -72 -72 -72 -71 -71 -72 -73 -74 -75 -75 -76 -76 -76 -77 -80 -82 -83 -81 -80 -79 -79 -78 -76 -76 -79 -82 -83 -82 -83 -83 -83 -81 -79 -72 -64 -56 -55 -57 -62 -67 -71 -74 -74 -73 -72 -71 -73 -73 -72 -70 -68 -68 -68 -65 -62 -61 -62 -64 -66 -67 -67 -66 -64 -63 -62 -62 -61 -60 -59 -56 -53 -51 -52 -54 -56 -56 -53 -51 -49 -48 -48 -48 -48 -49 -52 -52 -49 -42 -31 -27 -29 -33 -35 -36 -37 -39 -43 -46 -48 -48 -49 -49 -50 -51 -53 -55 -56 -55 -54 -53 -53 -53 -53 -52 -52 -52 -52 -51 -53 -54 -56 -57 -59 -59 -59 -58 -58 -56 -56 -59 -63 -67 -67 -59 -49 -41 -41 -42 -43 -44 -45 -47 -49 -52 -56 -60 -63 -63 -63 -63 -63 -64 -64 -63 -62 -60 -58 -60 -63 -67 -70 -73 -78 -83 -88 -91 -94 -98 -101 -104 -105 -104 -100 -96 -92 -91 -93 -98 -102 -105 -105 -105 -106 -106 -106 -107 -110 -115 -119 -120 -120 -121 -123 -126 -128 -130 -131 -131 -129 -127 -127 -127 -128 -128 -131 -136 -140 -144 -146 -146 -143 -140 -138 -136 -132 -127 -123 -120 -121 -124 -126 -126 -124 -124 -123 -122 -120 -117 -113 -111 -110 -111 -111 -112 -113 -114 -114 -114 -112 -111 -109 -108 -109 -112 -113 -112 -109 -104 -100 -97 -95 -94 -94 -94 -94 -93 -93 -94 -94 -93 -92 -92 -92 -92 -92 -93 -93 -92 -91 -89 -87 -85 -83 -81 -80 -81 -81 -80 -79 -77 -75 -74 -73 -72 -72 -73 -73 -72 -71 -69 -68 -66 -65 -64 -63 -61 -60 -59 -57 -57 -56 -56 -55 -55 -55 -54 -54 -52 -51 -51 -51 -51 -50 -50 -49 -49 -49 -51 -51 -55 -55 -52 -51 -53 -52 -49 -49 -51 -49 -47 -43 -37 -35 -39 -44 -44 -44 -43 -43 -39 -38 -38 -40 -40 -42 -42 -42 -41 -43 -45 -45 -45 -45 -45 -47 -49 -50 -51 -53 -56 -61 -65 -65 -64 -64 -62 -59 -59 -65 -68 -62 -45 -34 -37 -43 -45 -38 -36 -41 -48 -52 -55 -60 -65 -70 -73 -77 -77 -75 -72 -70 -70 -72 -75 -76 -76 -76 -76 -74 -70 -66 -66 -67 -70 -73 -75 -76 -76 -75 -74 -73 -72 -72 -71 -70 -70 -71 -71 -73 -75 -76 -78 -79 -80 -80 -79 -81 -83 -84 -83 -81 -78 -76 -76 -78 -79 -80 -81 -81 -82 -83 -84 -83 -80 -76 -70 -63 -56 -54 -58 -64 -69 -74 -74 -71 -69 -69 -71 -74 -75 -73 -70 -67 -67 -64 -60 -57 -57 -60 -63 -65 -65 -65 -64 -63 -62 -61 -61 -60 -60 -60 -58 -56 -55 -55 -56 -57 -56 -54 -50 -47 -45 -45 -46 -47 -49 -50 -52 -50 -44 -33 -25 -23 -24 -28 -33 -37 -41 -45 -48 -48 -49 -50 -50 -50 -51 -54 -56 -57 -56 -56 -55 -55 -54 -53 -53 -53 -53 -53 -53 -55 -56 -58 -60 -61 -61 -62 -62 -61 -59 -60 -63 -66 -68 -64 -54 -44 -40 -42 -44 -46 -48 -49 -49 -51 -54 -57 -61 -63 -63 -62 -62 -64 -66 -65 -64 -62 -59 -59 -61 -65 -68 -70 -74 -79 -83 -87 -91 -94 -98 -101 -103 -104 -101 -97 -93 -92 -94 -97 -101 -103 -104 -103 -103 -105 -107 -108 -109 -111 -114 -117 -118 -118 -120 -123 -126 -128 -129 -130 -129 -127 -125 -124 -124 -125 -126 -131 -137 -142 -144 -144 -144 -143 -141 -139 -135 -130 -125 -122 -121 -125 -127 -128 -127 -126 -125 -123 -121 -119 -116 -113 -111 -112 -113 -113 -113 -114 -113 -113 -113 -112 -111 -110 -110 -112 -113 -113 -112 -110 -106 -103 -99 -97 -96 -96 -96 -95 -94 -95 -96 -97 -95 -94 -93 -93 -93 -92 -94 -94 -93 -92 -91 -89 -87 -84 -82 -81 -81 -81 -81 -80 -78 -76 -75 -73 -72 -73 -73 -73 -72 -71 -70 -69 -68 -66 -66 -64 -63 -61 -60 -58 -58 -57 -57 -56 -56 -55 -55 -54 -53 -53 -53 -53 -52 -51 -50 -50 -50 -50 -43 -44 -47 -47 -45 -45 -49 -47 -46 -47 -49 -47 -44 -38 -34 -34 -40 -41 -40 -40 -41 -40 -35 -35 -37 -39 -41 -43 -42 -41 -41 -42 -43 -42 -41 -41 -41 -42 -44 -46 -48 -51 -55 -59 -61 -60 -57 -54 -53 -52 -51 -56 -59 -55 -45 -32 -32 -38 -45 -46 -50 -56 -60 -61 -60 -61 -63 -66 -69 -75 -77 -74 -71 -70 -74 -77 -78 -77 -76 -76 -76 -73 -69 -66 -67 -69 -71 -73 -75 -76 -76 -75 -74 -73 -72 -72 -71 -71 -71 -72 -74 -77 -79 -81 -82 -83 -83 -81 -80 -81 -83 -83 -83 -83 -81 -79 -81 -81 -81 -81 -82 -81 -81 -82 -83 -84 -80 -71 -65 -60 -57 -55 -59 -65 -70 -71 -70 -68 -68 -69 -73 -76 -76 -73 -69 -66 -65 -61 -57 -53 -54 -58 -62 -63 -64 -64 -63 -63 -63 -63 -63 -63 -62 -61 -60 -59 -58 -57 -57 -57 -56 -54 -51 -48 -47 -47 -48 -48 -49 -50 -51 -50 -45 -34 -25 -23 -25 -28 -34 -39 -43 -46 -49 -49 -50 -50 -50 -50 -52 -55 -57 -58 -58 -58 -59 -58 -57 -55 -55 -54 -54 -55 -55 -57 -58 -60 -62 -63 -64 -65 -65 -64 -63 -64 -66 -68 -68 -62 -54 -48 -44 -44 -47 -49 -51 -52 -53 -54 -56 -58 -61 -64 -63 -62 -61 -64 -67 -67 -66 -63 -60 -59 -61 -64 -68 -71 -75 -79 -83 -88 -92 -95 -98 -101 -103 -101 -97 -93 -92 -94 -98 -102 -104 -105 -104 -102 -103 -105 -108 -110 -111 -112 -113 -115 -116 -118 -120 -123 -125 -126 -127 -127 -127 -125 -124 -122 -120 -121 -125 -132 -139 -142 -143 -143 -143 -143 -141 -137 -131 -126 -123 -122 -124 -128 -129 -128 -127 -127 -126 -124 -121 -119 -116 -113 -111 -111 -112 -113 -114 -113 -112 -111 -110 -111 -112 -113 -113 -113 -112 -112 -112 -111 -108 -105 -101 -98 -97 -96 -96 -97 -95 -96 -98 -99 -98 -96 -95 -94 -94 -94 -95 -94 -93 -92 -92 -90 -88 -86 -83 -83 -83 -83 -82 -81 -80 -78 -76 -75 -74 -73 -73 -72 -72 -72 -71 -70 -68 -68 -67 -66 -64 -62 -60 -60 -59 -59 -59 -58 -57 -56 -55 -54 -54 -54 -54 -54 -53 -52 -51 -51 -51 -51 -38 -38 -38 -37 -37 -38 -41 -39 -38 -41 -44 -41 -35 -30 -28 -31 -35 -34 -34 -36 -38 -37 -33 -33 -35 -37 -41 -42 -40 -39 -41 -42 -40 -38 -39 -40 -40 -42 -43 -44 -44 -47 -51 -54 -55 -53 -51 -50 -50 -49 -47 -49 -51 -50 -43 -30 -29 -35 -44 -52 -58 -62 -65 -67 -70 -71 -71 -71 -72 -76 -76 -73 -70 -70 -74 -76 -76 -75 -75 -75 -76 -74 -70 -68 -69 -70 -72 -74 -77 -77 -77 -76 -75 -74 -73 -73 -72 -71 -72 -74 -77 -81 -83 -83 -83 -83 -81 -80 -81 -82 -82 -81 -83 -83 -82 -81 -83 -83 -82 -82 -82 -82 -82 -82 -83 -82 -75 -66 -61 -58 -57 -57 -60 -64 -67 -69 -70 -71 -72 -73 -75 -77 -76 -72 -67 -64 -62 -58 -54 -52 -55 -59 -61 -62 -63 -63 -63 -64 -66 -66 -66 -64 -63 -62 -62 -60 -59 -58 -57 -56 -55 -54 -52 -50 -50 -51 -51 -50 -50 -50 -51 -50 -44 -33 -26 -27 -31 -35 -38 -41 -44 -48 -50 -49 -50 -50 -50 -50 -52 -55 -57 -59 -60 -61 -61 -61 -60 -59 -58 -57 -56 -56 -58 -58 -60 -62 -64 -65 -66 -67 -66 -66 -66 -67 -67 -68 -66 -60 -54 -50 -47 -46 -49 -52 -54 -56 -58 -60 -61 -62 -63 -64 -63 -61 -60 -64 -68 -69 -68 -66 -62 -59 -60 -63 -67 -70 -74 -78 -83 -88 -93 -96 -99 -101 -101 -98 -95 -93 -95 -99 -102 -104 -106 -106 -106 -105 -105 -106 -109 -111 -113 -114 -114 -115 -115 -117 -120 -122 -123 -124 -125 -125 -125 -124 -123 -121 -120 -120 -127 -134 -140 -143 -142 -141 -142 -142 -139 -134 -129 -125 -122 -122 -124 -127 -128 -128 -128 -128 -127 -124 -121 -119 -117 -113 -111 -110 -110 -111 -112 -112 -111 -109 -108 -109 -111 -112 -111 -110 -110 -111 -112 -111 -109 -107 -103 -100 -98 -97 -97 -98 -97 -97 -98 -98 -98 -97 -97 -97 -97 -96 -97 -95 -93 -92 -92 -91 -90 -88 -85 -85 -85 -85 -84 -82 -81 -79 -78 -77 -75 -74 -73 -73 -72 -72 -72 -70 -69 -68 -68 -66 -64 -62 -61 -61 -61 -61 -60 -58 -57 -56 -56 -55 -54 -55 -55 -54 -54 -53 -52 -52 -52 -51 -40 -37 -33 -31 -30 -30 -29 -27 -26 -29 -32 -30 -23 -19 -21 -26 -29 -28 -31 -36 -40 -38 -31 -31 -32 -34 -38 -41 -41 -41 -40 -39 -37 -36 -37 -38 -39 -42 -44 -43 -41 -43 -48 -52 -52 -49 -48 -49 -52 -54 -52 -50 -50 -48 -43 -32 -29 -34 -43 -53 -59 -62 -65 -68 -73 -77 -78 -77 -75 -76 -74 -70 -68 -70 -73 -74 -74 -74 -75 -76 -76 -75 -73 -71 -71 -73 -74 -75 -77 -78 -78 -77 -76 -76 -74 -73 -73 -73 -74 -76 -79 -82 -84 -82 -81 -79 -79 -79 -82 -83 -82 -80 -83 -85 -85 -85 -85 -84 -84 -83 -84 -84 -85 -84 -83 -79 -70 -61 -57 -55 -54 -55 -59 -63 -67 -70 -71 -73 -74 -75 -76 -76 -75 -71 -66 -62 -59 -55 -53 -52 -56 -60 -61 -62 -62 -63 -64 -65 -66 -66 -64 -63 -64 -65 -64 -61 -59 -57 -56 -55 -54 -53 -52 -52 -52 -53 -52 -51 -50 -51 -51 -48 -41 -32 -29 -32 -37 -41 -42 -42 -45 -49 -51 -50 -50 -50 -51 -52 -55 -57 -58 -60 -61 -63 -64 -64 -63 -63 -62 -60 -59 -59 -59 -60 -62 -63 -65 -66 -67 -66 -66 -66 -68 -67 -67 -67 -65 -58 -54 -51 -49 -48 -52 -55 -57 -58 -61 -64 -65 -64 -63 -62 -61 -60 -60 -65 -70 -72 -72 -69 -63 -60 -60 -63 -66 -69 -72 -77 -82 -89 -94 -98 -101 -102 -102 -99 -98 -98 -100 -101 -102 -104 -106 -108 -108 -107 -107 -108 -110 -112 -114 -115 -116 -115 -115 -116 -119 -121 -122 -123 -123 -123 -123 -123 -122 -121 -122 -125 -131 -137 -141 -142 -140 -139 -140 -139 -137 -133 -129 -126 -124 -124 -126 -128 -129 -129 -129 -129 -127 -125 -122 -119 -117 -114 -112 -111 -111 -111 -111 -111 -110 -108 -107 -108 -109 -109 -108 -108 -108 -109 -109 -109 -109 -107 -104 -101 -99 -98 -98 -99 -99 -98 -98 -97 -98 -98 -99 -100 -99 -98 -98 -97 -94 -93 -92 -92 -91 -91 -88 -87 -87 -87 -85 -84 -82 -80 -79 -78 -77 -75 -74 -74 -73 -73 -73 -72 -71 -69 -68 -67 -66 -64 -63 -63 -62 -62 -61 -60 -58 -57 -57 -56 -56 -56 -55 -54 -54 -54 -54 -53 -53 -51 -54 -49 -42 -36 -33 -30 -26 -22 -18 -17 -17 -16 -11 -11 -15 -20 -21 -21 -27 -36 -43 -40 -31 -31 -35 -40 -42 -43 -44 -43 -39 -36 -35 -35 -36 -37 -39 -43 -44 -42 -38 -40 -46 -50 -49 -44 -45 -50 -56 -61 -61 -54 -49 -47 -45 -38 -35 -37 -44 -52 -59 -63 -67 -69 -72 -74 -75 -74 -73 -71 -69 -67 -67 -69 -71 -72 -73 -74 -75 -75 -75 -75 -76 -75 -74 -75 -75 -76 -77 -78 -79 -78 -77 -77 -76 -74 -73 -74 -76 -78 -79 -81 -81 -79 -77 -77 -78 -80 -82 -83 -83 -81 -84 -87 -88 -86 -85 -84 -84 -84 -84 -85 -85 -83 -81 -77 -67 -58 -54 -54 -54 -55 -60 -65 -69 -71 -74 -74 -74 -73 -75 -75 -73 -69 -64 -60 -57 -54 -53 -54 -58 -60 -61 -62 -62 -62 -64 -65 -65 -65 -63 -62 -63 -64 -63 -61 -59 -56 -54 -53 -53 -52 -52 -52 -53 -53 -53 -51 -50 -51 -49 -44 -37 -32 -33 -37 -42 -45 -44 -44 -47 -50 -50 -49 -49 -50 -52 -53 -56 -58 -60 -63 -64 -65 -66 -66 -67 -65 -63 -60 -60 -60 -61 -61 -62 -63 -64 -64 -64 -64 -65 -65 -67 -66 -65 -66 -63 -58 -55 -52 -49 -50 -54 -58 -60 -63 -67 -70 -69 -65 -62 -62 -62 -62 -62 -65 -70 -75 -76 -72 -65 -62 -62 -65 -67 -69 -72 -76 -83 -90 -97 -101 -104 -104 -103 -101 -100 -101 -102 -102 -102 -105 -108 -111 -110 -110 -111 -112 -111 -112 -113 -115 -116 -115 -115 -116 -118 -120 -121 -122 -122 -122 -121 -120 -120 -121 -124 -130 -135 -138 -139 -139 -137 -137 -137 -137 -135 -130 -127 -125 -124 -125 -127 -129 -131 -132 -132 -132 -130 -127 -123 -119 -117 -115 -114 -114 -113 -112 -111 -110 -108 -107 -106 -106 -107 -106 -106 -106 -107 -107 -108 -109 -109 -108 -105 -102 -101 -100 -99 -100 -101 -100 -99 -98 -99 -100 -100 -100 -99 -99 -99 -98 -95 -94 -93 -92 -92 -92 -90 -89 -88 -88 -86 -84 -82 -80 -80 -78 -77 -76 -75 -75 -74 -74 -74 -74 -72 -70 -69 -68 -67 -65 -65 -64 -63 -63 -62 -61 -60 -60 -59 -59 -58 -58 -56 -55 -55 -55 -54 -54 -53 -52 -67 -66 -63 -59 -55 -49 -41 -32 -24 -18 -13 -10 -9 -12 -17 -21 -19 -16 -23 -34 -40 -38 -28 -28 -35 -44 -47 -47 -45 -42 -36 -32 -32 -33 -35 -37 -40 -44 -44 -41 -37 -39 -45 -47 -44 -39 -42 -52 -61 -66 -65 -55 -46 -42 -43 -42 -40 -41 -45 -52 -59 -65 -70 -72 -72 -70 -69 -68 -67 -65 -64 -65 -68 -70 -71 -72 -74 -74 -73 -71 -72 -75 -78 -78 -76 -76 -76 -77 -78 -79 -79 -79 -78 -77 -76 -75 -74 -75 -77 -78 -79 -79 -77 -76 -76 -78 -80 -83 -83 -84 -85 -85 -86 -87 -86 -84 -82 -80 -79 -80 -82 -83 -83 -81 -77 -72 -63 -56 -54 -54 -55 -57 -62 -67 -71 -72 -73 -72 -70 -70 -73 -74 -71 -66 -61 -58 -55 -54 -54 -55 -58 -60 -61 -62 -62 -63 -64 -63 -63 -63 -62 -62 -62 -62 -62 -60 -58 -56 -54 -52 -52 -52 -52 -53 -54 -53 -52 -51 -50 -50 -47 -42 -37 -34 -36 -41 -45 -46 -45 -45 -47 -49 -48 -47 -48 -50 -53 -55 -57 -60 -63 -66 -67 -68 -68 -68 -67 -64 -62 -61 -60 -60 -61 -61 -61 -60 -61 -62 -62 -62 -63 -63 -64 -64 -64 -64 -61 -58 -55 -53 -51 -52 -56 -60 -63 -67 -73 -74 -71 -66 -63 -63 -63 -63 -63 -66 -73 -79 -80 -75 -70 -67 -66 -68 -70 -71 -73 -77 -84 -92 -99 -103 -105 -105 -103 -102 -102 -102 -103 -103 -105 -108 -111 -113 -114 -114 -115 -116 -114 -113 -113 -114 -116 -116 -116 -117 -118 -119 -120 -121 -121 -121 -120 -118 -118 -120 -123 -129 -134 -137 -138 -138 -137 -136 -135 -135 -132 -127 -124 -123 -123 -124 -127 -129 -131 -132 -133 -132 -131 -128 -124 -121 -117 -114 -113 -114 -114 -113 -111 -109 -108 -106 -105 -104 -104 -104 -104 -104 -106 -107 -109 -110 -111 -110 -108 -105 -103 -101 -101 -103 -104 -104 -101 -100 -100 -101 -101 -100 -98 -98 -98 -98 -96 -95 -94 -93 -93 -92 -91 -90 -89 -89 -88 -85 -83 -81 -80 -78 -77 -76 -76 -76 -75 -74 -74 -75 -73 -71 -70 -69 -68 -67 -66 -65 -64 -63 -63 -63 -62 -62 -61 -61 -60 -59 -58 -56 -56 -55 -55 -54 -53 -52 -65 -64 -63 -62 -59 -54 -48 -43 -38 -30 -21 -14 -9 -15 -24 -29 -26 -19 -23 -32 -38 -37 -26 -25 -32 -41 -43 -44 -43 -40 -34 -28 -28 -30 -34 -38 -42 -44 -43 -40 -37 -41 -45 -44 -39 -36 -42 -54 -65 -69 -63 -51 -40 -35 -38 -42 -42 -44 -46 -52 -58 -64 -69 -73 -75 -74 -74 -73 -71 -68 -68 -71 -74 -76 -74 -77 -78 -76 -72 -72 -74 -77 -80 -81 -79 -78 -78 -79 -80 -81 -81 -81 -79 -78 -76 -74 -74 -76 -77 -77 -77 -75 -75 -77 -79 -81 -83 -84 -85 -86 -86 -86 -85 -84 -82 -79 -76 -73 -73 -75 -78 -81 -80 -77 -72 -65 -57 -54 -53 -54 -56 -60 -65 -69 -72 -71 -70 -68 -68 -70 -73 -72 -68 -63 -59 -57 -55 -54 -54 -55 -57 -59 -60 -61 -62 -62 -63 -63 -62 -62 -61 -61 -62 -62 -61 -60 -58 -56 -54 -52 -51 -51 -52 -52 -51 -50 -49 -48 -46 -44 -40 -37 -36 -36 -38 -42 -46 -46 -45 -45 -46 -47 -47 -48 -50 -52 -55 -57 -59 -63 -65 -67 -68 -68 -68 -68 -68 -65 -63 -61 -60 -60 -60 -60 -58 -57 -58 -59 -60 -61 -62 -61 -60 -61 -62 -63 -60 -57 -55 -54 -53 -53 -56 -60 -65 -69 -73 -73 -71 -67 -67 -68 -67 -65 -63 -67 -74 -80 -81 -78 -72 -69 -70 -74 -76 -75 -75 -78 -84 -92 -99 -102 -103 -103 -102 -102 -102 -103 -104 -107 -109 -112 -114 -116 -116 -117 -118 -119 -118 -116 -115 -116 -117 -117 -117 -117 -117 -118 -118 -118 -119 -119 -118 -116 -116 -117 -121 -126 -131 -134 -135 -136 -136 -135 -134 -133 -130 -125 -123 -122 -122 -123 -125 -127 -130 -132 -133 -133 -131 -128 -125 -122 -118 -114 -111 -112 -112 -111 -110 -108 -108 -107 -105 -103 -101 -102 -102 -103 -104 -106 -108 -110 -111 -112 -112 -109 -105 -102 -104 -107 -108 -107 -105 -102 -101 -101 -101 -101 -98 -98 -98 -96 -94 -94 -93 -93 -93 -92 -91 -90 -90 -90 -90 -87 -84 -81 -80 -79 -77 -77 -77 -76 -75 -75 -75 -75 -73 -72 -70 -69 -69 -68 -67 -66 -65 -64 -64 -64 -64 -63 -63 -63 -62 -61 -59 -57 -56 -55 -55 -54 -53 -52 -53 -53 -53 -54 -54 -53 -50 -47 -44 -37 -30 -23 -15 -17 -28 -37 -39 -30 -28 -33 -38 -38 -28 -24 -26 -32 -33 -37 -41 -40 -36 -29 -25 -27 -33 -39 -44 -45 -42 -39 -39 -46 -48 -45 -40 -40 -44 -53 -62 -68 -63 -50 -39 -34 -38 -43 -44 -45 -48 -51 -56 -63 -70 -76 -79 -81 -82 -82 -80 -77 -77 -79 -81 -81 -80 -82 -81 -78 -76 -77 -79 -80 -81 -80 -79 -78 -78 -79 -81 -83 -83 -82 -81 -80 -77 -74 -73 -75 -75 -75 -74 -75 -76 -79 -81 -82 -82 -84 -84 -84 -83 -83 -81 -78 -75 -70 -65 -66 -71 -76 -79 -81 -78 -71 -63 -56 -52 -52 -53 -54 -57 -64 -69 -71 -70 -67 -65 -66 -68 -72 -74 -71 -65 -60 -57 -56 -55 -54 -53 -54 -56 -58 -60 -60 -59 -60 -62 -62 -62 -61 -60 -61 -62 -62 -62 -60 -58 -55 -53 -51 -50 -50 -50 -48 -46 -45 -45 -45 -44 -42 -39 -36 -36 -37 -40 -43 -45 -45 -45 -45 -45 -46 -48 -51 -53 -55 -56 -59 -62 -65 -67 -67 -67 -67 -68 -68 -69 -67 -64 -62 -61 -61 -61 -59 -57 -56 -57 -58 -60 -63 -64 -62 -61 -61 -62 -63 -60 -56 -53 -53 -54 -55 -56 -59 -64 -68 -70 -70 -70 -70 -72 -72 -71 -68 -66 -70 -77 -83 -83 -79 -74 -71 -72 -75 -79 -80 -80 -80 -84 -91 -97 -101 -102 -101 -101 -102 -104 -106 -107 -110 -112 -115 -116 -117 -117 -118 -118 -120 -119 -117 -115 -115 -117 -118 -118 -117 -115 -115 -114 -114 -115 -116 -115 -115 -114 -115 -117 -121 -125 -129 -131 -132 -133 -134 -133 -131 -128 -124 -122 -121 -122 -123 -124 -125 -128 -132 -134 -134 -132 -128 -125 -121 -116 -112 -110 -111 -111 -110 -108 -107 -107 -105 -103 -101 -100 -101 -102 -102 -102 -104 -106 -108 -110 -111 -111 -109 -105 -103 -105 -108 -109 -109 -107 -104 -102 -101 -102 -102 -98 -97 -96 -96 -94 -93 -93 -94 -94 -92 -91 -91 -90 -90 -91 -88 -85 -82 -80 -79 -78 -77 -77 -76 -76 -75 -75 -75 -73 -72 -70 -70 -70 -69 -68 -66 -66 -65 -66 -66 -65 -64 -64 -64 -64 -63 -61 -59 -57 -56 -56 -55 -54 -52 -40 -42 -43 -45 -47 -48 -47 -44 -42 -38 -34 -29 -23 -21 -28 -39 -47 -43 -37 -38 -41 -40 -31 -24 -22 -24 -25 -32 -38 -42 -41 -34 -28 -27 -32 -40 -47 -47 -45 -45 -48 -53 -50 -44 -41 -45 -50 -54 -60 -66 -69 -58 -44 -35 -36 -39 -43 -49 -54 -55 -57 -61 -66 -71 -75 -79 -83 -85 -86 -84 -82 -84 -85 -84 -82 -83 -83 -82 -80 -79 -79 -80 -80 -79 -79 -79 -78 -78 -80 -82 -82 -82 -81 -81 -78 -74 -73 -73 -74 -74 -75 -77 -79 -81 -81 -81 -81 -81 -80 -79 -79 -77 -74 -70 -66 -63 -62 -69 -75 -78 -79 -78 -71 -65 -59 -56 -54 -53 -53 -55 -59 -67 -71 -69 -65 -61 -63 -67 -71 -74 -74 -67 -61 -58 -56 -55 -54 -53 -53 -54 -57 -59 -58 -56 -56 -58 -60 -61 -61 -60 -60 -61 -62 -62 -61 -58 -55 -53 -51 -49 -49 -47 -45 -42 -41 -42 -42 -42 -41 -40 -38 -38 -39 -41 -43 -45 -46 -46 -46 -46 -46 -48 -50 -53 -55 -57 -60 -62 -64 -67 -68 -69 -68 -68 -68 -68 -69 -68 -66 -64 -64 -64 -63 -61 -58 -58 -59 -62 -65 -67 -68 -65 -62 -60 -61 -62 -59 -55 -53 -52 -54 -56 -57 -59 -62 -67 -71 -71 -71 -72 -75 -76 -76 -73 -71 -74 -80 -84 -83 -79 -74 -73 -74 -77 -81 -84 -86 -86 -85 -88 -94 -99 -102 -101 -102 -104 -106 -108 -110 -112 -114 -116 -117 -117 -117 -117 -118 -118 -118 -116 -115 -115 -116 -117 -117 -115 -112 -109 -108 -108 -109 -111 -112 -113 -112 -112 -113 -116 -120 -123 -126 -128 -130 -131 -131 -129 -125 -122 -120 -120 -120 -122 -123 -125 -127 -131 -133 -134 -131 -128 -124 -121 -116 -112 -111 -111 -110 -108 -104 -103 -103 -103 -102 -101 -100 -100 -100 -99 -98 -101 -103 -106 -107 -109 -110 -109 -107 -106 -108 -109 -108 -107 -108 -106 -104 -103 -104 -102 -98 -96 -96 -96 -95 -94 -94 -94 -93 -91 -91 -90 -90 -90 -90 -88 -86 -83 -81 -79 -78 -78 -77 -77 -76 -75 -75 -76 -74 -73 -71 -70 -71 -70 -69 -68 -67 -67 -68 -67 -66 -65 -66 -66 -65 -64 -63 -61 -59 -57 -57 -56 -54 -52 -32 -34 -37 -41 -45 -46 -43 -39 -37 -36 -35 -33 -30 -29 -32 -39 -47 -50 -49 -47 -46 -44 -35 -27 -23 -21 -21 -26 -32 -38 -41 -37 -34 -34 -38 -43 -48 -50 -51 -52 -53 -51 -46 -42 -42 -46 -52 -58 -64 -68 -67 -62 -53 -46 -42 -41 -46 -53 -59 -63 -61 -60 -63 -68 -74 -77 -80 -83 -86 -87 -85 -86 -87 -87 -85 -86 -86 -85 -83 -81 -80 -79 -79 -79 -78 -79 -79 -79 -79 -79 -79 -79 -79 -80 -78 -75 -73 -72 -73 -75 -76 -78 -79 -79 -79 -79 -79 -77 -75 -75 -75 -74 -71 -69 -67 -66 -67 -74 -78 -78 -76 -73 -68 -63 -60 -59 -57 -54 -53 -55 -61 -67 -67 -64 -61 -62 -65 -69 -73 -74 -72 -64 -58 -55 -54 -53 -53 -53 -54 -56 -59 -58 -55 -53 -55 -57 -59 -60 -60 -60 -60 -61 -62 -61 -59 -55 -52 -49 -47 -45 -44 -41 -39 -37 -39 -41 -41 -39 -36 -36 -37 -39 -41 -42 -44 -47 -48 -47 -46 -47 -49 -51 -54 -56 -58 -59 -61 -63 -65 -67 -68 -68 -68 -68 -68 -68 -69 -68 -67 -65 -66 -67 -66 -64 -63 -63 -64 -67 -70 -72 -72 -68 -63 -61 -61 -60 -58 -55 -53 -51 -53 -55 -57 -60 -65 -70 -72 -71 -71 -73 -78 -81 -81 -78 -75 -77 -80 -83 -82 -79 -75 -74 -76 -80 -83 -88 -91 -93 -88 -88 -92 -98 -103 -105 -105 -106 -107 -108 -111 -113 -115 -116 -115 -114 -115 -116 -117 -117 -116 -115 -114 -114 -115 -116 -116 -113 -109 -105 -103 -102 -103 -105 -107 -109 -110 -109 -110 -112 -115 -118 -121 -124 -126 -128 -128 -126 -123 -120 -119 -119 -120 -121 -122 -124 -126 -130 -132 -132 -130 -127 -124 -121 -116 -112 -110 -110 -109 -107 -102 -100 -101 -101 -101 -100 -100 -99 -98 -96 -95 -97 -100 -102 -103 -105 -108 -108 -108 -108 -109 -109 -107 -105 -106 -106 -105 -104 -104 -102 -98 -97 -97 -96 -95 -94 -95 -95 -93 -92 -92 -92 -91 -90 -89 -88 -86 -84 -81 -80 -79 -78 -79 -78 -76 -75 -76 -77 -76 -74 -72 -71 -72 -71 -70 -69 -69 -70 -69 -68 -67 -66 -66 -67 -66 -65 -64 -63 -61 -59 -58 -57 -55 -53 -28 -30 -35 -42 -47 -47 -42 -35 -32 -35 -37 -38 -40 -42 -45 -49 -51 -53 -54 -55 -54 -51 -45 -36 -28 -22 -20 -24 -28 -30 -30 -29 -32 -38 -43 -48 -51 -56 -59 -61 -62 -60 -55 -50 -48 -48 -51 -57 -64 -69 -65 -58 -52 -49 -47 -49 -54 -58 -61 -64 -65 -64 -63 -64 -68 -72 -77 -81 -85 -88 -88 -89 -90 -90 -88 -88 -87 -85 -84 -84 -82 -80 -79 -79 -79 -80 -80 -81 -80 -77 -76 -75 -76 -78 -78 -75 -73 -70 -72 -74 -76 -77 -78 -77 -76 -76 -75 -72 -72 -72 -73 -73 -73 -72 -70 -69 -72 -77 -78 -77 -74 -70 -66 -62 -60 -59 -56 -54 -53 -55 -61 -64 -63 -61 -61 -63 -67 -71 -74 -75 -70 -61 -56 -53 -53 -53 -53 -53 -55 -58 -58 -54 -52 -51 -54 -56 -58 -59 -59 -58 -60 -62 -62 -60 -56 -52 -48 -44 -41 -39 -36 -34 -33 -35 -40 -41 -39 -34 -31 -33 -36 -40 -42 -43 -44 -46 -48 -48 -48 -49 -52 -55 -57 -59 -61 -62 -62 -64 -66 -67 -68 -68 -68 -68 -69 -69 -70 -69 -68 -67 -67 -68 -67 -67 -67 -68 -70 -72 -74 -76 -75 -70 -65 -63 -62 -61 -60 -59 -56 -53 -53 -54 -56 -60 -65 -68 -69 -69 -69 -72 -77 -79 -79 -76 -74 -74 -76 -80 -82 -80 -76 -75 -77 -81 -84 -89 -92 -93 -87 -86 -90 -97 -104 -105 -106 -105 -106 -108 -111 -112 -113 -113 -112 -111 -112 -113 -115 -116 -115 -113 -112 -112 -114 -115 -114 -111 -106 -103 -101 -100 -100 -100 -102 -104 -107 -107 -108 -109 -112 -115 -117 -120 -123 -124 -125 -123 -120 -119 -118 -118 -118 -119 -121 -123 -127 -130 -132 -131 -129 -126 -124 -121 -117 -111 -109 -109 -110 -108 -105 -102 -101 -100 -100 -99 -98 -98 -97 -94 -93 -94 -96 -98 -99 -101 -104 -106 -106 -107 -108 -107 -106 -105 -105 -104 -104 -103 -103 -99 -98 -98 -98 -97 -96 -95 -94 -94 -93 -92 -92 -92 -91 -89 -88 -87 -87 -85 -83 -81 -79 -79 -80 -79 -77 -75 -77 -77 -76 -74 -73 -72 -72 -72 -71 -71 -71 -72 -71 -69 -67 -66 -67 -67 -67 -67 -66 -65 -63 -61 -59 -58 -56 -54 -27 -28 -33 -40 -45 -45 -39 -29 -28 -32 -36 -39 -42 -47 -54 -58 -58 -57 -59 -62 -62 -59 -52 -46 -39 -32 -25 -26 -29 -30 -28 -25 -28 -35 -42 -46 -49 -54 -59 -64 -67 -67 -66 -64 -59 -52 -50 -57 -65 -71 -66 -57 -51 -49 -51 -57 -62 -65 -66 -67 -68 -68 -68 -67 -67 -72 -78 -83 -87 -89 -90 -90 -90 -89 -88 -87 -86 -85 -84 -86 -84 -82 -81 -80 -81 -82 -82 -81 -80 -77 -74 -72 -72 -75 -75 -74 -71 -68 -70 -72 -74 -75 -75 -73 -72 -72 -71 -69 -70 -72 -74 -75 -75 -74 -72 -71 -74 -77 -78 -76 -72 -68 -63 -61 -59 -57 -54 -52 -53 -56 -60 -62 -62 -62 -64 -67 -70 -73 -75 -74 -66 -57 -52 -51 -52 -53 -54 -54 -55 -56 -53 -50 -49 -50 -54 -56 -58 -58 -58 -58 -59 -61 -60 -58 -54 -50 -45 -39 -35 -32 -31 -31 -34 -38 -41 -41 -37 -31 -30 -33 -37 -41 -43 -43 -44 -46 -48 -50 -50 -53 -56 -58 -60 -61 -62 -63 -64 -65 -67 -67 -67 -67 -68 -69 -71 -73 -73 -71 -69 -68 -68 -68 -68 -68 -68 -70 -72 -74 -76 -77 -76 -71 -68 -65 -64 -64 -65 -65 -61 -57 -56 -56 -57 -61 -65 -68 -68 -68 -68 -71 -74 -76 -76 -75 -71 -71 -74 -80 -84 -82 -79 -77 -77 -80 -84 -88 -91 -90 -85 -85 -90 -98 -104 -105 -104 -104 -104 -107 -110 -111 -111 -110 -108 -108 -109 -111 -113 -114 -113 -111 -110 -111 -113 -114 -112 -109 -106 -104 -101 -98 -96 -95 -98 -102 -105 -107 -106 -107 -109 -112 -113 -116 -118 -120 -121 -120 -119 -118 -117 -117 -117 -118 -120 -123 -127 -129 -130 -129 -127 -126 -124 -121 -117 -113 -111 -111 -111 -111 -110 -107 -104 -101 -99 -98 -97 -95 -94 -92 -90 -90 -91 -93 -96 -98 -100 -102 -103 -103 -103 -104 -104 -105 -105 -105 -105 -104 -101 -98 -98 -98 -98 -98 -97 -96 -94 -93 -93 -93 -92 -91 -90 -89 -88 -87 -87 -86 -84 -81 -80 -80 -80 -78 -77 -76 -77 -77 -76 -74 -73 -72 -72 -72 -72 -73 -73 -73 -71 -69 -68 -68 -68 -68 -68 -68 -67 -65 -64 -61 -60 -58 -56 -55 -23 -24 -27 -33 -38 -36 -30 -23 -23 -28 -32 -36 -40 -45 -50 -52 -54 -55 -61 -65 -67 -65 -60 -53 -50 -46 -36 -28 -27 -26 -24 -22 -26 -33 -38 -42 -45 -49 -56 -63 -69 -70 -72 -74 -71 -62 -54 -58 -66 -72 -70 -62 -55 -51 -53 -60 -68 -72 -75 -75 -74 -74 -76 -77 -76 -78 -84 -89 -90 -89 -89 -89 -87 -85 -83 -84 -85 -84 -84 -86 -86 -84 -83 -83 -83 -83 -82 -80 -79 -77 -74 -71 -70 -71 -70 -68 -66 -66 -68 -70 -72 -72 -70 -68 -68 -68 -68 -69 -72 -74 -75 -75 -74 -73 -71 -71 -72 -76 -76 -74 -69 -65 -62 -60 -59 -57 -53 -51 -52 -55 -60 -62 -63 -65 -67 -70 -71 -73 -73 -71 -62 -52 -48 -48 -51 -53 -54 -54 -54 -52 -50 -48 -49 -51 -54 -56 -56 -56 -56 -58 -59 -59 -58 -55 -52 -47 -40 -34 -30 -28 -30 -33 -36 -39 -40 -38 -35 -32 -32 -36 -40 -43 -43 -43 -45 -47 -50 -52 -54 -56 -58 -60 -61 -62 -63 -63 -64 -65 -66 -66 -66 -66 -67 -69 -71 -73 -73 -71 -69 -68 -67 -67 -68 -68 -69 -70 -72 -74 -76 -76 -75 -72 -70 -69 -67 -67 -69 -69 -67 -62 -60 -59 -60 -63 -67 -69 -69 -68 -68 -71 -74 -76 -76 -75 -71 -71 -75 -82 -85 -85 -82 -79 -77 -79 -83 -88 -91 -89 -86 -87 -92 -98 -102 -102 -102 -102 -103 -106 -109 -109 -108 -107 -105 -105 -106 -108 -110 -111 -110 -109 -109 -112 -114 -113 -111 -108 -106 -104 -101 -97 -93 -93 -96 -101 -104 -106 -106 -107 -108 -110 -111 -112 -114 -116 -117 -118 -118 -117 -117 -116 -117 -118 -120 -123 -126 -128 -128 -127 -126 -125 -124 -122 -120 -117 -115 -113 -112 -112 -114 -112 -108 -103 -100 -97 -95 -93 -91 -90 -89 -88 -89 -91 -95 -96 -97 -97 -98 -99 -99 -100 -101 -104 -104 -105 -106 -105 -101 -98 -98 -97 -97 -97 -97 -96 -94 -93 -93 -93 -92 -91 -90 -90 -89 -88 -88 -86 -84 -82 -81 -80 -79 -78 -77 -77 -78 -78 -77 -75 -74 -72 -71 -72 -72 -73 -72 -73 -72 -70 -69 -69 -69 -69 -69 -68 -67 -66 -64 -61 -61 -59 -57 -56 -23 -22 -23 -25 -25 -25 -23 -22 -24 -25 -28 -31 -35 -40 -43 -45 -46 -48 -53 -57 -59 -61 -61 -59 -59 -57 -48 -39 -32 -25 -21 -21 -27 -32 -35 -37 -39 -44 -52 -60 -67 -70 -70 -73 -77 -74 -63 -63 -67 -73 -72 -66 -59 -54 -55 -62 -70 -77 -82 -85 -83 -83 -84 -86 -87 -88 -91 -92 -90 -87 -88 -87 -84 -80 -80 -83 -83 -83 -84 -86 -85 -84 -83 -84 -84 -82 -81 -80 -79 -77 -74 -70 -68 -67 -64 -61 -61 -64 -66 -68 -68 -66 -64 -64 -65 -67 -69 -72 -74 -74 -73 -72 -70 -69 -68 -68 -71 -74 -74 -71 -65 -62 -62 -62 -61 -59 -54 -51 -51 -54 -60 -62 -64 -66 -68 -69 -69 -71 -71 -67 -56 -47 -44 -46 -50 -53 -53 -53 -51 -49 -48 -49 -50 -52 -53 -53 -54 -54 -56 -58 -58 -57 -56 -54 -52 -46 -38 -32 -29 -31 -34 -37 -38 -39 -38 -37 -36 -35 -36 -38 -41 -42 -41 -43 -45 -48 -51 -53 -55 -57 -58 -60 -61 -62 -63 -63 -64 -65 -66 -66 -66 -67 -68 -69 -71 -72 -72 -69 -66 -64 -64 -66 -67 -68 -70 -71 -73 -74 -75 -74 -73 -72 -72 -70 -68 -67 -67 -68 -69 -66 -63 -62 -64 -66 -70 -71 -70 -70 -70 -71 -72 -74 -75 -76 -74 -75 -79 -85 -86 -85 -81 -78 -75 -78 -83 -88 -90 -89 -88 -91 -94 -98 -99 -99 -99 -100 -102 -104 -105 -105 -105 -105 -104 -105 -106 -107 -109 -110 -109 -109 -111 -114 -115 -112 -109 -106 -105 -103 -99 -96 -93 -93 -96 -99 -102 -104 -106 -107 -107 -108 -108 -108 -109 -111 -114 -116 -116 -116 -116 -116 -117 -118 -120 -123 -125 -126 -126 -126 -126 -126 -124 -122 -120 -117 -115 -113 -111 -111 -113 -112 -110 -105 -101 -97 -93 -90 -88 -87 -87 -87 -88 -89 -91 -92 -93 -94 -95 -96 -96 -97 -98 -100 -102 -103 -105 -103 -99 -97 -96 -96 -96 -97 -97 -96 -94 -94 -94 -93 -93 -92 -91 -91 -90 -89 -89 -86 -84 -82 -81 -80 -80 -79 -78 -78 -78 -78 -77 -76 -74 -73 -72 -72 -72 -73 -73 -72 -72 -70 -71 -70 -70 -69 -69 -69 -68 -67 -65 -63 -62 -60 -58 -57 -24 -22 -22 -24 -22 -19 -19 -22 -27 -28 -28 -30 -33 -38 -41 -43 -44 -45 -49 -51 -52 -54 -56 -57 -59 -60 -59 -54 -43 -32 -24 -23 -31 -35 -34 -32 -34 -41 -49 -55 -61 -66 -65 -67 -73 -81 -76 -72 -70 -69 -66 -62 -57 -56 -60 -69 -76 -80 -84 -88 -90 -90 -92 -93 -93 -94 -95 -94 -90 -84 -85 -83 -79 -75 -75 -77 -79 -80 -82 -83 -83 -83 -84 -86 -85 -82 -81 -81 -81 -79 -75 -70 -66 -62 -57 -56 -58 -62 -64 -64 -63 -61 -61 -63 -65 -67 -70 -74 -74 -72 -69 -67 -66 -65 -66 -68 -72 -74 -73 -69 -62 -59 -60 -62 -62 -59 -55 -52 -52 -55 -60 -64 -65 -66 -66 -66 -67 -69 -68 -61 -49 -43 -41 -44 -48 -52 -52 -52 -50 -49 -49 -50 -51 -52 -52 -51 -52 -53 -55 -56 -56 -55 -54 -52 -50 -44 -36 -30 -29 -33 -37 -39 -38 -38 -38 -37 -36 -36 -38 -39 -41 -41 -40 -43 -46 -50 -52 -53 -54 -55 -58 -61 -62 -63 -63 -63 -64 -66 -66 -67 -67 -69 -70 -70 -70 -71 -69 -65 -62 -60 -62 -65 -66 -68 -70 -70 -73 -74 -74 -72 -73 -72 -70 -67 -64 -59 -57 -57 -61 -63 -64 -66 -68 -70 -73 -73 -73 -73 -73 -72 -72 -73 -76 -77 -77 -79 -83 -86 -85 -83 -80 -78 -75 -78 -85 -90 -91 -89 -91 -95 -98 -99 -98 -97 -97 -99 -100 -101 -101 -101 -102 -104 -105 -106 -107 -108 -110 -111 -112 -113 -115 -116 -114 -110 -106 -106 -105 -102 -100 -98 -96 -95 -95 -97 -100 -102 -104 -105 -106 -105 -104 -104 -106 -109 -112 -114 -115 -115 -116 -116 -117 -118 -121 -123 -124 -125 -124 -124 -124 -124 -123 -122 -120 -119 -118 -117 -116 -114 -112 -110 -108 -106 -102 -98 -92 -88 -85 -85 -86 -86 -86 -88 -89 -89 -89 -90 -91 -93 -93 -94 -95 -97 -98 -101 -102 -100 -97 -95 -94 -94 -94 -95 -96 -95 -94 -94 -94 -94 -93 -92 -92 -91 -90 -90 -89 -87 -85 -83 -82 -81 -81 -80 -79 -80 -79 -78 -77 -77 -75 -74 -73 -72 -72 -73 -72 -72 -72 -71 -72 -72 -71 -70 -70 -70 -69 -68 -67 -64 -63 -61 -59 -57 -26 -23 -23 -25 -24 -20 -18 -21 -28 -32 -33 -34 -37 -42 -45 -47 -49 -50 -54 -55 -55 -54 -53 -52 -54 -59 -65 -63 -56 -45 -36 -31 -38 -43 -40 -32 -32 -39 -44 -48 -53 -63 -66 -67 -70 -79 -81 -78 -74 -71 -70 -65 -58 -56 -61 -73 -78 -82 -86 -89 -90 -89 -90 -91 -93 -94 -95 -94 -90 -83 -79 -76 -74 -74 -76 -77 -78 -79 -80 -81 -81 -81 -81 -80 -79 -78 -79 -80 -80 -78 -75 -70 -64 -58 -54 -53 -55 -59 -60 -61 -60 -60 -61 -63 -67 -70 -72 -74 -71 -67 -64 -63 -63 -64 -66 -69 -72 -73 -72 -67 -60 -56 -58 -59 -59 -58 -56 -54 -56 -59 -61 -64 -65 -64 -63 -63 -65 -68 -66 -57 -47 -42 -42 -44 -48 -51 -52 -52 -51 -51 -51 -52 -52 -52 -51 -51 -51 -53 -54 -55 -54 -53 -52 -50 -46 -41 -35 -30 -31 -35 -38 -38 -37 -38 -39 -38 -37 -38 -39 -41 -41 -40 -40 -45 -49 -52 -53 -53 -54 -57 -60 -63 -63 -64 -64 -65 -66 -68 -68 -69 -69 -71 -71 -70 -70 -70 -66 -62 -60 -60 -63 -64 -65 -66 -68 -69 -73 -75 -75 -73 -72 -71 -67 -61 -54 -52 -51 -52 -56 -63 -69 -72 -74 -75 -75 -76 -77 -79 -79 -77 -77 -78 -80 -81 -80 -82 -85 -87 -85 -82 -78 -75 -73 -77 -85 -90 -92 -90 -94 -99 -103 -103 -99 -96 -96 -97 -98 -98 -97 -98 -101 -104 -105 -106 -108 -110 -111 -113 -115 -117 -119 -116 -111 -107 -105 -107 -105 -103 -101 -100 -99 -97 -96 -97 -99 -100 -102 -103 -104 -104 -103 -103 -105 -108 -110 -112 -112 -113 -114 -116 -118 -120 -122 -124 -124 -124 -124 -124 -123 -122 -122 -121 -120 -120 -119 -118 -117 -114 -112 -108 -106 -106 -103 -98 -92 -87 -84 -84 -85 -85 -86 -87 -88 -88 -88 -88 -88 -90 -91 -91 -91 -92 -95 -98 -99 -96 -94 -93 -93 -92 -91 -93 -94 -94 -94 -94 -94 -94 -93 -92 -92 -91 -91 -90 -89 -88 -86 -85 -84 -83 -82 -82 -81 -82 -80 -78 -77 -77 -76 -75 -74 -73 -73 -73 -73 -73 -72 -72 -72 -72 -72 -71 -71 -71 -71 -70 -69 -66 -64 -63 -61 -59 -28 -27 -28 -29 -29 -25 -22 -24 -31 -38 -42 -43 -44 -48 -51 -54 -56 -59 -62 -63 -64 -63 -59 -55 -54 -57 -62 -62 -63 -59 -51 -40 -40 -52 -54 -46 -37 -40 -40 -41 -46 -58 -66 -70 -72 -75 -79 -79 -78 -77 -78 -71 -61 -57 -61 -71 -74 -76 -79 -83 -86 -88 -90 -93 -95 -93 -91 -89 -86 -80 -75 -72 -72 -74 -78 -78 -79 -80 -80 -79 -78 -76 -74 -74 -75 -76 -77 -78 -77 -74 -72 -68 -64 -58 -55 -53 -54 -57 -59 -60 -61 -61 -63 -66 -70 -72 -72 -70 -65 -62 -61 -63 -63 -65 -67 -71 -73 -74 -72 -67 -59 -54 -55 -57 -58 -57 -55 -55 -57 -61 -63 -64 -63 -63 -62 -61 -63 -65 -64 -60 -51 -44 -42 -43 -47 -50 -52 -53 -54 -54 -54 -54 -52 -51 -51 -50 -51 -51 -52 -52 -51 -51 -50 -48 -43 -38 -34 -33 -35 -37 -36 -35 -37 -40 -40 -39 -38 -39 -41 -42 -42 -41 -43 -48 -53 -55 -55 -55 -57 -59 -62 -63 -64 -64 -65 -66 -67 -69 -70 -71 -70 -71 -70 -69 -69 -69 -65 -62 -62 -64 -65 -65 -64 -65 -67 -70 -74 -77 -77 -72 -64 -59 -56 -55 -56 -60 -62 -61 -59 -64 -71 -74 -75 -76 -78 -79 -81 -82 -83 -83 -83 -84 -85 -84 -82 -82 -84 -85 -83 -80 -76 -73 -73 -78 -85 -90 -92 -92 -97 -102 -105 -103 -99 -96 -95 -95 -97 -98 -98 -100 -103 -105 -106 -107 -109 -112 -113 -115 -117 -119 -120 -116 -111 -107 -106 -108 -107 -106 -103 -100 -98 -96 -95 -95 -96 -98 -99 -100 -103 -104 -103 -103 -104 -107 -110 -112 -112 -113 -114 -116 -119 -121 -123 -124 -124 -124 -124 -125 -124 -122 -121 -120 -120 -120 -119 -118 -117 -114 -111 -108 -106 -105 -101 -96 -92 -88 -85 -84 -84 -85 -86 -86 -87 -87 -86 -85 -86 -87 -88 -89 -88 -89 -92 -94 -94 -92 -91 -92 -92 -90 -89 -90 -92 -93 -93 -94 -94 -94 -94 -93 -92 -92 -91 -90 -89 -88 -87 -86 -85 -84 -84 -84 -84 -83 -80 -77 -77 -77 -76 -76 -75 -74 -73 -74 -74 -73 -73 -73 -74 -74 -74 -72 -72 -72 -72 -71 -70 -68 -66 -64 -63 -60 -28 -29 -32 -33 -35 -33 -31 -32 -37 -45 -49 -51 -51 -52 -53 -56 -59 -62 -62 -61 -60 -59 -58 -55 -54 -55 -56 -53 -59 -63 -59 -47 -38 -50 -58 -58 -51 -50 -47 -43 -42 -50 -62 -70 -73 -74 -76 -74 -74 -75 -74 -66 -57 -54 -58 -66 -71 -74 -77 -81 -87 -90 -92 -94 -95 -91 -87 -83 -79 -74 -72 -73 -75 -77 -81 -80 -80 -80 -80 -79 -76 -73 -72 -73 -77 -79 -79 -78 -76 -72 -70 -68 -65 -61 -56 -54 -54 -58 -61 -62 -63 -65 -67 -69 -71 -70 -67 -63 -61 -61 -63 -64 -65 -68 -70 -72 -73 -73 -72 -67 -60 -53 -52 -54 -56 -57 -54 -54 -56 -60 -62 -62 -62 -60 -57 -56 -59 -61 -61 -58 -51 -45 -42 -44 -49 -52 -54 -55 -55 -55 -54 -54 -53 -51 -50 -50 -49 -49 -49 -49 -48 -48 -47 -43 -40 -37 -35 -35 -37 -37 -35 -35 -39 -43 -43 -41 -40 -40 -41 -42 -43 -44 -47 -52 -56 -57 -57 -57 -58 -61 -63 -64 -65 -66 -67 -68 -70 -71 -71 -70 -69 -68 -67 -68 -70 -71 -68 -66 -66 -68 -67 -66 -65 -66 -69 -72 -76 -78 -76 -67 -53 -48 -50 -57 -63 -70 -71 -67 -60 -62 -68 -73 -76 -78 -79 -80 -82 -83 -84 -84 -85 -86 -85 -83 -82 -81 -81 -81 -80 -77 -75 -74 -75 -81 -86 -90 -92 -94 -98 -102 -104 -101 -97 -96 -96 -99 -101 -102 -103 -105 -107 -108 -108 -109 -112 -114 -115 -116 -118 -120 -119 -115 -111 -109 -109 -109 -110 -108 -105 -101 -97 -95 -95 -94 -94 -95 -96 -99 -101 -102 -103 -103 -104 -107 -109 -112 -113 -114 -115 -117 -119 -121 -123 -123 -124 -124 -124 -125 -124 -122 -120 -120 -120 -120 -120 -119 -117 -114 -110 -106 -103 -102 -99 -95 -91 -87 -84 -83 -83 -84 -85 -85 -85 -85 -85 -84 -84 -85 -86 -86 -86 -87 -89 -90 -90 -89 -90 -91 -92 -89 -88 -88 -90 -92 -92 -94 -95 -95 -94 -94 -93 -93 -92 -90 -89 -88 -87 -87 -87 -86 -86 -86 -87 -84 -80 -79 -78 -78 -78 -77 -76 -75 -74 -74 -74 -74 -73 -73 -75 -75 -75 -74 -73 -73 -73 -71 -69 -68 -67 -65 -64 -61 -25 -27 -30 -35 -39 -40 -39 -39 -40 -46 -49 -51 -51 -51 -52 -55 -59 -60 -57 -56 -53 -50 -46 -47 -50 -51 -50 -43 -46 -55 -61 -59 -49 -54 -61 -65 -61 -59 -60 -57 -51 -47 -56 -67 -74 -75 -74 -72 -70 -69 -67 -60 -55 -55 -59 -64 -70 -74 -79 -83 -87 -89 -92 -94 -94 -90 -85 -80 -75 -71 -71 -74 -78 -82 -85 -84 -82 -82 -82 -81 -79 -77 -77 -79 -81 -81 -79 -78 -76 -72 -69 -68 -67 -62 -57 -55 -57 -62 -64 -65 -66 -67 -69 -69 -68 -66 -63 -61 -62 -63 -65 -65 -67 -70 -71 -71 -71 -71 -70 -66 -59 -52 -49 -51 -53 -54 -53 -53 -56 -59 -61 -61 -59 -55 -52 -55 -59 -60 -60 -57 -52 -47 -45 -46 -49 -52 -54 -55 -55 -55 -54 -53 -53 -52 -50 -48 -46 -44 -45 -46 -46 -45 -42 -39 -38 -36 -35 -35 -36 -36 -36 -38 -42 -44 -44 -43 -42 -42 -42 -43 -44 -46 -51 -55 -58 -59 -58 -59 -61 -63 -65 -66 -68 -69 -71 -72 -73 -72 -70 -68 -67 -65 -65 -66 -69 -71 -70 -70 -70 -71 -69 -69 -69 -70 -73 -76 -77 -76 -72 -60 -48 -45 -51 -62 -70 -74 -73 -69 -64 -65 -68 -72 -76 -79 -79 -80 -82 -85 -86 -87 -87 -86 -86 -84 -82 -80 -78 -76 -75 -75 -75 -76 -79 -83 -87 -91 -94 -96 -98 -100 -101 -99 -98 -98 -100 -103 -105 -107 -108 -110 -111 -111 -112 -114 -116 -116 -115 -116 -118 -118 -116 -113 -111 -111 -110 -111 -111 -109 -106 -102 -99 -97 -95 -94 -92 -92 -94 -97 -100 -101 -102 -103 -105 -107 -109 -111 -113 -115 -116 -117 -119 -121 -122 -122 -122 -123 -123 -124 -123 -122 -121 -120 -120 -120 -119 -119 -118 -115 -110 -104 -100 -97 -97 -96 -93 -88 -84 -82 -81 -82 -83 -84 -84 -84 -83 -83 -83 -83 -83 -83 -83 -85 -87 -89 -89 -88 -90 -91 -91 -88 -87 -88 -89 -90 -92 -94 -95 -95 -94 -94 -94 -94 -93 -91 -89 -89 -88 -88 -88 -88 -88 -88 -88 -85 -83 -81 -80 -79 -79 -79 -78 -77 -76 -75 -75 -74 -74 -74 -75 -77 -77 -76 -75 -75 -74 -73 -69 -68 -67 -66 -64 -62 -21 -23 -28 -34 -39 -37 -36 -36 -38 -42 -45 -47 -48 -46 -48 -53 -58 -59 -57 -55 -50 -45 -41 -44 -47 -48 -46 -43 -42 -49 -59 -66 -63 -64 -67 -70 -68 -68 -71 -71 -66 -56 -57 -65 -73 -76 -74 -72 -70 -68 -64 -57 -56 -59 -65 -70 -74 -78 -82 -85 -86 -87 -90 -93 -91 -88 -84 -80 -77 -75 -74 -76 -80 -85 -89 -88 -87 -86 -86 -84 -83 -83 -83 -84 -83 -80 -79 -78 -76 -71 -70 -69 -68 -63 -59 -59 -62 -65 -66 -66 -67 -68 -68 -67 -66 -65 -63 -64 -65 -67 -67 -66 -68 -69 -70 -70 -70 -69 -67 -63 -58 -51 -48 -49 -50 -51 -51 -53 -56 -59 -59 -57 -54 -52 -52 -57 -60 -60 -58 -56 -51 -48 -46 -46 -48 -50 -52 -53 -54 -53 -52 -52 -52 -52 -50 -45 -41 -40 -42 -44 -43 -41 -37 -35 -36 -37 -37 -34 -34 -35 -37 -41 -44 -45 -44 -43 -44 -47 -47 -46 -46 -48 -53 -57 -60 -60 -60 -62 -64 -66 -68 -69 -70 -72 -74 -75 -75 -73 -69 -65 -62 -62 -64 -66 -69 -70 -69 -69 -69 -70 -70 -71 -74 -76 -78 -78 -76 -70 -59 -47 -45 -49 -57 -66 -73 -75 -74 -70 -69 -70 -71 -73 -77 -80 -82 -83 -85 -87 -89 -90 -90 -89 -87 -86 -83 -79 -72 -67 -69 -72 -76 -78 -80 -83 -87 -92 -96 -96 -97 -98 -99 -99 -99 -100 -102 -105 -107 -109 -109 -110 -111 -113 -115 -116 -116 -115 -115 -116 -117 -116 -112 -110 -110 -111 -111 -111 -110 -108 -105 -103 -100 -97 -95 -92 -90 -90 -91 -93 -97 -100 -103 -104 -106 -107 -109 -111 -113 -115 -116 -118 -119 -120 -121 -122 -122 -122 -122 -122 -122 -123 -122 -122 -121 -119 -118 -118 -117 -115 -110 -104 -98 -95 -95 -95 -95 -91 -85 -81 -80 -80 -81 -82 -83 -83 -82 -82 -82 -82 -82 -82 -82 -83 -84 -87 -87 -88 -89 -89 -89 -89 -88 -88 -89 -90 -92 -94 -96 -95 -93 -93 -93 -93 -93 -91 -90 -89 -88 -88 -89 -89 -89 -90 -89 -87 -85 -84 -81 -80 -79 -79 -79 -78 -76 -76 -77 -76 -75 -75 -76 -78 -78 -76 -76 -76 -76 -74 -70 -68 -67 -66 -64 -63 -26 -27 -30 -32 -33 -32 -32 -33 -34 -37 -41 -44 -45 -42 -44 -49 -53 -55 -56 -56 -53 -47 -41 -40 -41 -44 -46 -48 -48 -51 -57 -65 -68 -69 -70 -70 -71 -72 -73 -75 -74 -68 -64 -67 -72 -76 -74 -71 -69 -67 -64 -57 -57 -63 -71 -75 -78 -80 -83 -86 -87 -88 -91 -92 -88 -82 -81 -81 -81 -82 -82 -82 -83 -86 -90 -91 -91 -90 -87 -83 -83 -83 -84 -82 -81 -80 -80 -79 -76 -72 -69 -69 -68 -65 -63 -64 -66 -66 -66 -66 -67 -67 -66 -66 -67 -68 -68 -69 -69 -70 -69 -68 -67 -67 -68 -69 -68 -65 -63 -60 -57 -51 -48 -48 -48 -48 -50 -53 -55 -56 -55 -53 -52 -52 -56 -61 -61 -59 -56 -54 -50 -46 -45 -45 -47 -48 -49 -50 -50 -49 -50 -52 -54 -52 -45 -40 -38 -39 -42 -43 -42 -40 -36 -34 -36 -39 -39 -37 -34 -35 -37 -40 -45 -47 -46 -45 -47 -51 -51 -49 -48 -50 -55 -59 -61 -61 -62 -64 -66 -68 -70 -71 -72 -74 -76 -77 -76 -74 -69 -64 -60 -60 -64 -67 -69 -68 -67 -67 -69 -70 -71 -74 -78 -80 -79 -74 -65 -54 -43 -42 -52 -62 -67 -70 -75 -78 -76 -71 -69 -72 -74 -76 -78 -81 -84 -86 -88 -88 -89 -90 -91 -91 -89 -86 -80 -73 -64 -64 -69 -73 -76 -79 -81 -83 -87 -93 -97 -95 -95 -96 -99 -99 -101 -103 -105 -107 -108 -108 -109 -109 -110 -112 -113 -114 -114 -113 -113 -114 -114 -111 -107 -106 -108 -110 -111 -110 -109 -106 -104 -102 -100 -97 -94 -91 -89 -87 -88 -90 -94 -99 -103 -105 -107 -108 -110 -112 -113 -114 -116 -117 -118 -119 -119 -120 -121 -121 -121 -121 -122 -123 -123 -122 -120 -118 -116 -114 -115 -114 -110 -105 -100 -95 -93 -94 -94 -91 -86 -83 -80 -79 -79 -80 -81 -82 -83 -83 -83 -82 -82 -82 -81 -82 -83 -85 -85 -86 -86 -87 -88 -88 -88 -88 -89 -90 -91 -93 -94 -93 -92 -92 -92 -93 -92 -91 -90 -89 -88 -88 -89 -90 -91 -90 -89 -88 -87 -85 -82 -81 -80 -79 -80 -78 -77 -77 -78 -78 -76 -76 -77 -79 -78 -76 -76 -77 -77 -75 -72 -69 -68 -67 -65 -64 -29 -30 -31 -30 -26 -26 -27 -28 -29 -32 -39 -43 -43 -40 -41 -44 -46 -48 -51 -56 -56 -53 -46 -38 -36 -38 -43 -49 -53 -55 -58 -61 -64 -66 -67 -67 -68 -69 -69 -69 -70 -71 -71 -71 -73 -74 -73 -69 -65 -62 -59 -57 -59 -63 -66 -67 -70 -75 -81 -86 -90 -93 -95 -92 -85 -77 -76 -78 -81 -84 -87 -88 -89 -91 -92 -89 -87 -87 -87 -84 -82 -80 -79 -80 -82 -83 -82 -80 -77 -74 -70 -68 -68 -67 -67 -67 -65 -62 -62 -64 -66 -68 -68 -68 -71 -73 -74 -73 -72 -71 -70 -69 -67 -66 -67 -66 -65 -62 -59 -57 -56 -52 -49 -48 -47 -48 -51 -53 -53 -52 -51 -52 -54 -57 -60 -62 -60 -56 -52 -52 -49 -47 -45 -45 -46 -47 -48 -49 -48 -47 -50 -54 -54 -48 -40 -37 -38 -41 -44 -44 -43 -40 -37 -35 -36 -38 -39 -38 -35 -34 -37 -42 -48 -49 -48 -47 -49 -52 -52 -51 -50 -52 -56 -57 -58 -59 -62 -64 -67 -68 -70 -72 -73 -75 -77 -76 -75 -73 -70 -65 -61 -61 -65 -68 -69 -67 -67 -68 -70 -72 -75 -78 -82 -82 -76 -62 -51 -44 -43 -47 -57 -65 -70 -72 -76 -78 -75 -69 -67 -69 -72 -75 -77 -80 -84 -87 -88 -88 -88 -89 -91 -92 -88 -80 -72 -66 -64 -71 -77 -79 -78 -79 -81 -84 -88 -92 -95 -93 -93 -94 -98 -100 -103 -106 -108 -108 -106 -105 -106 -107 -108 -110 -110 -110 -109 -109 -110 -111 -110 -107 -105 -106 -108 -111 -111 -110 -108 -105 -103 -102 -100 -97 -94 -90 -87 -86 -85 -87 -91 -97 -101 -105 -108 -109 -110 -112 -113 -114 -115 -116 -117 -117 -117 -118 -119 -120 -120 -121 -122 -123 -123 -122 -119 -117 -115 -114 -115 -115 -112 -109 -104 -97 -94 -93 -93 -91 -89 -86 -83 -79 -78 -79 -81 -82 -83 -83 -82 -82 -81 -81 -81 -81 -82 -84 -84 -83 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -92 -91 -91 -91 -92 -91 -90 -89 -89 -88 -89 -90 -91 -91 -91 -89 -89 -88 -86 -83 -82 -81 -80 -79 -78 -77 -78 -78 -78 -77 -78 -79 -79 -77 -76 -75 -76 -77 -75 -73 -70 -69 -67 -65 -64 -25 -28 -30 -29 -26 -27 -28 -28 -26 -27 -34 -38 -39 -37 -38 -37 -38 -39 -46 -55 -59 -58 -53 -44 -36 -35 -39 -46 -54 -59 -61 -61 -62 -63 -64 -64 -64 -65 -65 -64 -64 -67 -71 -73 -73 -74 -72 -67 -61 -56 -53 -54 -56 -56 -55 -55 -61 -69 -77 -85 -91 -93 -93 -88 -79 -72 -73 -77 -81 -84 -85 -88 -90 -90 -88 -82 -80 -80 -81 -78 -78 -77 -77 -78 -80 -81 -79 -77 -77 -75 -72 -70 -69 -68 -65 -61 -57 -55 -60 -64 -67 -70 -71 -72 -74 -76 -77 -75 -72 -71 -70 -68 -67 -66 -65 -63 -61 -58 -57 -56 -57 -54 -52 -49 -47 -48 -51 -52 -52 -52 -53 -55 -57 -59 -60 -60 -58 -54 -51 -50 -50 -49 -46 -45 -47 -49 -50 -50 -49 -50 -54 -54 -50 -40 -36 -38 -41 -44 -46 -46 -45 -43 -40 -37 -36 -37 -37 -36 -35 -35 -39 -45 -50 -50 -48 -47 -50 -53 -54 -54 -54 -55 -57 -57 -58 -61 -64 -66 -67 -68 -70 -72 -74 -77 -79 -76 -73 -71 -68 -65 -63 -64 -67 -69 -69 -68 -68 -70 -73 -77 -79 -82 -83 -81 -70 -57 -49 -49 -54 -60 -66 -69 -72 -73 -76 -75 -72 -66 -65 -68 -71 -72 -75 -79 -83 -86 -88 -90 -90 -91 -92 -92 -86 -75 -66 -62 -66 -76 -82 -83 -80 -79 -81 -85 -89 -93 -93 -93 -92 -92 -93 -97 -102 -105 -106 -103 -101 -101 -102 -103 -105 -107 -107 -107 -106 -107 -108 -108 -107 -106 -106 -108 -110 -112 -111 -110 -108 -106 -105 -103 -101 -98 -94 -89 -86 -84 -83 -84 -88 -94 -98 -102 -105 -107 -109 -112 -113 -114 -115 -115 -116 -115 -116 -117 -118 -119 -119 -120 -121 -122 -122 -122 -120 -117 -115 -113 -114 -113 -113 -111 -108 -101 -95 -91 -90 -90 -91 -91 -88 -83 -81 -81 -82 -82 -82 -81 -81 -80 -79 -78 -79 -80 -80 -81 -81 -81 -81 -81 -82 -83 -84 -86 -88 -89 -90 -90 -91 -91 -90 -90 -90 -90 -89 -89 -88 -88 -88 -88 -90 -91 -91 -91 -90 -89 -88 -86 -84 -83 -82 -80 -80 -78 -78 -78 -79 -78 -79 -80 -81 -80 -78 -76 -75 -75 -76 -75 -74 -72 -70 -67 -65 -65 -24 -30 -33 -32 -30 -31 -31 -30 -27 -26 -30 -34 -36 -34 -33 -32 -32 -34 -41 -54 -61 -61 -55 -50 -45 -42 -43 -47 -55 -61 -65 -65 -63 -63 -63 -63 -63 -64 -65 -65 -65 -67 -70 -70 -70 -70 -70 -66 -60 -57 -60 -67 -68 -67 -64 -63 -68 -75 -82 -87 -91 -88 -84 -79 -74 -70 -72 -75 -80 -85 -88 -89 -88 -84 -79 -75 -74 -75 -75 -75 -76 -76 -76 -77 -80 -79 -78 -77 -78 -75 -73 -72 -70 -67 -61 -55 -52 -55 -61 -66 -70 -72 -73 -74 -75 -75 -75 -74 -72 -71 -69 -68 -67 -65 -63 -61 -60 -58 -56 -56 -56 -54 -51 -49 -48 -49 -52 -54 -55 -55 -56 -57 -58 -57 -57 -58 -58 -54 -50 -48 -49 -48 -46 -45 -50 -53 -53 -53 -52 -53 -56 -54 -46 -36 -38 -41 -45 -47 -48 -48 -47 -46 -44 -41 -40 -38 -37 -37 -37 -39 -43 -49 -52 -50 -48 -48 -51 -54 -55 -56 -57 -58 -58 -59 -61 -64 -66 -66 -67 -68 -70 -72 -75 -77 -76 -72 -68 -66 -65 -65 -65 -66 -68 -69 -69 -68 -69 -72 -76 -80 -82 -81 -79 -72 -62 -56 -57 -60 -65 -69 -71 -71 -71 -74 -76 -76 -73 -68 -68 -70 -72 -74 -76 -80 -84 -88 -91 -94 -94 -94 -93 -91 -84 -74 -66 -63 -69 -79 -84 -86 -84 -82 -82 -85 -90 -94 -93 -93 -92 -92 -92 -95 -97 -98 -98 -97 -95 -96 -99 -101 -103 -104 -105 -105 -106 -106 -106 -105 -105 -106 -107 -108 -110 -111 -111 -111 -109 -108 -106 -105 -102 -98 -93 -88 -84 -82 -81 -83 -86 -90 -94 -97 -100 -104 -107 -110 -113 -114 -115 -115 -115 -114 -115 -116 -117 -117 -118 -118 -118 -119 -121 -121 -120 -118 -116 -113 -112 -111 -110 -109 -108 -104 -98 -92 -89 -91 -93 -94 -91 -87 -84 -83 -82 -81 -80 -79 -78 -77 -76 -76 -76 -77 -78 -78 -78 -78 -78 -78 -79 -80 -81 -83 -85 -86 -87 -88 -90 -90 -89 -88 -88 -88 -88 -87 -87 -87 -87 -88 -89 -89 -90 -89 -89 -88 -88 -86 -85 -84 -83 -81 -81 -79 -78 -78 -80 -80 -81 -82 -83 -81 -79 -77 -75 -74 -75 -76 -75 -73 -71 -68 -67 -66 -26 -34 -38 -37 -35 -35 -36 -36 -33 -30 -32 -36 -38 -36 -32 -29 -29 -31 -38 -53 -63 -63 -54 -46 -48 -51 -53 -53 -54 -58 -61 -63 -61 -61 -61 -61 -61 -61 -65 -68 -71 -72 -73 -72 -70 -68 -67 -63 -57 -55 -61 -71 -77 -80 -80 -79 -79 -80 -83 -87 -89 -84 -76 -69 -67 -72 -76 -80 -84 -88 -90 -88 -83 -75 -68 -68 -69 -72 -72 -75 -78 -79 -79 -80 -81 -80 -80 -80 -80 -76 -74 -72 -70 -65 -58 -54 -54 -60 -66 -71 -74 -75 -74 -74 -74 -74 -72 -72 -71 -70 -69 -68 -65 -62 -60 -59 -59 -59 -57 -55 -54 -52 -50 -49 -50 -52 -56 -58 -58 -57 -56 -56 -54 -53 -53 -57 -58 -55 -50 -47 -47 -47 -46 -46 -50 -55 -57 -57 -57 -57 -56 -51 -42 -37 -43 -48 -50 -50 -50 -49 -49 -49 -49 -49 -48 -45 -43 -43 -44 -46 -49 -52 -52 -49 -47 -48 -52 -55 -56 -57 -58 -59 -60 -62 -65 -67 -68 -69 -69 -70 -72 -74 -76 -77 -75 -70 -67 -66 -66 -66 -66 -68 -69 -71 -70 -69 -71 -74 -77 -81 -81 -76 -68 -59 -54 -59 -65 -70 -72 -73 -72 -71 -71 -75 -78 -78 -76 -73 -73 -74 -75 -77 -79 -83 -86 -90 -94 -96 -97 -97 -95 -89 -81 -73 -67 -67 -73 -80 -85 -88 -89 -85 -84 -85 -89 -92 -91 -91 -91 -93 -94 -94 -93 -93 -92 -91 -91 -94 -98 -101 -103 -103 -104 -104 -105 -104 -103 -103 -104 -106 -106 -107 -107 -108 -110 -110 -110 -108 -106 -104 -101 -96 -90 -85 -82 -80 -80 -82 -85 -87 -89 -91 -95 -98 -103 -107 -111 -113 -114 -114 -114 -114 -115 -115 -116 -116 -116 -116 -116 -117 -118 -119 -119 -118 -116 -114 -112 -110 -110 -109 -109 -106 -100 -94 -91 -92 -93 -93 -92 -89 -87 -85 -82 -80 -79 -77 -76 -74 -73 -72 -73 -75 -76 -76 -76 -76 -76 -77 -78 -78 -78 -79 -81 -83 -84 -86 -88 -88 -88 -88 -88 -88 -87 -87 -86 -86 -87 -88 -88 -89 -89 -88 -88 -87 -87 -86 -85 -85 -84 -83 -82 -81 -80 -79 -81 -81 -82 -83 -83 -81 -79 -78 -76 -75 -76 -76 -75 -73 -71 -69 -68 -67 -29 -37 -41 -41 -40 -40 -46 -49 -47 -42 -40 -42 -44 -42 -34 -29 -27 -29 -36 -49 -62 -64 -53 -37 -40 -49 -58 -60 -56 -56 -59 -63 -62 -61 -63 -63 -61 -60 -66 -71 -73 -73 -73 -73 -70 -67 -65 -58 -52 -52 -60 -71 -79 -83 -83 -80 -77 -78 -82 -87 -89 -81 -71 -65 -66 -75 -81 -86 -89 -89 -89 -87 -80 -70 -63 -64 -68 -72 -75 -79 -83 -85 -86 -85 -83 -83 -84 -84 -82 -77 -75 -72 -68 -63 -60 -59 -62 -67 -70 -73 -75 -75 -74 -73 -73 -72 -71 -71 -70 -69 -69 -67 -62 -59 -57 -57 -58 -60 -59 -56 -53 -52 -50 -50 -52 -55 -58 -58 -57 -55 -53 -51 -49 -49 -52 -57 -58 -56 -50 -45 -45 -46 -47 -49 -52 -55 -56 -56 -55 -54 -51 -46 -42 -44 -49 -50 -49 -48 -50 -51 -53 -54 -57 -57 -55 -52 -51 -51 -52 -53 -54 -55 -52 -50 -49 -50 -53 -56 -57 -59 -60 -61 -62 -64 -67 -68 -69 -70 -71 -72 -74 -76 -77 -76 -73 -69 -67 -67 -67 -68 -70 -73 -74 -74 -72 -72 -72 -74 -76 -79 -77 -68 -56 -50 -55 -63 -70 -74 -74 -73 -71 -71 -73 -78 -80 -80 -78 -76 -75 -76 -77 -80 -83 -86 -88 -90 -91 -93 -95 -96 -95 -92 -85 -76 -69 -67 -74 -80 -85 -88 -90 -89 -87 -87 -88 -90 -89 -89 -90 -93 -95 -94 -93 -92 -91 -90 -92 -94 -96 -99 -101 -102 -103 -102 -102 -102 -101 -100 -103 -104 -104 -103 -103 -104 -106 -107 -107 -106 -104 -101 -97 -92 -86 -81 -79 -79 -80 -82 -84 -85 -86 -87 -89 -93 -97 -102 -107 -110 -112 -113 -113 -113 -115 -116 -115 -115 -114 -114 -114 -115 -116 -116 -117 -117 -116 -114 -113 -111 -110 -110 -109 -107 -102 -96 -93 -93 -93 -92 -91 -90 -88 -86 -83 -80 -78 -76 -74 -73 -72 -71 -70 -71 -72 -73 -74 -74 -74 -74 -75 -76 -77 -77 -77 -79 -81 -83 -85 -86 -87 -88 -87 -87 -87 -86 -86 -86 -87 -88 -89 -90 -89 -88 -87 -86 -86 -86 -86 -85 -85 -84 -84 -83 -82 -81 -82 -83 -83 -83 -82 -80 -80 -78 -76 -75 -75 -75 -74 -73 -71 -70 -69 -68 -34 -43 -46 -46 -44 -45 -54 -59 -59 -55 -52 -53 -55 -53 -42 -32 -27 -29 -35 -46 -58 -63 -56 -38 -36 -45 -56 -63 -61 -60 -61 -64 -66 -64 -66 -67 -66 -62 -67 -72 -74 -73 -72 -71 -69 -65 -59 -53 -52 -57 -66 -74 -80 -80 -76 -71 -71 -75 -81 -87 -88 -76 -66 -63 -69 -79 -86 -89 -89 -87 -88 -86 -80 -71 -64 -65 -70 -76 -81 -84 -88 -89 -89 -88 -85 -84 -85 -85 -81 -77 -74 -71 -67 -65 -65 -66 -69 -70 -71 -72 -73 -72 -71 -71 -71 -71 -70 -70 -69 -69 -68 -65 -59 -56 -55 -56 -57 -60 -60 -57 -54 -51 -50 -51 -54 -56 -57 -56 -54 -50 -47 -47 -47 -50 -54 -58 -59 -55 -49 -45 -46 -47 -49 -52 -54 -54 -54 -54 -52 -51 -48 -46 -46 -48 -48 -48 -48 -51 -53 -55 -58 -62 -63 -61 -57 -54 -54 -56 -58 -59 -58 -57 -54 -53 -53 -55 -57 -60 -62 -63 -63 -63 -63 -64 -66 -66 -67 -69 -72 -73 -75 -77 -77 -76 -73 -70 -69 -69 -69 -70 -74 -78 -79 -79 -76 -75 -75 -75 -77 -79 -78 -71 -61 -57 -62 -67 -72 -74 -74 -72 -71 -71 -74 -79 -81 -80 -77 -76 -76 -77 -80 -84 -88 -90 -90 -90 -90 -92 -95 -97 -97 -93 -85 -75 -67 -66 -75 -82 -86 -88 -92 -95 -94 -92 -89 -89 -89 -89 -90 -93 -95 -95 -94 -92 -90 -90 -92 -93 -94 -96 -98 -99 -100 -100 -100 -99 -98 -99 -101 -101 -100 -99 -99 -100 -102 -102 -103 -102 -100 -97 -92 -86 -81 -78 -78 -79 -82 -84 -86 -86 -86 -86 -87 -88 -92 -97 -102 -106 -109 -111 -112 -113 -114 -115 -115 -114 -113 -113 -112 -112 -112 -113 -113 -114 -114 -114 -114 -113 -112 -111 -110 -108 -105 -101 -99 -96 -95 -93 -92 -90 -88 -86 -83 -80 -77 -75 -74 -73 -73 -71 -70 -70 -71 -71 -71 -71 -71 -71 -72 -74 -75 -75 -75 -75 -77 -80 -82 -84 -85 -86 -86 -86 -86 -86 -86 -87 -87 -88 -89 -90 -89 -88 -86 -86 -85 -85 -86 -86 -85 -84 -85 -85 -84 -83 -83 -84 -84 -83 -81 -80 -80 -79 -77 -76 -75 -75 -74 -73 -71 -70 -69 -68 -37 -47 -53 -54 -51 -51 -58 -60 -58 -56 -54 -55 -55 -54 -48 -37 -30 -29 -34 -44 -55 -62 -59 -45 -38 -43 -54 -63 -65 -64 -65 -67 -68 -67 -67 -69 -69 -66 -68 -71 -74 -72 -70 -68 -65 -60 -52 -50 -55 -64 -73 -79 -79 -74 -69 -66 -71 -76 -82 -87 -86 -70 -61 -62 -72 -83 -86 -87 -87 -87 -87 -84 -80 -75 -72 -73 -76 -80 -84 -87 -88 -88 -87 -87 -85 -83 -82 -82 -79 -76 -73 -71 -69 -68 -69 -70 -70 -69 -69 -69 -69 -68 -68 -69 -69 -69 -69 -69 -69 -69 -68 -63 -56 -54 -54 -56 -58 -60 -61 -59 -55 -51 -51 -52 -54 -55 -54 -52 -49 -46 -45 -47 -50 -53 -57 -59 -58 -55 -50 -49 -49 -50 -52 -54 -54 -55 -54 -54 -53 -51 -48 -47 -47 -48 -48 -49 -52 -55 -58 -61 -63 -65 -67 -63 -57 -52 -51 -53 -53 -54 -54 -55 -55 -56 -57 -60 -64 -68 -71 -72 -69 -65 -63 -62 -64 -65 -68 -72 -74 -77 -79 -79 -77 -75 -73 -72 -71 -71 -72 -75 -78 -81 -82 -82 -80 -79 -79 -81 -82 -82 -80 -76 -69 -65 -66 -70 -73 -74 -74 -73 -72 -72 -74 -78 -78 -76 -74 -74 -76 -80 -86 -91 -94 -94 -92 -91 -90 -93 -96 -98 -98 -94 -84 -72 -64 -65 -74 -80 -85 -88 -93 -98 -100 -97 -92 -90 -91 -91 -92 -94 -96 -96 -95 -93 -91 -92 -94 -95 -95 -95 -96 -96 -97 -100 -100 -99 -97 -97 -98 -98 -97 -96 -97 -97 -98 -98 -99 -97 -95 -91 -86 -81 -78 -77 -78 -81 -84 -86 -88 -88 -88 -89 -89 -89 -91 -94 -98 -102 -105 -108 -109 -111 -113 -114 -113 -112 -112 -111 -110 -109 -109 -109 -110 -111 -112 -114 -115 -114 -113 -111 -110 -109 -107 -105 -102 -98 -96 -95 -94 -92 -90 -87 -85 -83 -79 -76 -74 -74 -73 -72 -71 -71 -71 -71 -70 -68 -68 -69 -70 -71 -72 -73 -73 -74 -75 -77 -80 -81 -82 -83 -83 -84 -84 -85 -85 -86 -87 -87 -88 -90 -89 -88 -86 -86 -85 -84 -85 -85 -84 -85 -85 -86 -85 -85 -84 -84 -84 -83 -81 -80 -79 -78 -77 -76 -75 -75 -75 -73 -72 -70 -69 -68 -37 -46 -53 -55 -53 -53 -59 -60 -56 -56 -55 -56 -56 -54 -52 -42 -33 -30 -35 -44 -55 -63 -63 -53 -45 -46 -53 -62 -66 -67 -67 -68 -69 -68 -67 -67 -68 -68 -69 -70 -71 -70 -70 -66 -61 -54 -47 -50 -57 -66 -72 -76 -75 -73 -71 -74 -78 -81 -85 -86 -81 -67 -60 -63 -74 -82 -84 -84 -84 -87 -87 -83 -81 -81 -82 -82 -83 -85 -86 -86 -84 -81 -81 -83 -82 -80 -79 -78 -75 -72 -70 -69 -70 -69 -69 -69 -70 -69 -67 -65 -65 -66 -67 -68 -68 -67 -67 -67 -68 -69 -67 -61 -54 -52 -53 -56 -58 -60 -62 -61 -58 -52 -50 -52 -54 -52 -51 -50 -48 -47 -47 -51 -54 -57 -59 -58 -56 -54 -54 -52 -51 -52 -54 -55 -56 -56 -57 -57 -56 -53 -51 -50 -50 -50 -52 -54 -57 -59 -61 -63 -65 -67 -69 -65 -59 -54 -54 -55 -56 -55 -54 -52 -52 -54 -57 -61 -66 -71 -74 -75 -72 -69 -67 -67 -69 -72 -75 -79 -82 -83 -83 -79 -75 -72 -72 -73 -73 -74 -76 -80 -81 -83 -84 -84 -82 -82 -83 -84 -84 -83 -80 -77 -74 -70 -69 -70 -72 -73 -75 -76 -76 -75 -74 -76 -75 -74 -72 -72 -77 -84 -91 -96 -96 -94 -92 -90 -91 -94 -97 -98 -97 -88 -76 -68 -67 -73 -79 -81 -84 -88 -94 -99 -101 -101 -98 -95 -94 -93 -93 -95 -96 -96 -95 -94 -94 -95 -97 -98 -98 -96 -94 -94 -96 -100 -100 -98 -97 -97 -97 -97 -96 -95 -96 -96 -96 -96 -95 -92 -89 -84 -80 -76 -76 -78 -80 -82 -85 -87 -89 -90 -91 -92 -93 -94 -94 -94 -95 -97 -100 -103 -106 -109 -111 -111 -111 -110 -110 -109 -108 -107 -107 -107 -107 -108 -110 -112 -114 -114 -113 -112 -110 -109 -108 -106 -102 -98 -96 -97 -97 -95 -92 -90 -87 -84 -81 -78 -76 -74 -73 -72 -71 -71 -72 -72 -70 -67 -66 -67 -68 -69 -71 -71 -71 -72 -73 -75 -76 -78 -79 -80 -80 -81 -82 -83 -84 -84 -85 -85 -86 -88 -88 -88 -87 -86 -85 -84 -84 -84 -84 -85 -85 -86 -86 -85 -85 -84 -83 -83 -82 -80 -78 -77 -76 -75 -75 -75 -75 -73 -72 -71 -70 -69 -37 -44 -49 -51 -52 -54 -58 -58 -56 -56 -56 -55 -54 -51 -50 -42 -34 -31 -36 -45 -55 -63 -65 -59 -52 -51 -55 -62 -66 -67 -67 -67 -68 -68 -65 -63 -65 -70 -71 -70 -68 -68 -69 -63 -55 -49 -50 -58 -64 -67 -68 -71 -74 -77 -80 -83 -84 -86 -88 -85 -73 -59 -55 -59 -68 -73 -75 -79 -82 -86 -87 -84 -82 -82 -83 -84 -85 -86 -84 -82 -78 -76 -78 -82 -81 -78 -76 -75 -73 -71 -70 -69 -69 -69 -68 -68 -67 -66 -64 -63 -64 -65 -65 -66 -66 -66 -65 -65 -67 -68 -67 -59 -51 -50 -53 -57 -59 -61 -61 -61 -58 -52 -50 -51 -52 -50 -51 -51 -52 -53 -55 -56 -58 -59 -59 -56 -54 -54 -56 -54 -51 -53 -56 -58 -58 -59 -61 -61 -59 -56 -54 -53 -52 -54 -57 -59 -60 -60 -60 -62 -65 -67 -69 -63 -56 -52 -53 -56 -57 -57 -56 -54 -55 -58 -62 -66 -67 -69 -72 -74 -75 -74 -75 -77 -79 -81 -83 -85 -86 -86 -83 -77 -74 -73 -74 -72 -72 -75 -80 -84 -85 -86 -85 -84 -83 -84 -85 -86 -84 -82 -80 -78 -75 -72 -70 -70 -72 -73 -74 -74 -73 -73 -73 -75 -76 -75 -73 -74 -80 -87 -93 -96 -94 -91 -89 -88 -89 -93 -97 -98 -92 -77 -66 -64 -72 -83 -87 -87 -87 -89 -93 -97 -100 -101 -101 -101 -99 -97 -95 -95 -96 -96 -95 -94 -94 -96 -98 -100 -99 -96 -93 -93 -97 -99 -99 -98 -98 -98 -97 -96 -95 -95 -96 -97 -96 -95 -92 -87 -82 -78 -75 -75 -76 -79 -82 -84 -87 -89 -90 -92 -93 -95 -97 -97 -96 -95 -93 -93 -95 -98 -102 -105 -107 -108 -108 -108 -108 -107 -106 -106 -105 -105 -106 -107 -109 -111 -112 -113 -112 -111 -110 -109 -108 -105 -100 -96 -95 -97 -97 -96 -94 -92 -90 -87 -83 -80 -78 -75 -73 -71 -70 -70 -72 -72 -71 -69 -65 -65 -65 -67 -69 -70 -70 -69 -70 -71 -73 -74 -74 -75 -77 -78 -80 -81 -82 -83 -83 -84 -85 -86 -87 -88 -88 -87 -85 -84 -84 -83 -84 -84 -85 -86 -87 -86 -84 -83 -82 -82 -81 -80 -78 -76 -75 -75 -75 -75 -75 -73 -72 -72 -71 -70 -38 -43 -45 -48 -50 -53 -54 -55 -55 -55 -53 -51 -49 -47 -47 -43 -37 -33 -37 -45 -54 -61 -64 -62 -58 -56 -58 -63 -66 -67 -66 -66 -65 -65 -61 -59 -61 -70 -72 -71 -70 -69 -66 -57 -49 -48 -58 -71 -79 -83 -83 -81 -80 -79 -78 -77 -80 -83 -84 -80 -70 -57 -52 -53 -59 -63 -70 -77 -83 -87 -85 -84 -84 -84 -84 -84 -85 -85 -83 -78 -74 -74 -77 -83 -81 -77 -74 -71 -71 -71 -71 -70 -69 -68 -67 -66 -65 -64 -63 -63 -63 -64 -65 -65 -64 -64 -64 -65 -67 -67 -65 -56 -49 -50 -55 -58 -59 -60 -60 -59 -56 -52 -51 -51 -53 -53 -54 -55 -56 -58 -58 -60 -60 -61 -59 -58 -57 -56 -55 -54 -52 -54 -59 -62 -62 -62 -62 -63 -61 -58 -56 -55 -55 -57 -59 -60 -58 -55 -57 -61 -64 -67 -67 -60 -52 -48 -51 -54 -57 -58 -59 -59 -62 -65 -69 -71 -70 -69 -70 -71 -74 -77 -79 -82 -84 -86 -87 -86 -84 -83 -80 -76 -75 -76 -76 -76 -77 -80 -84 -86 -86 -86 -85 -83 -83 -85 -87 -87 -84 -82 -80 -78 -75 -72 -70 -71 -72 -73 -74 -74 -73 -73 -74 -78 -78 -77 -75 -78 -84 -91 -94 -95 -92 -89 -88 -89 -90 -94 -98 -97 -87 -68 -59 -63 -77 -89 -92 -93 -91 -90 -92 -94 -97 -99 -101 -102 -100 -98 -95 -96 -96 -96 -95 -94 -95 -98 -100 -101 -98 -93 -92 -93 -97 -98 -98 -99 -99 -99 -98 -97 -96 -96 -96 -96 -96 -93 -89 -83 -78 -75 -75 -76 -78 -80 -83 -86 -89 -91 -92 -93 -94 -96 -98 -98 -96 -92 -89 -89 -91 -95 -99 -102 -104 -105 -105 -106 -106 -106 -105 -105 -104 -104 -104 -105 -107 -108 -110 -110 -110 -110 -109 -108 -107 -103 -99 -96 -94 -94 -95 -95 -94 -93 -90 -88 -85 -83 -80 -77 -74 -72 -70 -70 -71 -72 -73 -71 -67 -64 -64 -65 -67 -68 -68 -68 -67 -69 -70 -71 -72 -72 -74 -75 -77 -79 -80 -81 -82 -83 -84 -85 -86 -86 -87 -86 -85 -85 -84 -84 -83 -83 -84 -86 -87 -85 -84 -82 -81 -80 -80 -79 -77 -75 -75 -74 -74 -74 -74 -73 -73 -73 -72 -71 -39 -42 -44 -46 -48 -49 -50 -51 -52 -52 -50 -47 -46 -46 -48 -48 -43 -38 -37 -43 -51 -57 -61 -61 -61 -59 -60 -62 -64 -63 -62 -62 -61 -60 -57 -56 -59 -69 -75 -78 -78 -76 -68 -55 -45 -45 -56 -70 -78 -82 -83 -79 -74 -71 -71 -74 -79 -80 -78 -75 -72 -67 -63 -60 -61 -65 -73 -79 -83 -85 -85 -85 -85 -85 -85 -85 -85 -84 -80 -75 -73 -75 -78 -81 -77 -74 -72 -71 -71 -71 -71 -70 -70 -69 -68 -66 -64 -62 -62 -63 -64 -65 -65 -64 -64 -64 -64 -65 -66 -66 -62 -53 -48 -50 -55 -59 -59 -59 -58 -57 -55 -52 -51 -52 -55 -56 -56 -56 -56 -57 -60 -62 -61 -59 -57 -58 -59 -59 -58 -55 -56 -59 -64 -67 -66 -64 -63 -64 -63 -60 -57 -56 -56 -57 -59 -57 -53 -50 -56 -61 -64 -66 -67 -60 -53 -49 -51 -53 -56 -59 -62 -65 -68 -72 -74 -75 -74 -73 -73 -74 -76 -78 -81 -84 -88 -89 -88 -86 -83 -80 -78 -77 -77 -78 -80 -83 -85 -86 -86 -84 -84 -86 -87 -85 -83 -83 -85 -86 -85 -83 -79 -75 -73 -71 -71 -72 -73 -75 -77 -77 -77 -75 -76 -78 -79 -78 -79 -83 -89 -94 -96 -95 -93 -92 -93 -97 -99 -103 -104 -100 -86 -68 -62 -67 -80 -88 -91 -93 -93 -91 -90 -92 -94 -98 -101 -101 -101 -100 -99 -99 -100 -99 -99 -99 -101 -102 -102 -100 -94 -91 -91 -94 -97 -97 -98 -98 -99 -98 -98 -97 -97 -96 -96 -96 -95 -91 -86 -81 -77 -76 -77 -78 -80 -82 -84 -87 -89 -91 -92 -93 -94 -95 -97 -97 -93 -87 -83 -84 -88 -93 -96 -99 -101 -102 -103 -104 -105 -105 -105 -104 -103 -103 -102 -103 -105 -106 -107 -108 -108 -109 -108 -107 -105 -102 -100 -98 -94 -92 -92 -93 -93 -92 -90 -88 -87 -85 -82 -79 -76 -73 -71 -70 -70 -71 -72 -71 -69 -66 -65 -65 -66 -67 -67 -67 -67 -68 -69 -69 -70 -71 -71 -72 -74 -77 -78 -80 -81 -81 -82 -83 -84 -85 -86 -86 -85 -84 -84 -83 -82 -82 -83 -85 -85 -84 -83 -82 -81 -80 -80 -79 -76 -76 -74 -73 -73 -74 -75 -75 -75 -74 -73 -71 -37 -40 -42 -45 -46 -46 -48 -50 -52 -50 -48 -46 -46 -46 -50 -48 -43 -37 -32 -36 -47 -55 -59 -60 -61 -62 -62 -61 -60 -59 -59 -59 -59 -60 -62 -64 -66 -71 -75 -78 -80 -79 -70 -57 -46 -43 -51 -63 -73 -77 -75 -68 -64 -63 -67 -74 -77 -73 -68 -65 -67 -71 -73 -73 -73 -75 -79 -82 -84 -85 -86 -86 -86 -85 -86 -85 -83 -80 -76 -74 -74 -75 -75 -75 -73 -72 -72 -73 -74 -73 -71 -70 -70 -70 -68 -66 -64 -62 -61 -62 -64 -66 -65 -65 -64 -64 -64 -64 -66 -64 -59 -50 -47 -50 -54 -58 -58 -57 -57 -56 -54 -52 -51 -53 -55 -56 -56 -56 -56 -57 -60 -60 -58 -55 -55 -58 -60 -61 -60 -57 -59 -63 -66 -68 -66 -64 -63 -63 -61 -57 -54 -52 -52 -53 -53 -51 -47 -50 -57 -63 -66 -67 -67 -62 -57 -52 -51 -53 -56 -60 -64 -69 -72 -75 -77 -77 -76 -77 -78 -80 -80 -80 -82 -86 -90 -91 -88 -84 -80 -79 -77 -78 -80 -83 -87 -91 -91 -89 -85 -83 -82 -81 -80 -80 -82 -84 -85 -86 -86 -83 -79 -75 -73 -72 -73 -74 -76 -78 -80 -81 -80 -76 -76 -77 -78 -79 -81 -85 -91 -95 -97 -98 -97 -98 -101 -106 -110 -111 -107 -96 -79 -70 -71 -78 -84 -87 -90 -91 -91 -90 -89 -90 -93 -97 -99 -101 -102 -102 -102 -102 -103 -103 -103 -104 -105 -104 -101 -97 -92 -91 -94 -97 -98 -97 -97 -98 -97 -97 -97 -96 -96 -95 -95 -95 -93 -89 -84 -79 -77 -76 -77 -78 -80 -82 -84 -86 -87 -88 -89 -91 -93 -94 -95 -94 -90 -82 -78 -78 -84 -90 -94 -97 -98 -100 -102 -104 -104 -105 -104 -104 -103 -102 -101 -102 -103 -104 -104 -105 -106 -107 -107 -105 -102 -100 -99 -97 -93 -92 -91 -91 -91 -90 -90 -89 -88 -86 -84 -82 -79 -76 -72 -70 -69 -69 -70 -71 -70 -69 -67 -66 -66 -66 -67 -67 -67 -68 -68 -68 -69 -69 -69 -70 -72 -74 -76 -78 -79 -79 -80 -81 -82 -83 -85 -86 -85 -84 -84 -83 -82 -82 -82 -83 -84 -83 -82 -82 -81 -81 -81 -79 -77 -77 -75 -73 -73 -74 -75 -75 -76 -76 -74 -72 -33 -36 -39 -41 -44 -46 -50 -52 -51 -47 -45 -46 -46 -45 -48 -48 -44 -37 -31 -32 -42 -52 -60 -62 -60 -60 -61 -61 -58 -55 -55 -56 -57 -61 -67 -72 -74 -75 -74 -75 -75 -74 -69 -61 -52 -46 -47 -58 -68 -71 -65 -58 -59 -63 -69 -73 -71 -64 -58 -55 -59 -68 -75 -80 -82 -82 -83 -84 -87 -88 -88 -87 -86 -85 -84 -81 -78 -74 -71 -72 -72 -71 -70 -70 -72 -73 -74 -75 -75 -73 -72 -70 -69 -69 -67 -66 -65 -63 -61 -62 -63 -65 -66 -65 -64 -64 -64 -64 -64 -62 -56 -48 -47 -49 -53 -56 -56 -57 -56 -55 -54 -52 -51 -53 -55 -56 -55 -55 -56 -58 -59 -56 -53 -50 -53 -58 -61 -61 -59 -57 -59 -63 -66 -66 -62 -61 -59 -57 -53 -48 -45 -43 -44 -48 -49 -49 -50 -56 -63 -67 -68 -68 -63 -58 -54 -53 -53 -57 -58 -60 -65 -71 -74 -76 -76 -76 -76 -78 -80 -82 -82 -82 -84 -88 -91 -90 -85 -81 -79 -78 -77 -80 -84 -89 -94 -97 -96 -90 -82 -80 -80 -80 -80 -81 -83 -84 -85 -85 -85 -82 -78 -75 -73 -74 -76 -77 -79 -81 -82 -81 -78 -75 -75 -77 -79 -80 -82 -86 -91 -96 -99 -101 -104 -107 -111 -115 -118 -116 -106 -90 -72 -67 -72 -81 -87 -89 -90 -91 -91 -90 -89 -90 -93 -96 -99 -101 -102 -103 -103 -103 -104 -105 -105 -107 -107 -105 -102 -97 -95 -96 -98 -100 -100 -100 -99 -97 -96 -96 -95 -95 -94 -93 -92 -91 -89 -86 -82 -78 -76 -75 -76 -77 -79 -81 -82 -82 -83 -85 -87 -89 -91 -92 -92 -91 -87 -80 -75 -74 -78 -86 -91 -94 -96 -98 -101 -103 -105 -105 -105 -104 -102 -101 -100 -100 -101 -102 -102 -102 -103 -105 -105 -103 -100 -99 -97 -94 -90 -89 -90 -91 -91 -91 -90 -90 -89 -88 -86 -84 -81 -78 -75 -72 -70 -69 -69 -70 -70 -70 -70 -68 -68 -67 -67 -68 -68 -68 -68 -67 -67 -68 -68 -69 -69 -71 -74 -75 -77 -78 -78 -78 -80 -81 -84 -86 -86 -85 -84 -83 -83 -82 -82 -82 -82 -82 -81 -81 -82 -82 -82 -80 -78 -77 -75 -74 -74 -74 -75 -76 -76 -76 -75 -72 -32 -33 -34 -37 -43 -50 -53 -52 -49 -47 -46 -46 -46 -46 -48 -47 -46 -43 -38 -34 -41 -52 -60 -63 -60 -59 -59 -59 -54 -52 -53 -55 -59 -64 -70 -74 -75 -75 -72 -69 -67 -64 -62 -60 -54 -48 -46 -56 -64 -64 -57 -52 -59 -67 -71 -69 -63 -56 -51 -50 -56 -64 -73 -79 -83 -83 -85 -87 -89 -90 -89 -87 -85 -82 -80 -76 -70 -66 -65 -66 -66 -66 -67 -69 -73 -75 -75 -75 -74 -72 -70 -69 -67 -66 -66 -66 -66 -65 -63 -62 -62 -65 -67 -66 -65 -64 -64 -64 -64 -61 -56 -49 -47 -49 -52 -54 -55 -57 -56 -55 -54 -52 -51 -52 -55 -56 -55 -55 -56 -57 -55 -51 -48 -48 -54 -59 -61 -60 -57 -56 -58 -61 -64 -61 -58 -56 -54 -51 -47 -42 -39 -39 -45 -50 -52 -54 -58 -65 -68 -70 -70 -68 -62 -57 -57 -60 -64 -63 -62 -62 -65 -68 -69 -70 -71 -73 -74 -77 -81 -83 -85 -85 -87 -90 -93 -89 -82 -79 -79 -80 -80 -83 -89 -95 -98 -98 -94 -87 -79 -77 -78 -80 -82 -83 -84 -83 -83 -84 -83 -81 -78 -74 -71 -74 -78 -82 -84 -85 -85 -82 -79 -76 -77 -79 -80 -82 -84 -88 -93 -98 -101 -107 -112 -115 -118 -122 -122 -114 -99 -81 -67 -67 -74 -83 -89 -90 -91 -92 -93 -93 -93 -94 -95 -97 -99 -101 -102 -102 -102 -103 -104 -105 -105 -106 -106 -105 -104 -101 -100 -101 -103 -104 -103 -102 -100 -98 -96 -95 -93 -92 -92 -90 -88 -86 -85 -83 -80 -77 -74 -73 -74 -76 -78 -79 -79 -78 -79 -82 -84 -86 -88 -89 -88 -86 -82 -79 -75 -73 -74 -81 -87 -91 -94 -97 -100 -103 -105 -106 -105 -104 -103 -101 -99 -99 -100 -100 -99 -99 -101 -102 -103 -102 -100 -100 -99 -96 -91 -88 -89 -91 -92 -92 -92 -91 -90 -88 -87 -85 -82 -80 -77 -73 -71 -69 -68 -69 -69 -70 -70 -70 -69 -68 -69 -70 -70 -69 -68 -67 -67 -67 -68 -68 -68 -69 -71 -72 -74 -76 -77 -77 -78 -80 -82 -84 -85 -85 -85 -84 -83 -83 -83 -82 -82 -82 -80 -80 -81 -82 -82 -80 -79 -78 -76 -74 -74 -75 -75 -76 -77 -76 -74 -72 -32 -33 -33 -37 -44 -51 -53 -52 -50 -47 -46 -47 -48 -47 -45 -45 -47 -47 -42 -36 -42 -51 -58 -61 -60 -60 -59 -57 -54 -52 -54 -58 -62 -68 -71 -73 -73 -73 -68 -62 -58 -55 -53 -54 -51 -47 -46 -54 -59 -57 -52 -52 -61 -67 -67 -62 -58 -54 -52 -53 -58 -66 -73 -79 -82 -83 -86 -88 -88 -88 -88 -86 -83 -78 -74 -68 -63 -60 -60 -60 -63 -67 -71 -73 -74 -74 -74 -74 -73 -70 -68 -66 -65 -65 -65 -65 -66 -65 -64 -63 -63 -65 -68 -68 -66 -65 -65 -65 -63 -60 -55 -51 -48 -48 -50 -52 -55 -57 -57 -55 -54 -52 -52 -53 -56 -56 -56 -56 -56 -55 -51 -48 -47 -49 -55 -59 -60 -58 -55 -55 -58 -60 -61 -57 -55 -53 -52 -49 -47 -43 -43 -46 -53 -57 -58 -61 -65 -69 -72 -73 -72 -66 -59 -60 -63 -67 -69 -67 -64 -62 -65 -68 -69 -70 -70 -69 -69 -75 -82 -87 -88 -88 -90 -94 -96 -87 -82 -81 -83 -83 -84 -88 -94 -99 -99 -94 -88 -82 -76 -76 -78 -80 -84 -86 -84 -83 -82 -83 -82 -80 -77 -74 -72 -77 -83 -86 -87 -87 -85 -82 -81 -81 -82 -84 -85 -86 -87 -93 -98 -102 -107 -114 -119 -120 -121 -122 -118 -106 -90 -76 -74 -78 -83 -87 -88 -89 -89 -91 -93 -94 -96 -96 -97 -97 -97 -98 -100 -101 -102 -103 -103 -102 -102 -103 -104 -105 -105 -105 -105 -106 -106 -107 -105 -103 -101 -98 -95 -93 -90 -88 -86 -84 -82 -81 -82 -81 -78 -75 -72 -70 -71 -73 -75 -75 -75 -76 -77 -79 -81 -83 -85 -86 -84 -81 -79 -78 -77 -75 -74 -78 -84 -89 -92 -95 -99 -103 -105 -106 -106 -104 -102 -100 -99 -98 -98 -98 -97 -98 -99 -100 -101 -102 -102 -103 -102 -98 -92 -88 -87 -88 -90 -91 -91 -91 -90 -89 -87 -85 -83 -81 -78 -75 -72 -70 -69 -68 -68 -69 -71 -71 -70 -69 -68 -69 -70 -70 -69 -68 -67 -67 -67 -67 -67 -67 -68 -69 -71 -73 -75 -77 -78 -79 -80 -82 -83 -84 -85 -85 -84 -84 -83 -83 -83 -82 -80 -79 -79 -80 -81 -81 -80 -78 -76 -75 -76 -76 -76 -76 -76 -75 -73 -71 -31 -31 -32 -37 -44 -51 -52 -52 -50 -47 -47 -48 -48 -47 -44 -45 -49 -49 -44 -39 -43 -49 -55 -58 -60 -60 -59 -58 -55 -55 -59 -63 -67 -71 -72 -72 -71 -71 -65 -57 -51 -49 -50 -50 -47 -45 -46 -50 -50 -50 -52 -57 -62 -63 -61 -59 -61 -61 -60 -60 -64 -72 -77 -79 -81 -84 -86 -86 -86 -86 -85 -84 -82 -78 -69 -60 -56 -56 -57 -59 -64 -70 -74 -76 -75 -74 -74 -73 -71 -68 -66 -65 -65 -65 -65 -65 -66 -66 -66 -65 -64 -65 -67 -67 -66 -65 -64 -63 -62 -59 -55 -51 -48 -47 -47 -51 -55 -57 -56 -55 -55 -54 -54 -55 -58 -58 -57 -56 -55 -51 -48 -47 -49 -52 -57 -59 -58 -55 -53 -55 -59 -61 -60 -57 -55 -54 -53 -53 -52 -51 -52 -56 -62 -61 -61 -63 -67 -70 -73 -75 -73 -66 -60 -62 -67 -70 -71 -68 -66 -66 -69 -72 -74 -73 -70 -66 -70 -78 -85 -88 -90 -91 -93 -94 -92 -84 -82 -85 -88 -87 -88 -92 -97 -102 -98 -92 -86 -80 -76 -77 -78 -81 -84 -87 -86 -84 -83 -82 -82 -79 -76 -74 -77 -84 -89 -91 -91 -90 -87 -85 -86 -88 -90 -90 -89 -90 -92 -98 -104 -110 -114 -119 -120 -120 -119 -118 -110 -96 -83 -77 -83 -90 -93 -93 -90 -89 -88 -89 -91 -93 -95 -97 -98 -98 -98 -99 -100 -100 -101 -101 -102 -101 -102 -102 -103 -104 -105 -106 -107 -108 -108 -108 -106 -104 -102 -98 -95 -91 -87 -84 -81 -79 -78 -79 -80 -79 -76 -73 -70 -68 -69 -70 -71 -72 -72 -74 -76 -77 -78 -79 -80 -81 -80 -77 -76 -76 -76 -76 -76 -79 -82 -85 -89 -93 -98 -102 -105 -106 -105 -104 -102 -100 -98 -97 -97 -97 -96 -96 -98 -99 -100 -100 -100 -102 -103 -100 -95 -90 -87 -87 -88 -90 -91 -92 -91 -89 -87 -86 -84 -81 -78 -76 -74 -72 -70 -68 -68 -69 -71 -72 -72 -71 -69 -68 -69 -69 -68 -67 -67 -67 -66 -65 -65 -65 -66 -67 -68 -70 -73 -75 -78 -79 -79 -79 -80 -82 -84 -84 -85 -85 -84 -83 -82 -82 -81 -80 -79 -79 -80 -81 -81 -79 -78 -77 -77 -77 -76 -76 -76 -73 -72 -72 -28 -29 -31 -36 -43 -50 -52 -52 -51 -48 -48 -48 -48 -46 -43 -46 -49 -50 -47 -42 -43 -47 -51 -55 -57 -58 -58 -58 -56 -57 -63 -69 -72 -73 -71 -70 -70 -70 -66 -57 -50 -47 -51 -49 -45 -44 -46 -46 -45 -46 -50 -55 -59 -61 -62 -61 -61 -63 -63 -65 -70 -76 -78 -78 -77 -79 -81 -83 -83 -83 -83 -83 -82 -78 -67 -57 -55 -57 -61 -65 -69 -72 -74 -74 -74 -73 -72 -70 -68 -67 -66 -66 -66 -67 -68 -67 -66 -65 -65 -65 -66 -65 -65 -64 -62 -62 -62 -62 -59 -56 -52 -50 -47 -46 -47 -51 -54 -56 -56 -56 -57 -56 -56 -56 -58 -60 -58 -55 -53 -50 -49 -50 -51 -55 -58 -58 -55 -53 -53 -58 -62 -64 -63 -62 -61 -61 -61 -61 -59 -58 -59 -61 -63 -60 -60 -63 -68 -71 -74 -76 -74 -67 -62 -64 -67 -70 -71 -68 -68 -70 -74 -77 -80 -78 -73 -69 -75 -83 -89 -90 -89 -88 -88 -87 -85 -80 -82 -87 -90 -90 -93 -97 -102 -103 -98 -94 -90 -86 -82 -80 -79 -79 -82 -86 -87 -86 -84 -83 -82 -79 -77 -78 -84 -90 -93 -92 -91 -86 -84 -84 -86 -89 -91 -91 -90 -89 -93 -100 -107 -112 -115 -117 -117 -115 -113 -112 -105 -93 -80 -76 -84 -93 -97 -97 -93 -90 -88 -87 -89 -92 -95 -97 -97 -97 -100 -102 -102 -100 -100 -100 -100 -101 -102 -103 -103 -102 -103 -104 -105 -106 -106 -107 -106 -104 -102 -98 -94 -89 -85 -82 -79 -77 -77 -78 -78 -76 -74 -71 -69 -67 -67 -68 -68 -69 -71 -73 -74 -75 -75 -74 -75 -75 -75 -73 -73 -75 -76 -77 -77 -77 -78 -80 -85 -90 -96 -100 -104 -105 -104 -103 -101 -99 -98 -97 -97 -96 -95 -95 -96 -98 -98 -98 -99 -101 -102 -102 -98 -94 -90 -88 -88 -90 -91 -91 -91 -90 -89 -87 -85 -82 -79 -77 -75 -74 -72 -69 -68 -68 -71 -72 -73 -72 -70 -68 -67 -68 -68 -67 -66 -65 -64 -64 -64 -64 -64 -65 -66 -67 -70 -73 -76 -77 -77 -77 -78 -80 -81 -83 -85 -85 -84 -83 -82 -82 -82 -81 -80 -81 -82 -82 -83 -81 -80 -80 -79 -77 -76 -75 -74 -72 -72 -72 -26 -28 -31 -36 -42 -48 -51 -52 -51 -50 -50 -50 -47 -45 -43 -46 -49 -50 -48 -42 -42 -45 -50 -55 -57 -57 -58 -58 -57 -59 -65 -71 -73 -70 -68 -69 -69 -67 -63 -59 -54 -50 -50 -49 -48 -48 -49 -49 -47 -48 -51 -56 -59 -61 -63 -65 -66 -67 -69 -71 -72 -73 -72 -71 -71 -74 -77 -80 -81 -83 -84 -83 -80 -73 -60 -53 -53 -58 -64 -68 -70 -70 -71 -71 -72 -71 -70 -69 -68 -67 -67 -68 -69 -69 -68 -66 -65 -65 -65 -65 -65 -64 -62 -60 -59 -59 -60 -59 -57 -54 -51 -48 -46 -45 -47 -50 -54 -55 -56 -57 -57 -58 -58 -58 -59 -60 -57 -53 -52 -52 -51 -52 -54 -58 -59 -57 -54 -54 -57 -63 -66 -67 -67 -67 -68 -68 -68 -64 -59 -57 -57 -58 -58 -58 -62 -66 -70 -72 -75 -76 -74 -66 -64 -64 -66 -68 -69 -68 -70 -74 -78 -82 -84 -83 -78 -75 -81 -87 -91 -91 -90 -86 -83 -81 -79 -78 -81 -85 -89 -91 -95 -101 -107 -108 -102 -96 -91 -89 -89 -85 -79 -76 -79 -83 -84 -85 -84 -83 -81 -79 -80 -85 -90 -93 -93 -90 -86 -81 -81 -82 -85 -87 -88 -89 -89 -92 -97 -103 -107 -111 -112 -112 -110 -109 -108 -109 -104 -93 -81 -76 -83 -90 -95 -96 -94 -91 -88 -88 -89 -91 -94 -96 -97 -99 -103 -105 -105 -102 -102 -102 -102 -102 -103 -103 -102 -101 -100 -100 -101 -102 -103 -104 -104 -103 -100 -97 -93 -89 -85 -81 -78 -77 -77 -76 -76 -74 -73 -71 -68 -66 -67 -67 -68 -69 -71 -72 -73 -72 -72 -70 -70 -69 -70 -69 -71 -73 -76 -78 -78 -77 -77 -79 -82 -86 -92 -97 -101 -103 -103 -101 -100 -98 -97 -96 -96 -96 -95 -94 -94 -95 -96 -98 -99 -100 -101 -102 -101 -98 -94 -90 -89 -90 -91 -91 -91 -90 -90 -89 -87 -84 -80 -78 -76 -75 -73 -70 -68 -68 -71 -72 -73 -73 -71 -68 -67 -66 -66 -66 -65 -63 -62 -62 -63 -63 -63 -63 -63 -65 -67 -70 -73 -75 -75 -75 -76 -77 -79 -82 -84 -85 -84 -82 -82 -82 -82 -82 -82 -82 -83 -84 -84 -83 -82 -83 -81 -78 -76 -75 -74 -72 -72 -73 -26 -27 -30 -35 -41 -47 -51 -52 -52 -53 -53 -51 -48 -45 -45 -47 -49 -51 -51 -45 -43 -45 -50 -55 -57 -59 -64 -68 -66 -65 -68 -70 -69 -66 -66 -67 -67 -61 -56 -56 -57 -55 -51 -51 -54 -57 -58 -56 -55 -55 -55 -57 -61 -64 -66 -69 -71 -72 -72 -71 -70 -68 -66 -66 -67 -72 -76 -79 -81 -83 -83 -80 -74 -65 -53 -50 -52 -57 -63 -67 -70 -71 -70 -70 -70 -70 -69 -69 -68 -67 -68 -68 -68 -67 -66 -65 -65 -66 -66 -66 -65 -63 -60 -57 -55 -55 -57 -55 -53 -52 -51 -49 -46 -45 -46 -50 -53 -56 -58 -59 -59 -59 -59 -58 -59 -58 -55 -53 -52 -54 -54 -55 -58 -60 -60 -58 -58 -59 -63 -66 -68 -69 -69 -69 -70 -69 -65 -57 -51 -50 -52 -54 -57 -63 -69 -73 -76 -77 -79 -78 -73 -63 -60 -61 -64 -66 -65 -66 -71 -78 -83 -85 -86 -85 -82 -80 -85 -88 -91 -91 -90 -83 -77 -75 -77 -79 -81 -82 -86 -91 -97 -104 -109 -110 -104 -95 -89 -88 -88 -84 -80 -77 -77 -80 -82 -84 -84 -82 -81 -82 -85 -88 -89 -91 -90 -86 -81 -80 -81 -83 -83 -85 -86 -88 -92 -97 -102 -105 -106 -108 -108 -108 -108 -108 -109 -109 -104 -94 -82 -78 -83 -88 -93 -95 -95 -92 -91 -91 -91 -93 -95 -97 -99 -102 -106 -107 -107 -106 -105 -105 -104 -105 -105 -103 -102 -100 -100 -99 -99 -99 -100 -102 -101 -99 -97 -94 -92 -89 -85 -81 -79 -77 -76 -75 -74 -73 -72 -70 -69 -68 -68 -69 -69 -70 -71 -72 -72 -71 -70 -68 -66 -65 -66 -66 -68 -71 -75 -77 -78 -78 -78 -78 -79 -82 -86 -91 -95 -99 -100 -100 -99 -98 -97 -96 -95 -95 -94 -93 -92 -92 -93 -95 -97 -99 -100 -102 -102 -100 -96 -92 -91 -91 -92 -91 -91 -91 -91 -90 -88 -84 -80 -77 -75 -75 -74 -71 -69 -69 -71 -72 -72 -71 -70 -68 -66 -65 -64 -63 -63 -62 -61 -61 -62 -62 -63 -62 -62 -63 -65 -67 -69 -71 -72 -72 -73 -74 -76 -79 -82 -84 -83 -83 -82 -82 -82 -83 -82 -82 -84 -85 -85 -85 -84 -84 -82 -80 -77 -75 -74 -73 -73 -73 -26 -26 -30 -35 -41 -47 -51 -54 -55 -56 -55 -51 -47 -45 -45 -48 -52 -54 -54 -51 -47 -46 -50 -56 -59 -63 -69 -74 -74 -74 -72 -69 -66 -64 -64 -66 -64 -57 -50 -52 -56 -57 -53 -54 -61 -68 -69 -65 -63 -62 -62 -63 -66 -68 -70 -72 -73 -72 -72 -71 -69 -66 -64 -65 -67 -72 -76 -80 -81 -81 -78 -72 -65 -58 -52 -52 -54 -58 -62 -67 -72 -74 -73 -71 -70 -70 -69 -68 -67 -67 -67 -67 -66 -65 -64 -64 -65 -66 -66 -66 -64 -61 -58 -54 -52 -52 -54 -53 -51 -50 -50 -49 -45 -44 -46 -51 -54 -58 -60 -61 -60 -58 -57 -57 -57 -56 -55 -54 -54 -57 -59 -60 -62 -63 -63 -61 -62 -65 -66 -68 -69 -68 -67 -66 -65 -61 -55 -51 -53 -56 -57 -59 -62 -67 -72 -76 -79 -79 -79 -74 -66 -56 -54 -56 -60 -61 -59 -63 -72 -81 -87 -87 -85 -82 -82 -84 -87 -89 -90 -90 -86 -78 -71 -72 -78 -82 -82 -82 -86 -93 -100 -105 -109 -109 -101 -92 -86 -84 -85 -83 -81 -79 -78 -81 -82 -83 -82 -80 -83 -87 -89 -87 -87 -88 -87 -84 -81 -81 -81 -82 -82 -84 -88 -91 -96 -102 -105 -106 -106 -106 -107 -109 -110 -112 -112 -110 -104 -94 -85 -83 -87 -89 -91 -92 -94 -95 -95 -95 -94 -95 -97 -99 -102 -106 -107 -108 -108 -108 -108 -107 -106 -106 -106 -104 -103 -102 -101 -100 -100 -100 -100 -100 -98 -96 -92 -90 -89 -87 -85 -82 -80 -78 -76 -74 -73 -73 -72 -71 -69 -69 -69 -69 -70 -72 -73 -73 -72 -71 -70 -67 -64 -63 -63 -64 -66 -69 -72 -76 -78 -79 -78 -77 -77 -79 -81 -84 -88 -92 -94 -96 -96 -96 -96 -96 -95 -95 -94 -92 -90 -89 -91 -93 -95 -97 -98 -101 -101 -100 -98 -96 -95 -93 -92 -91 -91 -91 -91 -90 -87 -83 -78 -75 -73 -72 -71 -69 -68 -69 -70 -71 -70 -69 -67 -66 -65 -64 -63 -61 -60 -60 -60 -60 -60 -61 -61 -61 -61 -62 -63 -64 -66 -68 -69 -70 -70 -71 -72 -75 -79 -82 -83 -83 -82 -82 -82 -82 -82 -82 -84 -85 -86 -86 -86 -84 -83 -81 -78 -76 -75 -74 -74 -73 -25 -27 -30 -35 -41 -47 -54 -58 -58 -57 -56 -50 -44 -42 -44 -50 -53 -55 -55 -54 -49 -47 -49 -55 -59 -64 -71 -77 -79 -79 -77 -72 -66 -60 -61 -64 -65 -57 -47 -48 -53 -58 -56 -57 -65 -74 -76 -70 -65 -64 -65 -68 -69 -71 -72 -73 -73 -71 -72 -72 -71 -67 -66 -66 -69 -74 -78 -81 -81 -77 -70 -63 -57 -55 -57 -61 -63 -65 -67 -72 -76 -78 -76 -72 -72 -71 -70 -66 -64 -65 -66 -66 -65 -63 -63 -63 -64 -65 -66 -65 -64 -60 -56 -51 -49 -49 -53 -53 -53 -51 -49 -47 -45 -45 -48 -53 -57 -60 -60 -60 -58 -56 -56 -57 -57 -57 -56 -56 -58 -62 -64 -65 -65 -66 -65 -65 -66 -68 -68 -69 -69 -67 -65 -63 -60 -55 -52 -54 -60 -63 -64 -63 -65 -70 -74 -77 -78 -78 -77 -73 -65 -56 -53 -55 -59 -62 -66 -73 -80 -85 -87 -84 -80 -78 -80 -86 -90 -90 -88 -87 -82 -74 -71 -75 -82 -83 -83 -84 -90 -98 -103 -107 -110 -108 -100 -90 -82 -77 -80 -81 -81 -80 -79 -81 -82 -82 -81 -83 -87 -90 -90 -88 -87 -87 -86 -84 -82 -81 -80 -81 -83 -86 -90 -95 -100 -104 -106 -107 -108 -108 -109 -111 -113 -115 -115 -112 -103 -91 -79 -76 -82 -88 -90 -90 -94 -96 -95 -93 -95 -99 -102 -104 -107 -108 -108 -107 -108 -110 -110 -109 -107 -106 -106 -105 -104 -103 -103 -102 -101 -101 -99 -97 -95 -92 -88 -86 -85 -84 -83 -82 -81 -79 -77 -75 -74 -73 -72 -71 -69 -68 -68 -69 -71 -73 -73 -72 -71 -70 -70 -67 -65 -62 -61 -62 -64 -67 -71 -74 -77 -78 -78 -77 -76 -76 -76 -78 -82 -86 -89 -91 -93 -94 -95 -95 -94 -93 -92 -91 -89 -88 -89 -91 -92 -93 -95 -97 -99 -99 -99 -99 -98 -95 -92 -90 -90 -90 -90 -90 -86 -80 -75 -71 -69 -68 -67 -67 -67 -69 -70 -70 -69 -66 -65 -64 -63 -63 -62 -60 -58 -58 -58 -59 -60 -60 -60 -60 -60 -61 -61 -62 -63 -65 -67 -68 -68 -68 -69 -71 -75 -80 -81 -82 -82 -81 -81 -81 -81 -81 -83 -85 -86 -87 -87 -85 -83 -81 -79 -77 -77 -76 -75 -72 -26 -27 -29 -34 -41 -50 -56 -59 -59 -58 -56 -50 -43 -40 -43 -52 -56 -56 -55 -53 -49 -46 -47 -51 -57 -64 -71 -77 -79 -79 -78 -74 -68 -59 -58 -63 -65 -61 -48 -46 -52 -60 -62 -63 -70 -77 -80 -75 -66 -62 -63 -66 -68 -70 -72 -74 -75 -73 -72 -72 -72 -69 -68 -69 -72 -77 -80 -81 -78 -72 -64 -57 -55 -58 -64 -71 -76 -79 -80 -81 -82 -82 -80 -76 -74 -72 -69 -64 -61 -64 -66 -66 -64 -63 -63 -63 -64 -63 -65 -65 -63 -59 -54 -48 -46 -48 -51 -55 -55 -52 -48 -46 -45 -46 -50 -55 -58 -58 -58 -57 -55 -56 -57 -59 -60 -60 -59 -60 -63 -67 -68 -68 -67 -67 -67 -67 -68 -70 -70 -70 -69 -67 -65 -61 -60 -58 -57 -59 -65 -68 -69 -68 -70 -74 -77 -78 -79 -78 -77 -73 -66 -57 -53 -55 -61 -69 -76 -82 -87 -89 -88 -85 -84 -84 -89 -94 -93 -89 -85 -84 -80 -78 -78 -80 -81 -79 -80 -86 -97 -103 -108 -110 -111 -110 -103 -92 -79 -72 -76 -80 -80 -80 -81 -82 -81 -81 -82 -86 -88 -90 -89 -86 -84 -84 -84 -85 -84 -82 -82 -84 -88 -92 -95 -98 -102 -105 -107 -109 -110 -110 -111 -112 -113 -114 -114 -111 -102 -88 -72 -69 -78 -87 -92 -91 -95 -97 -96 -94 -95 -100 -104 -106 -105 -104 -105 -106 -108 -110 -110 -109 -107 -107 -107 -106 -104 -104 -103 -103 -101 -99 -97 -95 -92 -89 -86 -83 -82 -82 -82 -81 -81 -80 -79 -78 -76 -75 -73 -71 -68 -67 -67 -68 -70 -72 -72 -71 -70 -70 -70 -68 -66 -63 -61 -61 -63 -67 -71 -74 -76 -77 -77 -75 -74 -73 -73 -75 -79 -82 -85 -87 -90 -92 -92 -92 -92 -91 -90 -90 -89 -88 -88 -89 -89 -90 -90 -92 -95 -97 -99 -99 -99 -97 -94 -91 -89 -88 -89 -89 -85 -79 -73 -69 -66 -65 -64 -65 -66 -67 -69 -68 -67 -65 -64 -64 -63 -63 -61 -59 -58 -57 -58 -59 -60 -60 -59 -59 -59 -59 -60 -61 -62 -63 -65 -65 -65 -66 -66 -68 -73 -77 -79 -81 -81 -80 -80 -79 -79 -81 -83 -84 -86 -87 -87 -86 -84 -82 -80 -79 -78 -77 -75 -72 -25 -27 -30 -37 -46 -54 -59 -62 -61 -59 -55 -51 -43 -40 -42 -52 -57 -59 -57 -55 -53 -50 -48 -50 -54 -62 -71 -77 -78 -75 -74 -71 -66 -58 -57 -61 -64 -63 -54 -49 -53 -63 -72 -77 -81 -85 -88 -85 -74 -67 -63 -64 -65 -68 -72 -75 -78 -75 -74 -74 -76 -72 -70 -70 -73 -78 -79 -77 -73 -66 -55 -51 -53 -60 -70 -74 -77 -79 -80 -79 -80 -80 -79 -77 -73 -71 -67 -64 -63 -65 -65 -64 -63 -62 -61 -62 -63 -62 -64 -63 -61 -58 -51 -46 -45 -47 -52 -56 -56 -54 -50 -45 -45 -47 -52 -55 -56 -55 -55 -55 -57 -59 -61 -63 -65 -65 -65 -66 -68 -69 -69 -69 -68 -68 -68 -69 -70 -71 -73 -72 -70 -68 -65 -63 -64 -65 -65 -64 -68 -71 -73 -74 -76 -79 -81 -81 -80 -78 -76 -72 -65 -56 -54 -58 -66 -76 -82 -86 -89 -91 -91 -91 -91 -92 -94 -95 -93 -89 -83 -82 -86 -86 -83 -78 -74 -74 -80 -90 -103 -109 -111 -112 -112 -112 -107 -96 -82 -74 -78 -79 -80 -80 -81 -81 -80 -80 -82 -84 -85 -86 -86 -84 -84 -84 -85 -85 -85 -83 -85 -90 -94 -97 -98 -100 -101 -103 -107 -110 -112 -112 -111 -111 -111 -111 -110 -107 -99 -86 -71 -70 -79 -89 -94 -92 -94 -98 -100 -100 -102 -104 -106 -106 -104 -105 -106 -108 -110 -110 -110 -109 -107 -106 -107 -106 -104 -102 -102 -101 -99 -97 -95 -92 -90 -87 -85 -82 -80 -79 -79 -79 -79 -80 -79 -78 -77 -75 -72 -69 -67 -67 -67 -68 -68 -69 -69 -69 -69 -68 -69 -68 -66 -64 -61 -61 -62 -66 -70 -73 -74 -75 -75 -73 -71 -70 -70 -72 -77 -80 -82 -85 -88 -89 -90 -89 -89 -89 -89 -88 -88 -88 -88 -88 -88 -87 -87 -88 -91 -93 -96 -98 -98 -98 -96 -92 -88 -86 -86 -86 -83 -78 -72 -67 -64 -63 -62 -63 -64 -66 -67 -67 -66 -64 -62 -62 -62 -63 -62 -59 -57 -57 -57 -59 -59 -59 -58 -57 -57 -58 -59 -60 -61 -61 -60 -61 -62 -63 -64 -66 -70 -74 -78 -79 -80 -80 -79 -79 -79 -80 -82 -84 -85 -87 -87 -87 -85 -84 -82 -80 -78 -77 -76 -74 -24 -26 -31 -39 -48 -55 -60 -61 -61 -60 -57 -53 -47 -44 -44 -52 -60 -63 -63 -60 -59 -57 -54 -52 -54 -59 -68 -76 -77 -74 -69 -64 -59 -56 -56 -59 -62 -62 -59 -54 -57 -67 -82 -91 -96 -98 -98 -98 -93 -87 -78 -68 -63 -66 -71 -77 -81 -80 -78 -77 -78 -78 -77 -77 -79 -79 -76 -72 -67 -60 -52 -50 -54 -62 -72 -74 -73 -72 -73 -75 -77 -77 -75 -71 -72 -70 -67 -63 -63 -64 -62 -60 -60 -59 -60 -61 -61 -60 -61 -61 -61 -58 -51 -46 -44 -47 -53 -56 -56 -55 -51 -47 -46 -48 -51 -51 -52 -54 -57 -60 -62 -64 -65 -67 -70 -70 -70 -70 -70 -70 -70 -70 -69 -69 -69 -70 -72 -73 -74 -73 -72 -70 -68 -66 -68 -70 -71 -68 -71 -74 -76 -79 -82 -84 -84 -81 -77 -74 -72 -69 -63 -55 -54 -61 -71 -81 -85 -87 -88 -90 -91 -94 -96 -96 -95 -95 -92 -84 -75 -78 -86 -87 -83 -77 -74 -80 -92 -104 -108 -109 -111 -113 -113 -110 -107 -99 -91 -85 -85 -83 -80 -79 -79 -79 -78 -77 -78 -78 -79 -81 -83 -83 -85 -85 -84 -83 -83 -85 -89 -94 -96 -98 -98 -98 -99 -102 -106 -109 -112 -112 -109 -109 -110 -111 -109 -102 -93 -82 -74 -77 -84 -91 -95 -93 -93 -97 -102 -105 -105 -105 -104 -103 -104 -107 -109 -110 -111 -110 -109 -108 -106 -105 -105 -105 -103 -101 -99 -98 -96 -95 -93 -90 -88 -86 -84 -81 -79 -77 -75 -75 -76 -76 -76 -76 -75 -73 -71 -69 -68 -67 -67 -66 -66 -65 -65 -66 -66 -67 -66 -65 -64 -63 -61 -61 -62 -64 -68 -71 -73 -73 -73 -71 -68 -66 -67 -70 -75 -78 -80 -83 -86 -87 -87 -87 -86 -87 -87 -87 -86 -87 -86 -86 -86 -86 -86 -86 -87 -89 -91 -94 -96 -97 -97 -94 -89 -86 -83 -82 -79 -75 -70 -65 -63 -62 -61 -61 -63 -65 -66 -66 -64 -62 -61 -60 -61 -62 -61 -60 -58 -57 -57 -58 -58 -57 -57 -56 -56 -57 -58 -59 -59 -59 -58 -59 -60 -61 -62 -63 -67 -71 -75 -77 -78 -78 -79 -79 -79 -81 -82 -83 -85 -86 -87 -87 -86 -85 -83 -81 -79 -77 -76 -76 -21 -24 -31 -38 -46 -52 -58 -59 -59 -60 -60 -57 -54 -52 -51 -55 -63 -69 -70 -67 -65 -63 -61 -59 -58 -59 -65 -72 -76 -74 -67 -59 -52 -49 -54 -57 -57 -55 -58 -58 -60 -66 -78 -89 -96 -101 -101 -100 -98 -97 -93 -85 -76 -70 -70 -73 -78 -80 -81 -80 -79 -78 -78 -79 -79 -77 -72 -67 -63 -59 -58 -60 -65 -71 -78 -81 -80 -79 -77 -78 -78 -76 -73 -71 -72 -69 -65 -61 -61 -60 -59 -58 -59 -59 -60 -60 -59 -58 -59 -60 -60 -59 -54 -47 -45 -47 -53 -55 -56 -55 -52 -48 -47 -48 -50 -51 -54 -58 -61 -63 -65 -67 -67 -68 -70 -71 -70 -69 -69 -69 -69 -70 -71 -72 -70 -70 -71 -74 -75 -74 -73 -72 -70 -68 -70 -72 -74 -72 -73 -77 -80 -82 -84 -85 -83 -78 -69 -67 -67 -66 -62 -55 -56 -63 -74 -83 -87 -88 -89 -89 -90 -94 -97 -97 -94 -94 -87 -77 -70 -78 -84 -83 -78 -75 -77 -89 -101 -111 -113 -113 -113 -112 -110 -106 -101 -96 -94 -96 -92 -86 -80 -79 -79 -77 -75 -73 -72 -73 -76 -80 -82 -82 -84 -84 -82 -81 -81 -85 -90 -94 -95 -95 -96 -96 -98 -101 -104 -107 -109 -110 -109 -109 -110 -111 -104 -93 -80 -71 -72 -79 -86 -92 -96 -95 -93 -95 -100 -105 -106 -105 -103 -102 -106 -109 -111 -112 -111 -110 -108 -106 -104 -101 -100 -100 -101 -99 -98 -97 -96 -94 -91 -89 -86 -84 -83 -80 -78 -75 -73 -72 -72 -72 -72 -73 -72 -71 -70 -69 -68 -67 -66 -66 -64 -63 -63 -63 -64 -64 -64 -62 -61 -60 -61 -61 -62 -63 -65 -68 -70 -71 -70 -68 -65 -64 -65 -68 -72 -75 -78 -81 -83 -85 -85 -85 -84 -84 -84 -84 -84 -84 -84 -84 -84 -84 -85 -86 -85 -85 -86 -88 -91 -95 -97 -95 -91 -85 -81 -78 -75 -72 -68 -65 -63 -62 -60 -60 -61 -63 -65 -64 -63 -61 -59 -58 -59 -60 -60 -59 -58 -57 -57 -57 -57 -56 -56 -56 -56 -56 -56 -57 -58 -58 -57 -58 -58 -59 -60 -61 -64 -67 -71 -74 -76 -77 -78 -79 -79 -80 -81 -82 -84 -86 -87 -87 -86 -85 -83 -81 -79 -78 -77 -77 -20 -27 -34 -39 -44 -50 -56 -57 -58 -60 -62 -61 -62 -61 -60 -59 -67 -72 -72 -69 -67 -67 -66 -65 -65 -63 -65 -69 -71 -71 -69 -61 -51 -45 -51 -55 -54 -51 -54 -58 -63 -70 -78 -86 -91 -93 -93 -94 -93 -94 -94 -91 -85 -78 -73 -72 -76 -79 -79 -77 -75 -73 -73 -75 -75 -73 -68 -62 -58 -58 -63 -68 -71 -74 -77 -80 -82 -82 -81 -80 -78 -76 -74 -73 -72 -66 -60 -55 -55 -56 -57 -59 -61 -61 -61 -60 -59 -56 -56 -58 -60 -59 -55 -49 -46 -47 -52 -54 -56 -56 -54 -50 -50 -52 -54 -55 -58 -61 -63 -65 -66 -67 -68 -68 -70 -71 -70 -70 -70 -70 -71 -71 -72 -72 -70 -70 -72 -76 -77 -75 -73 -72 -71 -71 -72 -74 -76 -77 -79 -80 -82 -83 -83 -83 -79 -71 -60 -57 -59 -62 -63 -58 -59 -66 -75 -85 -89 -90 -90 -89 -89 -93 -94 -94 -93 -92 -81 -71 -68 -78 -81 -79 -76 -78 -86 -97 -105 -108 -111 -112 -114 -114 -112 -109 -103 -99 -97 -96 -90 -85 -81 -80 -78 -75 -72 -70 -72 -75 -78 -80 -80 -82 -82 -81 -79 -80 -82 -85 -89 -91 -92 -92 -93 -95 -97 -99 -102 -104 -106 -107 -108 -109 -110 -107 -94 -81 -73 -74 -82 -87 -90 -94 -99 -99 -96 -95 -98 -103 -106 -105 -103 -103 -107 -110 -112 -112 -110 -108 -106 -104 -102 -99 -98 -98 -99 -98 -97 -97 -97 -95 -91 -88 -85 -83 -81 -80 -77 -74 -72 -70 -70 -70 -70 -70 -69 -69 -68 -67 -67 -66 -66 -66 -66 -64 -63 -62 -61 -61 -61 -60 -59 -59 -60 -61 -61 -61 -62 -64 -66 -67 -67 -65 -63 -63 -64 -66 -69 -72 -74 -77 -80 -82 -83 -84 -83 -83 -82 -82 -81 -81 -81 -82 -82 -83 -84 -84 -84 -83 -83 -84 -87 -90 -94 -94 -90 -84 -80 -77 -73 -70 -67 -64 -63 -62 -60 -60 -61 -63 -63 -63 -61 -59 -57 -57 -57 -58 -58 -58 -57 -57 -58 -57 -57 -56 -56 -56 -55 -55 -55 -56 -57 -57 -57 -57 -57 -58 -59 -60 -62 -64 -67 -71 -73 -76 -77 -78 -78 -79 -80 -82 -84 -86 -87 -87 -85 -85 -83 -81 -79 -79 -78 -78 -23 -36 -44 -45 -46 -51 -58 -59 -60 -62 -65 -67 -68 -66 -65 -64 -67 -69 -69 -66 -64 -66 -66 -65 -65 -65 -65 -65 -65 -67 -68 -63 -54 -44 -48 -54 -55 -50 -50 -57 -65 -73 -81 -84 -86 -87 -88 -89 -89 -89 -89 -88 -86 -81 -77 -75 -76 -77 -75 -72 -68 -67 -69 -70 -70 -68 -62 -55 -52 -53 -61 -67 -69 -69 -69 -71 -76 -79 -78 -74 -72 -72 -73 -75 -71 -62 -53 -48 -50 -55 -58 -61 -62 -62 -61 -60 -58 -55 -55 -57 -58 -58 -55 -49 -45 -45 -50 -55 -57 -58 -56 -54 -55 -58 -60 -60 -61 -63 -64 -66 -67 -67 -67 -68 -68 -70 -70 -70 -70 -71 -72 -73 -72 -71 -71 -72 -74 -76 -77 -75 -74 -73 -73 -73 -73 -75 -77 -79 -81 -81 -82 -82 -82 -81 -76 -67 -56 -54 -56 -59 -60 -57 -60 -69 -80 -88 -89 -87 -85 -85 -88 -92 -92 -89 -89 -87 -76 -67 -67 -76 -80 -82 -84 -91 -100 -106 -108 -108 -110 -113 -115 -115 -115 -112 -108 -104 -103 -100 -92 -86 -83 -83 -78 -73 -70 -70 -73 -77 -79 -81 -80 -81 -79 -78 -77 -80 -84 -87 -89 -89 -91 -92 -93 -94 -96 -98 -100 -102 -103 -104 -106 -108 -108 -101 -85 -77 -76 -84 -90 -92 -93 -95 -101 -102 -100 -98 -98 -102 -105 -105 -104 -104 -107 -109 -110 -110 -108 -106 -105 -103 -101 -99 -98 -98 -98 -97 -96 -97 -97 -95 -91 -87 -83 -81 -81 -79 -77 -75 -72 -71 -71 -70 -70 -69 -68 -67 -66 -65 -65 -66 -66 -66 -66 -65 -63 -61 -60 -59 -58 -57 -57 -58 -59 -60 -59 -58 -59 -61 -62 -64 -64 -63 -62 -62 -62 -64 -66 -69 -71 -74 -76 -79 -81 -83 -82 -81 -80 -79 -78 -79 -79 -80 -81 -82 -83 -83 -82 -80 -80 -81 -83 -86 -90 -91 -88 -83 -78 -75 -72 -69 -66 -64 -63 -62 -61 -61 -61 -61 -62 -61 -59 -57 -56 -56 -56 -57 -57 -57 -57 -57 -57 -57 -57 -56 -55 -55 -55 -55 -55 -55 -56 -57 -57 -57 -57 -57 -57 -59 -60 -62 -65 -67 -71 -73 -75 -77 -77 -78 -79 -81 -83 -84 -85 -85 -84 -84 -82 -80 -79 -80 -79 -79 -28 -43 -51 -52 -53 -57 -63 -66 -67 -68 -70 -73 -73 -70 -68 -69 -69 -67 -64 -61 -61 -63 -61 -60 -61 -64 -62 -59 -56 -59 -62 -60 -55 -48 -50 -55 -55 -51 -49 -57 -66 -75 -82 -85 -84 -84 -84 -85 -85 -85 -83 -81 -80 -78 -76 -75 -75 -75 -72 -67 -63 -64 -66 -67 -66 -63 -57 -51 -48 -48 -53 -58 -61 -61 -61 -64 -69 -72 -69 -63 -62 -65 -70 -75 -68 -57 -48 -45 -50 -57 -60 -62 -62 -62 -60 -58 -57 -55 -55 -56 -56 -55 -53 -48 -43 -43 -49 -55 -59 -60 -59 -59 -61 -64 -65 -64 -63 -64 -66 -68 -68 -68 -68 -68 -68 -69 -71 -71 -70 -71 -73 -73 -72 -71 -71 -72 -74 -75 -74 -73 -73 -72 -73 -74 -74 -76 -79 -81 -82 -81 -80 -78 -78 -76 -73 -68 -61 -57 -55 -54 -52 -55 -64 -76 -86 -88 -85 -82 -80 -81 -86 -91 -90 -86 -85 -81 -74 -69 -70 -77 -85 -93 -102 -111 -114 -115 -115 -114 -115 -115 -115 -115 -115 -114 -109 -104 -99 -94 -88 -84 -84 -84 -79 -73 -69 -70 -74 -76 -78 -79 -79 -78 -76 -75 -76 -80 -85 -88 -90 -90 -91 -93 -93 -93 -94 -97 -99 -100 -100 -100 -103 -106 -106 -98 -85 -80 -84 -91 -94 -93 -93 -96 -100 -103 -103 -101 -99 -100 -102 -103 -104 -106 -106 -107 -107 -107 -105 -104 -103 -102 -102 -100 -99 -98 -96 -95 -95 -96 -96 -95 -90 -84 -80 -79 -81 -80 -79 -77 -74 -73 -73 -73 -72 -71 -69 -66 -64 -63 -64 -66 -66 -66 -66 -65 -63 -61 -59 -57 -56 -56 -57 -58 -58 -58 -56 -56 -57 -59 -60 -61 -61 -61 -60 -60 -61 -63 -64 -66 -68 -70 -72 -75 -77 -80 -80 -79 -78 -77 -76 -76 -77 -78 -80 -81 -82 -82 -81 -79 -77 -77 -79 -82 -86 -88 -86 -81 -76 -73 -71 -69 -66 -64 -63 -62 -62 -61 -61 -60 -60 -58 -57 -56 -55 -55 -55 -55 -55 -56 -56 -57 -57 -56 -55 -55 -54 -54 -54 -54 -54 -55 -56 -57 -58 -57 -57 -56 -56 -57 -59 -60 -61 -63 -65 -69 -72 -75 -75 -75 -76 -78 -80 -81 -82 -82 -82 -82 -81 -80 -80 -80 -80 -79 -30 -39 -44 -50 -56 -62 -67 -70 -73 -75 -75 -73 -73 -71 -69 -69 -66 -62 -59 -58 -60 -61 -59 -58 -60 -64 -61 -56 -51 -52 -53 -53 -52 -53 -58 -60 -58 -53 -50 -57 -67 -76 -83 -86 -85 -82 -81 -81 -82 -82 -80 -76 -73 -71 -70 -70 -72 -73 -70 -64 -59 -59 -63 -65 -66 -63 -58 -56 -53 -50 -47 -49 -52 -57 -61 -65 -67 -65 -59 -53 -55 -62 -70 -73 -64 -54 -48 -49 -55 -59 -61 -62 -62 -62 -59 -57 -56 -54 -54 -54 -54 -52 -50 -45 -41 -41 -48 -56 -60 -63 -64 -65 -66 -66 -67 -66 -65 -66 -69 -71 -71 -70 -70 -70 -69 -70 -71 -72 -70 -71 -74 -74 -73 -72 -72 -72 -71 -69 -67 -67 -68 -70 -73 -74 -75 -77 -80 -81 -81 -80 -77 -72 -68 -68 -68 -68 -67 -65 -59 -53 -48 -54 -66 -75 -79 -79 -79 -80 -81 -84 -88 -92 -91 -86 -82 -81 -78 -76 -77 -85 -97 -108 -115 -117 -119 -120 -120 -119 -118 -116 -114 -114 -114 -112 -107 -99 -90 -81 -78 -80 -83 -84 -78 -72 -70 -71 -73 -73 -73 -74 -75 -75 -74 -75 -78 -82 -86 -89 -91 -91 -92 -92 -93 -94 -95 -97 -97 -96 -95 -97 -101 -105 -106 -100 -90 -87 -89 -94 -96 -95 -94 -95 -99 -103 -104 -104 -101 -101 -103 -105 -106 -108 -108 -106 -105 -104 -103 -102 -102 -102 -102 -101 -99 -97 -94 -92 -92 -93 -95 -95 -91 -86 -81 -81 -82 -81 -79 -78 -76 -75 -76 -76 -74 -72 -70 -68 -66 -64 -64 -65 -66 -66 -65 -65 -63 -62 -60 -57 -56 -55 -56 -57 -57 -57 -56 -56 -57 -58 -59 -59 -58 -58 -59 -59 -60 -61 -62 -63 -65 -67 -69 -71 -73 -76 -77 -77 -77 -76 -76 -75 -76 -76 -77 -79 -80 -80 -80 -77 -75 -74 -75 -78 -81 -83 -82 -79 -74 -71 -70 -68 -66 -64 -62 -62 -62 -61 -60 -59 -58 -56 -54 -53 -53 -53 -53 -53 -54 -55 -56 -56 -56 -55 -54 -54 -54 -54 -54 -54 -54 -54 -55 -57 -58 -58 -57 -56 -55 -56 -58 -59 -60 -61 -62 -65 -69 -71 -72 -72 -73 -75 -76 -77 -78 -79 -80 -80 -79 -79 -80 -81 -81 -79 -26 -34 -39 -48 -57 -64 -68 -70 -73 -76 -77 -76 -74 -72 -69 -64 -58 -56 -55 -55 -57 -60 -61 -62 -64 -66 -63 -57 -49 -46 -44 -45 -49 -57 -67 -72 -69 -61 -53 -58 -67 -76 -82 -84 -83 -81 -79 -78 -80 -79 -75 -69 -64 -64 -64 -67 -72 -72 -66 -59 -54 -56 -61 -66 -69 -68 -65 -64 -64 -63 -57 -50 -50 -55 -63 -67 -64 -57 -49 -48 -57 -66 -72 -70 -61 -56 -54 -56 -58 -61 -62 -63 -64 -64 -60 -57 -55 -53 -53 -53 -53 -52 -51 -46 -41 -40 -48 -57 -63 -67 -68 -68 -68 -67 -67 -66 -67 -69 -72 -74 -74 -73 -71 -71 -70 -69 -70 -71 -70 -71 -74 -75 -75 -74 -73 -70 -66 -62 -59 -59 -61 -65 -70 -73 -76 -78 -80 -79 -80 -79 -73 -63 -59 -60 -62 -63 -65 -66 -62 -56 -50 -55 -62 -66 -69 -73 -78 -81 -84 -86 -90 -94 -94 -88 -79 -77 -79 -81 -82 -91 -104 -112 -116 -119 -123 -123 -121 -118 -114 -112 -112 -112 -110 -107 -103 -95 -84 -73 -71 -76 -82 -82 -75 -71 -70 -72 -73 -73 -72 -71 -71 -71 -72 -75 -79 -82 -85 -88 -89 -89 -89 -90 -92 -93 -94 -95 -94 -92 -91 -94 -100 -104 -106 -102 -95 -90 -90 -94 -96 -95 -94 -94 -97 -101 -104 -104 -101 -101 -103 -106 -109 -110 -110 -109 -106 -104 -102 -101 -100 -101 -101 -100 -97 -94 -90 -89 -90 -92 -93 -94 -92 -87 -83 -82 -83 -82 -80 -78 -77 -77 -77 -77 -75 -73 -71 -70 -68 -66 -65 -65 -65 -64 -64 -63 -63 -62 -60 -58 -56 -56 -56 -57 -57 -57 -56 -57 -58 -59 -59 -58 -56 -56 -57 -58 -59 -59 -60 -60 -62 -65 -67 -69 -71 -73 -74 -75 -76 -76 -76 -75 -75 -75 -75 -76 -78 -79 -78 -76 -73 -72 -73 -76 -78 -79 -79 -77 -73 -71 -69 -67 -65 -64 -62 -62 -62 -61 -60 -58 -56 -54 -52 -51 -51 -51 -51 -52 -53 -54 -54 -55 -55 -54 -54 -54 -54 -54 -54 -54 -54 -55 -56 -57 -58 -58 -58 -57 -56 -56 -57 -59 -60 -60 -61 -63 -66 -68 -69 -70 -72 -72 -73 -75 -76 -77 -78 -77 -77 -78 -80 -81 -81 -79 -24 -31 -36 -43 -52 -60 -65 -68 -71 -74 -77 -77 -75 -72 -67 -59 -54 -55 -56 -57 -58 -62 -65 -68 -69 -69 -66 -60 -52 -44 -37 -36 -43 -56 -71 -82 -86 -81 -70 -66 -68 -74 -78 -79 -79 -78 -77 -78 -79 -78 -72 -63 -58 -58 -63 -69 -74 -69 -61 -54 -51 -54 -61 -66 -71 -74 -73 -72 -72 -73 -72 -64 -57 -54 -57 -58 -56 -53 -51 -56 -66 -72 -71 -63 -56 -56 -58 -61 -62 -63 -63 -63 -62 -62 -60 -57 -53 -50 -51 -52 -52 -52 -52 -48 -43 -41 -47 -57 -63 -67 -67 -68 -68 -68 -68 -68 -69 -71 -74 -77 -75 -74 -72 -70 -69 -69 -69 -70 -72 -73 -75 -76 -77 -76 -71 -64 -58 -55 -56 -56 -56 -57 -62 -68 -74 -77 -79 -78 -78 -75 -67 -54 -53 -57 -59 -57 -59 -62 -62 -59 -55 -56 -59 -63 -69 -75 -79 -82 -84 -85 -89 -94 -96 -91 -80 -75 -77 -82 -86 -94 -102 -108 -113 -118 -121 -118 -113 -107 -106 -109 -110 -108 -103 -101 -101 -97 -86 -76 -75 -78 -82 -77 -71 -69 -71 -74 -75 -75 -72 -69 -67 -69 -72 -76 -80 -81 -82 -83 -84 -84 -85 -87 -89 -91 -92 -92 -91 -90 -90 -93 -97 -100 -100 -96 -92 -91 -93 -96 -96 -95 -94 -93 -95 -99 -101 -101 -99 -99 -101 -105 -108 -110 -110 -108 -107 -105 -103 -102 -101 -101 -99 -97 -94 -90 -86 -87 -89 -92 -94 -95 -92 -87 -83 -82 -84 -83 -81 -79 -77 -77 -77 -77 -76 -74 -72 -71 -69 -67 -66 -65 -64 -63 -62 -62 -62 -62 -60 -58 -57 -57 -56 -57 -57 -57 -57 -58 -58 -58 -58 -56 -55 -54 -55 -56 -56 -57 -57 -58 -60 -63 -66 -68 -69 -71 -73 -74 -75 -75 -75 -75 -74 -74 -74 -75 -77 -78 -77 -74 -72 -71 -72 -74 -75 -76 -76 -74 -71 -70 -68 -67 -65 -63 -62 -61 -61 -60 -59 -57 -56 -54 -52 -51 -51 -52 -52 -52 -51 -52 -52 -53 -53 -54 -53 -53 -54 -54 -54 -54 -54 -55 -56 -57 -58 -58 -59 -58 -56 -56 -56 -58 -60 -60 -60 -62 -64 -65 -67 -69 -70 -70 -71 -73 -75 -75 -75 -75 -76 -77 -79 -81 -80 -79 -26 -31 -36 -40 -46 -53 -60 -64 -68 -72 -76 -77 -73 -68 -63 -59 -57 -61 -64 -65 -64 -66 -68 -69 -69 -69 -69 -66 -61 -52 -39 -33 -35 -46 -63 -80 -91 -96 -95 -89 -83 -79 -77 -78 -79 -78 -78 -80 -82 -79 -72 -63 -56 -60 -66 -71 -70 -63 -58 -55 -56 -58 -61 -64 -68 -72 -77 -78 -78 -78 -78 -74 -69 -65 -62 -60 -59 -60 -63 -69 -73 -73 -67 -59 -54 -55 -58 -62 -64 -64 -63 -62 -60 -59 -58 -54 -50 -49 -50 -50 -51 -54 -55 -49 -42 -39 -46 -56 -62 -66 -67 -67 -68 -69 -69 -70 -71 -73 -75 -75 -72 -70 -68 -66 -66 -67 -68 -69 -71 -72 -73 -73 -74 -75 -70 -60 -50 -45 -49 -50 -50 -50 -53 -60 -68 -74 -77 -75 -74 -68 -58 -46 -50 -57 -61 -59 -59 -61 -61 -60 -58 -59 -63 -70 -78 -82 -83 -82 -80 -80 -87 -93 -94 -88 -75 -71 -75 -81 -83 -90 -98 -105 -111 -116 -115 -110 -104 -99 -105 -108 -106 -98 -93 -96 -101 -102 -96 -87 -82 -80 -77 -72 -71 -72 -75 -77 -76 -74 -72 -69 -68 -69 -72 -76 -79 -80 -81 -81 -81 -82 -84 -87 -89 -91 -92 -93 -92 -90 -90 -93 -95 -97 -95 -91 -89 -91 -95 -98 -97 -95 -94 -93 -95 -97 -98 -97 -95 -95 -98 -102 -105 -108 -108 -107 -106 -106 -105 -103 -101 -99 -96 -93 -90 -86 -84 -86 -89 -92 -94 -95 -91 -86 -82 -82 -83 -83 -81 -78 -76 -76 -76 -76 -75 -73 -71 -69 -68 -66 -65 -63 -62 -60 -61 -61 -62 -62 -61 -59 -58 -57 -56 -57 -57 -58 -58 -58 -58 -58 -57 -55 -53 -53 -53 -54 -54 -54 -55 -57 -59 -62 -64 -66 -68 -70 -71 -73 -74 -74 -74 -74 -74 -74 -73 -74 -75 -76 -74 -72 -71 -71 -72 -73 -74 -74 -74 -72 -70 -69 -68 -68 -65 -63 -61 -59 -59 -59 -58 -57 -56 -54 -53 -52 -52 -52 -52 -51 -51 -50 -50 -51 -51 -52 -53 -53 -54 -54 -54 -53 -53 -54 -56 -57 -58 -58 -59 -58 -55 -55 -55 -57 -58 -58 -59 -60 -61 -63 -65 -67 -68 -69 -70 -72 -74 -74 -74 -74 -75 -76 -78 -79 -79 -78 -34 -36 -40 -42 -44 -49 -56 -63 -67 -72 -76 -76 -68 -62 -61 -62 -64 -68 -72 -74 -74 -73 -71 -69 -68 -68 -69 -71 -72 -70 -57 -45 -40 -46 -58 -71 -81 -88 -91 -90 -87 -84 -80 -79 -81 -82 -82 -83 -82 -79 -71 -61 -54 -59 -65 -67 -65 -59 -56 -56 -60 -64 -67 -70 -73 -76 -77 -77 -76 -76 -77 -77 -76 -74 -71 -69 -69 -71 -74 -76 -74 -71 -66 -62 -59 -59 -60 -62 -63 -63 -63 -62 -60 -57 -53 -49 -47 -49 -48 -47 -49 -54 -56 -49 -41 -36 -44 -55 -61 -65 -67 -68 -69 -70 -70 -71 -71 -72 -72 -71 -69 -66 -64 -62 -63 -67 -69 -70 -70 -71 -70 -68 -68 -68 -67 -63 -55 -47 -41 -38 -37 -37 -39 -47 -57 -67 -72 -71 -68 -60 -49 -40 -49 -59 -67 -68 -65 -64 -63 -61 -59 -62 -70 -78 -84 -87 -84 -77 -71 -74 -86 -92 -91 -83 -70 -68 -72 -78 -79 -89 -97 -104 -109 -113 -112 -107 -101 -99 -106 -109 -105 -95 -93 -96 -100 -101 -98 -90 -83 -78 -73 -72 -74 -76 -77 -77 -77 -76 -74 -72 -72 -72 -73 -75 -78 -80 -82 -83 -83 -84 -85 -88 -91 -94 -95 -96 -95 -93 -94 -94 -94 -94 -94 -93 -92 -91 -92 -94 -97 -97 -95 -93 -95 -95 -94 -93 -92 -94 -96 -100 -103 -106 -107 -107 -106 -105 -104 -102 -99 -96 -92 -89 -86 -84 -85 -87 -89 -91 -94 -94 -91 -86 -82 -82 -83 -82 -80 -77 -75 -75 -74 -74 -72 -70 -68 -66 -65 -64 -62 -60 -59 -59 -60 -61 -62 -62 -61 -60 -58 -56 -56 -57 -57 -58 -58 -58 -57 -56 -55 -53 -52 -51 -52 -52 -52 -52 -54 -56 -59 -61 -63 -65 -67 -69 -70 -71 -72 -72 -72 -72 -72 -72 -73 -74 -74 -74 -72 -71 -70 -71 -72 -72 -73 -73 -72 -70 -68 -67 -67 -67 -65 -62 -59 -57 -57 -57 -57 -56 -55 -54 -53 -53 -52 -52 -51 -50 -50 -50 -50 -51 -52 -53 -53 -53 -54 -54 -54 -54 -53 -54 -55 -56 -57 -58 -58 -57 -55 -54 -55 -56 -57 -57 -57 -57 -58 -60 -63 -65 -67 -67 -68 -70 -72 -72 -73 -73 -74 -75 -77 -78 -78 -77 -46 -46 -46 -48 -49 -50 -55 -65 -71 -74 -74 -71 -66 -64 -65 -68 -69 -71 -72 -72 -73 -72 -69 -68 -67 -68 -69 -71 -73 -74 -67 -57 -53 -56 -63 -70 -76 -80 -84 -86 -86 -85 -84 -83 -83 -83 -82 -81 -80 -77 -70 -59 -52 -57 -61 -62 -59 -56 -56 -58 -61 -65 -70 -74 -76 -76 -75 -74 -74 -74 -74 -74 -75 -75 -75 -75 -76 -76 -76 -74 -71 -69 -68 -68 -66 -65 -64 -63 -63 -64 -63 -62 -59 -55 -49 -45 -44 -48 -46 -44 -46 -53 -55 -48 -39 -34 -42 -54 -61 -65 -67 -68 -69 -70 -70 -71 -70 -69 -68 -66 -64 -62 -61 -62 -64 -68 -70 -69 -66 -64 -62 -61 -61 -63 -66 -66 -63 -59 -53 -47 -42 -40 -45 -52 -57 -62 -66 -69 -67 -59 -46 -39 -50 -62 -69 -70 -68 -67 -67 -66 -66 -72 -78 -82 -84 -84 -78 -71 -67 -75 -86 -90 -90 -85 -74 -70 -71 -76 -81 -94 -101 -106 -110 -113 -112 -108 -104 -104 -109 -111 -108 -100 -98 -99 -100 -100 -97 -92 -86 -80 -75 -72 -73 -76 -79 -82 -81 -80 -79 -79 -77 -76 -76 -77 -79 -82 -84 -86 -87 -87 -88 -90 -93 -97 -99 -100 -99 -97 -97 -94 -92 -91 -93 -93 -94 -94 -93 -94 -96 -96 -94 -92 -92 -92 -92 -91 -93 -95 -97 -99 -102 -105 -106 -106 -104 -104 -102 -99 -96 -93 -91 -88 -85 -84 -85 -87 -89 -90 -92 -92 -89 -85 -82 -82 -83 -82 -79 -76 -75 -74 -73 -72 -69 -66 -64 -63 -63 -62 -60 -59 -58 -58 -59 -60 -62 -63 -62 -60 -58 -56 -57 -57 -57 -57 -57 -56 -56 -55 -53 -51 -50 -51 -51 -50 -51 -52 -53 -56 -57 -59 -61 -63 -65 -67 -69 -70 -70 -70 -70 -70 -70 -70 -71 -71 -72 -72 -71 -70 -70 -70 -71 -71 -72 -71 -70 -68 -66 -66 -66 -66 -64 -62 -60 -58 -57 -57 -56 -55 -54 -54 -54 -54 -53 -52 -50 -49 -49 -50 -50 -51 -52 -52 -53 -53 -53 -54 -54 -53 -53 -54 -55 -55 -56 -57 -57 -55 -53 -53 -54 -55 -56 -56 -55 -55 -55 -58 -62 -65 -66 -66 -67 -69 -72 -72 -73 -74 -74 -74 -76 -77 -77 -76 -55 -57 -56 -57 -58 -58 -60 -67 -68 -67 -66 -68 -68 -70 -72 -73 -70 -69 -68 -69 -71 -70 -70 -69 -68 -69 -71 -72 -73 -71 -66 -60 -59 -63 -69 -73 -76 -78 -80 -83 -85 -86 -86 -85 -83 -82 -81 -79 -76 -71 -64 -56 -51 -55 -57 -58 -57 -58 -60 -63 -65 -69 -73 -75 -74 -72 -71 -72 -71 -70 -68 -67 -69 -71 -73 -76 -75 -73 -70 -68 -68 -68 -68 -68 -68 -67 -67 -66 -65 -64 -62 -60 -56 -51 -45 -42 -43 -47 -45 -43 -45 -52 -54 -47 -38 -33 -41 -53 -61 -65 -67 -68 -68 -69 -70 -69 -67 -65 -65 -64 -62 -60 -61 -63 -65 -68 -68 -65 -60 -57 -57 -59 -61 -64 -67 -69 -68 -66 -58 -49 -42 -41 -48 -53 -56 -58 -61 -64 -63 -57 -47 -43 -51 -61 -68 -70 -71 -70 -68 -64 -65 -72 -78 -81 -78 -75 -72 -73 -76 -84 -89 -91 -92 -89 -76 -70 -71 -78 -90 -103 -108 -109 -112 -113 -112 -109 -106 -107 -110 -111 -110 -105 -101 -98 -96 -93 -93 -92 -89 -85 -80 -72 -71 -74 -79 -82 -83 -83 -82 -81 -81 -81 -81 -80 -80 -83 -86 -88 -89 -89 -89 -91 -95 -99 -102 -103 -101 -97 -93 -90 -89 -90 -92 -93 -93 -94 -95 -96 -96 -95 -94 -94 -94 -94 -95 -96 -96 -97 -97 -99 -101 -104 -105 -104 -102 -101 -98 -95 -92 -91 -90 -88 -86 -85 -86 -88 -89 -90 -91 -90 -87 -84 -82 -83 -82 -80 -77 -75 -75 -75 -73 -70 -67 -64 -61 -61 -62 -62 -60 -59 -58 -57 -58 -59 -60 -61 -61 -59 -57 -56 -57 -57 -56 -56 -55 -55 -54 -53 -51 -50 -49 -49 -50 -50 -50 -52 -53 -54 -55 -56 -59 -61 -64 -66 -67 -68 -68 -69 -69 -69 -69 -69 -69 -69 -69 -70 -70 -70 -69 -70 -71 -71 -71 -69 -67 -65 -64 -65 -65 -64 -63 -62 -61 -60 -59 -59 -58 -57 -56 -56 -56 -55 -54 -52 -50 -48 -48 -49 -50 -51 -51 -51 -52 -52 -52 -53 -53 -53 -53 -53 -54 -54 -55 -56 -55 -54 -52 -52 -53 -54 -55 -55 -54 -54 -55 -58 -62 -65 -65 -66 -67 -69 -71 -72 -73 -73 -74 -74 -75 -76 -76 -76 -54 -61 -61 -60 -59 -58 -58 -63 -63 -61 -60 -65 -70 -72 -72 -71 -67 -66 -67 -67 -66 -66 -68 -70 -71 -71 -72 -74 -73 -69 -64 -62 -63 -68 -73 -77 -79 -81 -82 -84 -86 -86 -85 -84 -82 -81 -79 -78 -72 -63 -55 -49 -48 -52 -54 -56 -57 -62 -66 -70 -73 -76 -77 -73 -69 -67 -69 -68 -65 -61 -58 -60 -64 -68 -71 -73 -71 -68 -64 -65 -64 -62 -61 -61 -64 -66 -66 -65 -63 -61 -58 -56 -52 -47 -43 -41 -43 -46 -44 -43 -45 -52 -54 -48 -39 -33 -41 -53 -60 -64 -65 -67 -68 -69 -68 -67 -65 -64 -64 -63 -61 -61 -62 -64 -65 -66 -64 -61 -56 -56 -58 -62 -65 -68 -71 -70 -67 -61 -53 -45 -41 -43 -50 -54 -57 -59 -60 -61 -60 -55 -49 -47 -53 -61 -68 -70 -73 -74 -71 -64 -61 -65 -70 -74 -73 -74 -78 -84 -88 -90 -91 -92 -91 -88 -81 -77 -76 -80 -93 -104 -109 -110 -112 -113 -111 -106 -102 -104 -107 -108 -108 -104 -100 -95 -89 -85 -87 -89 -89 -86 -80 -71 -69 -71 -74 -78 -80 -81 -81 -81 -81 -82 -82 -82 -82 -84 -87 -90 -92 -93 -93 -95 -98 -100 -101 -101 -97 -90 -85 -84 -87 -91 -92 -92 -92 -93 -95 -97 -96 -96 -97 -99 -99 -100 -101 -103 -103 -103 -102 -101 -101 -102 -102 -102 -99 -96 -92 -90 -89 -89 -88 -86 -84 -84 -87 -88 -90 -91 -91 -88 -85 -83 -82 -82 -81 -78 -75 -75 -76 -75 -72 -68 -65 -63 -61 -61 -63 -62 -61 -60 -59 -58 -57 -57 -58 -58 -57 -57 -56 -56 -55 -55 -54 -54 -53 -53 -52 -51 -49 -48 -48 -48 -49 -49 -50 -51 -52 -52 -53 -55 -57 -60 -62 -63 -65 -66 -67 -67 -68 -68 -68 -67 -66 -66 -67 -68 -69 -69 -69 -69 -70 -70 -70 -68 -66 -64 -64 -64 -64 -63 -63 -62 -62 -62 -61 -60 -60 -59 -59 -59 -59 -59 -57 -55 -53 -50 -47 -47 -48 -49 -50 -50 -51 -52 -52 -52 -53 -53 -53 -53 -53 -54 -55 -55 -54 -52 -50 -50 -52 -53 -55 -55 -55 -55 -56 -58 -62 -64 -65 -65 -66 -68 -71 -72 -73 -72 -73 -74 -75 -75 -75 -75 -48 -53 -55 -53 -50 -50 -52 -59 -62 -62 -62 -66 -71 -70 -68 -66 -66 -66 -67 -66 -63 -61 -64 -68 -71 -71 -73 -75 -75 -71 -67 -66 -68 -73 -77 -81 -84 -86 -86 -87 -86 -85 -84 -82 -80 -78 -76 -76 -71 -60 -49 -42 -43 -48 -51 -54 -58 -65 -70 -73 -76 -77 -74 -69 -65 -64 -66 -62 -56 -51 -48 -53 -60 -67 -70 -70 -67 -64 -61 -57 -51 -49 -51 -57 -63 -65 -65 -64 -60 -55 -53 -51 -49 -46 -42 -41 -43 -46 -43 -43 -46 -52 -54 -47 -39 -34 -41 -52 -59 -63 -65 -67 -68 -68 -68 -67 -67 -67 -66 -64 -63 -63 -64 -64 -65 -65 -63 -60 -57 -60 -64 -66 -69 -73 -74 -70 -62 -55 -50 -47 -46 -49 -54 -56 -58 -60 -60 -61 -59 -55 -50 -47 -52 -60 -68 -72 -75 -77 -74 -67 -61 -63 -67 -71 -72 -75 -80 -84 -87 -89 -91 -92 -92 -90 -85 -79 -75 -76 -90 -102 -107 -109 -112 -113 -107 -101 -96 -98 -103 -105 -105 -102 -98 -91 -84 -78 -81 -83 -84 -82 -75 -68 -67 -68 -69 -71 -74 -76 -77 -77 -77 -77 -77 -79 -81 -85 -88 -91 -94 -96 -97 -99 -100 -97 -95 -93 -90 -85 -83 -85 -88 -91 -92 -92 -92 -91 -93 -94 -95 -96 -99 -102 -103 -105 -107 -108 -109 -109 -108 -106 -103 -101 -100 -98 -94 -88 -85 -84 -87 -87 -86 -83 -82 -83 -86 -89 -90 -92 -91 -88 -84 -83 -83 -81 -79 -76 -74 -75 -75 -74 -70 -67 -65 -63 -61 -61 -63 -63 -62 -61 -61 -59 -58 -56 -55 -54 -54 -54 -54 -54 -53 -53 -52 -52 -52 -51 -50 -49 -47 -47 -47 -47 -48 -49 -50 -50 -50 -50 -52 -54 -57 -60 -61 -61 -62 -63 -65 -66 -67 -68 -67 -66 -64 -64 -65 -67 -68 -68 -68 -69 -69 -69 -68 -67 -66 -64 -63 -62 -62 -62 -61 -62 -62 -62 -61 -61 -60 -60 -60 -61 -61 -61 -59 -57 -55 -52 -49 -47 -47 -47 -48 -49 -51 -52 -52 -52 -53 -53 -53 -52 -53 -54 -55 -55 -52 -49 -48 -49 -50 -52 -54 -55 -55 -55 -56 -57 -60 -62 -63 -64 -66 -67 -70 -72 -72 -72 -72 -74 -75 -75 -75 -75 -43 -45 -46 -46 -45 -45 -48 -56 -62 -65 -67 -70 -71 -69 -66 -64 -64 -66 -67 -67 -64 -60 -62 -66 -70 -71 -71 -73 -75 -75 -73 -73 -74 -76 -79 -83 -86 -88 -89 -87 -85 -85 -84 -80 -75 -73 -75 -78 -75 -63 -48 -37 -38 -43 -49 -55 -62 -66 -69 -72 -75 -75 -69 -62 -59 -61 -62 -57 -49 -42 -41 -49 -58 -62 -62 -58 -55 -52 -49 -44 -40 -42 -47 -54 -58 -61 -62 -62 -59 -56 -52 -50 -49 -47 -43 -42 -43 -45 -43 -43 -47 -53 -52 -45 -37 -34 -43 -53 -60 -63 -66 -68 -68 -69 -70 -71 -71 -70 -69 -67 -66 -67 -68 -68 -67 -65 -63 -63 -64 -66 -67 -69 -72 -76 -73 -66 -58 -55 -57 -56 -55 -54 -55 -57 -58 -59 -60 -61 -60 -56 -50 -45 -51 -59 -68 -74 -77 -76 -72 -67 -64 -66 -68 -68 -65 -69 -74 -81 -87 -90 -93 -94 -93 -87 -81 -77 -74 -76 -87 -98 -104 -107 -110 -110 -105 -98 -93 -97 -101 -104 -105 -101 -94 -86 -80 -77 -79 -79 -78 -76 -69 -68 -69 -70 -68 -67 -69 -71 -74 -75 -74 -73 -74 -76 -80 -84 -88 -91 -94 -96 -98 -99 -98 -94 -91 -89 -88 -86 -85 -87 -88 -89 -91 -92 -91 -90 -90 -92 -93 -96 -100 -104 -105 -107 -109 -111 -111 -111 -110 -109 -105 -101 -97 -94 -88 -83 -82 -84 -86 -85 -83 -81 -80 -82 -86 -88 -90 -92 -91 -88 -85 -84 -83 -80 -77 -74 -73 -74 -74 -72 -69 -66 -65 -64 -63 -63 -63 -63 -63 -63 -62 -61 -59 -56 -54 -53 -52 -53 -53 -53 -52 -52 -52 -52 -51 -50 -49 -47 -46 -46 -46 -47 -48 -48 -48 -48 -48 -49 -52 -56 -58 -59 -60 -60 -61 -62 -64 -65 -66 -66 -65 -64 -63 -63 -65 -66 -67 -67 -68 -68 -68 -68 -67 -66 -65 -63 -62 -61 -61 -60 -60 -61 -61 -61 -61 -60 -59 -59 -60 -61 -62 -61 -60 -58 -56 -53 -51 -49 -48 -47 -48 -49 -50 -51 -52 -52 -52 -52 -51 -52 -52 -53 -54 -54 -51 -48 -48 -48 -50 -51 -53 -54 -56 -55 -55 -56 -58 -60 -61 -63 -66 -68 -70 -71 -72 -71 -72 -74 -75 -74 -74 -74 -37 -38 -39 -43 -44 -44 -46 -54 -62 -68 -70 -70 -70 -68 -65 -63 -63 -65 -67 -68 -67 -63 -63 -67 -70 -71 -69 -70 -73 -76 -76 -75 -73 -73 -74 -79 -82 -85 -86 -85 -83 -83 -81 -78 -73 -72 -74 -77 -75 -66 -53 -41 -37 -44 -52 -60 -66 -68 -69 -73 -76 -74 -63 -57 -55 -59 -59 -52 -45 -41 -45 -51 -53 -52 -47 -44 -44 -46 -49 -48 -44 -46 -51 -57 -59 -60 -61 -62 -59 -55 -53 -52 -50 -48 -45 -43 -43 -43 -42 -43 -47 -52 -51 -43 -37 -36 -45 -55 -62 -65 -67 -67 -68 -70 -72 -73 -75 -75 -75 -74 -73 -73 -72 -71 -69 -68 -67 -68 -69 -71 -72 -74 -76 -77 -73 -65 -56 -52 -55 -56 -57 -56 -56 -56 -57 -58 -59 -58 -57 -56 -51 -46 -51 -59 -66 -72 -75 -72 -67 -64 -66 -70 -69 -65 -58 -62 -72 -82 -89 -90 -90 -90 -89 -82 -75 -72 -73 -76 -86 -95 -102 -105 -107 -106 -101 -95 -93 -94 -98 -102 -104 -101 -92 -84 -78 -77 -78 -76 -75 -73 -72 -75 -77 -77 -74 -70 -69 -71 -74 -77 -76 -75 -74 -76 -80 -83 -86 -90 -93 -96 -98 -99 -96 -91 -87 -86 -87 -88 -89 -89 -89 -89 -92 -93 -92 -90 -91 -92 -95 -98 -102 -105 -106 -107 -109 -110 -109 -109 -108 -107 -104 -100 -96 -91 -85 -82 -82 -84 -84 -83 -82 -81 -82 -84 -86 -88 -90 -91 -90 -89 -87 -85 -83 -80 -76 -74 -73 -73 -73 -71 -68 -66 -65 -65 -64 -63 -63 -63 -62 -62 -62 -61 -60 -58 -56 -54 -53 -53 -53 -53 -53 -54 -54 -53 -52 -50 -49 -47 -46 -46 -47 -47 -47 -48 -48 -47 -48 -51 -54 -57 -59 -59 -60 -60 -61 -62 -64 -64 -64 -64 -62 -62 -62 -64 -65 -66 -66 -67 -67 -67 -67 -66 -66 -65 -63 -62 -61 -60 -58 -58 -59 -60 -60 -60 -59 -58 -57 -58 -58 -59 -60 -61 -60 -58 -56 -53 -51 -50 -49 -48 -48 -49 -50 -51 -51 -51 -50 -50 -49 -50 -50 -51 -52 -52 -50 -48 -48 -48 -50 -51 -52 -53 -55 -55 -55 -55 -57 -58 -60 -61 -64 -67 -70 -71 -72 -71 -72 -73 -74 -73 -73 -73 -31 -31 -35 -41 -45 -46 -47 -52 -62 -68 -69 -67 -66 -67 -65 -63 -62 -64 -67 -69 -68 -65 -66 -68 -70 -71 -70 -70 -72 -75 -77 -78 -77 -77 -78 -82 -85 -86 -86 -85 -84 -82 -79 -74 -71 -71 -73 -74 -71 -62 -51 -42 -39 -46 -55 -63 -67 -67 -68 -72 -75 -72 -61 -53 -51 -55 -54 -49 -45 -44 -47 -47 -45 -41 -39 -38 -41 -46 -52 -55 -56 -57 -59 -62 -63 -63 -63 -62 -59 -54 -51 -51 -51 -50 -47 -45 -43 -42 -41 -43 -48 -53 -51 -45 -39 -40 -50 -58 -63 -65 -65 -66 -68 -70 -73 -76 -78 -79 -79 -79 -78 -77 -77 -76 -74 -72 -71 -72 -73 -74 -76 -77 -76 -71 -65 -60 -57 -57 -56 -55 -56 -59 -60 -59 -58 -57 -57 -55 -54 -52 -51 -49 -51 -54 -59 -66 -71 -69 -66 -62 -65 -69 -68 -64 -60 -67 -76 -85 -91 -88 -84 -84 -84 -79 -73 -71 -74 -81 -90 -96 -100 -102 -105 -104 -100 -94 -90 -91 -95 -99 -103 -101 -92 -83 -77 -74 -74 -72 -72 -73 -76 -82 -84 -82 -80 -75 -71 -70 -73 -78 -79 -78 -77 -78 -80 -82 -85 -89 -93 -97 -99 -99 -94 -88 -85 -85 -87 -91 -92 -91 -89 -90 -92 -92 -92 -91 -93 -97 -101 -104 -105 -105 -106 -107 -107 -107 -107 -105 -104 -103 -101 -98 -95 -91 -85 -81 -80 -81 -82 -81 -81 -82 -84 -85 -87 -87 -88 -89 -89 -89 -89 -87 -83 -79 -76 -74 -73 -73 -72 -71 -68 -67 -66 -65 -64 -64 -63 -62 -61 -62 -62 -62 -62 -61 -59 -57 -55 -55 -55 -56 -57 -58 -58 -56 -53 -51 -49 -48 -47 -48 -48 -48 -48 -48 -48 -49 -51 -54 -57 -59 -60 -60 -61 -61 -62 -63 -63 -63 -63 -61 -60 -61 -62 -64 -66 -66 -66 -66 -66 -66 -65 -65 -65 -64 -62 -61 -60 -58 -57 -57 -57 -58 -59 -58 -57 -55 -55 -56 -56 -57 -57 -59 -59 -58 -56 -54 -52 -51 -50 -50 -49 -49 -49 -49 -49 -49 -48 -47 -47 -48 -48 -49 -50 -50 -49 -48 -48 -49 -49 -50 -51 -52 -53 -54 -55 -55 -56 -57 -59 -61 -63 -67 -70 -72 -72 -72 -73 -73 -73 -72 -72 -72 -25 -27 -31 -38 -45 -48 -49 -52 -62 -67 -67 -62 -60 -62 -63 -62 -62 -65 -69 -70 -67 -65 -66 -68 -71 -75 -75 -75 -76 -77 -79 -81 -82 -84 -86 -88 -89 -89 -87 -84 -82 -78 -74 -71 -71 -72 -72 -70 -67 -59 -49 -41 -39 -47 -55 -60 -63 -66 -68 -71 -73 -68 -56 -49 -47 -50 -52 -51 -49 -48 -46 -42 -40 -39 -40 -42 -45 -49 -55 -60 -63 -64 -64 -66 -66 -65 -62 -59 -57 -51 -49 -49 -52 -53 -50 -46 -43 -42 -42 -45 -50 -55 -55 -49 -44 -43 -50 -57 -61 -62 -63 -65 -69 -73 -76 -79 -80 -80 -80 -81 -80 -79 -78 -77 -76 -73 -73 -74 -76 -78 -78 -75 -68 -61 -57 -56 -58 -60 -60 -61 -63 -68 -70 -66 -62 -56 -51 -49 -50 -53 -54 -51 -51 -53 -58 -65 -68 -67 -66 -66 -69 -71 -70 -68 -69 -75 -81 -86 -90 -88 -83 -81 -81 -79 -75 -75 -81 -89 -95 -95 -96 -99 -103 -104 -101 -97 -90 -88 -90 -94 -99 -96 -88 -81 -76 -75 -75 -74 -74 -77 -81 -82 -82 -80 -79 -76 -72 -70 -71 -74 -76 -78 -79 -80 -81 -83 -86 -90 -94 -97 -99 -98 -92 -85 -83 -85 -88 -92 -94 -92 -89 -89 -91 -92 -92 -92 -95 -100 -103 -105 -105 -105 -106 -106 -106 -105 -104 -102 -100 -100 -99 -97 -94 -91 -85 -80 -77 -77 -78 -80 -81 -82 -84 -85 -86 -87 -88 -89 -89 -89 -88 -85 -82 -79 -76 -75 -74 -73 -72 -70 -69 -68 -67 -66 -64 -64 -63 -62 -61 -61 -62 -63 -63 -63 -62 -60 -58 -58 -59 -61 -63 -63 -62 -59 -55 -52 -51 -50 -50 -49 -49 -49 -49 -50 -51 -53 -55 -58 -59 -60 -61 -62 -62 -63 -63 -63 -63 -63 -62 -60 -60 -61 -63 -65 -66 -66 -66 -65 -65 -65 -64 -63 -63 -62 -61 -60 -59 -57 -56 -55 -55 -56 -57 -56 -55 -54 -54 -54 -54 -54 -54 -56 -58 -58 -57 -55 -53 -52 -52 -52 -51 -50 -49 -48 -47 -47 -46 -45 -45 -46 -46 -46 -47 -48 -49 -49 -49 -49 -49 -50 -50 -51 -52 -54 -55 -55 -55 -56 -58 -61 -63 -66 -69 -72 -73 -73 -73 -73 -72 -71 -71 -71 -20 -25 -33 -43 -50 -53 -53 -54 -62 -66 -65 -59 -54 -54 -55 -58 -64 -71 -72 -68 -63 -64 -68 -71 -75 -80 -83 -85 -85 -85 -85 -85 -86 -88 -88 -88 -87 -86 -84 -80 -76 -73 -70 -70 -72 -71 -69 -65 -62 -56 -48 -40 -37 -44 -50 -54 -58 -62 -67 -70 -71 -63 -50 -44 -43 -47 -52 -55 -55 -52 -46 -41 -41 -44 -48 -50 -51 -53 -57 -62 -65 -66 -66 -67 -66 -62 -57 -53 -51 -47 -46 -49 -54 -55 -52 -47 -43 -41 -43 -48 -54 -59 -60 -56 -50 -47 -50 -54 -57 -59 -62 -67 -72 -76 -80 -81 -80 -79 -79 -79 -79 -79 -78 -77 -76 -75 -75 -75 -76 -76 -72 -67 -60 -57 -57 -59 -62 -64 -66 -68 -72 -75 -75 -69 -59 -48 -39 -41 -45 -49 -51 -53 -53 -54 -57 -61 -63 -65 -68 -73 -78 -79 -79 -78 -81 -83 -86 -89 -91 -88 -81 -76 -76 -77 -77 -81 -88 -95 -92 -89 -90 -96 -101 -103 -103 -99 -92 -85 -84 -87 -92 -89 -83 -79 -77 -79 -81 -82 -83 -84 -86 -83 -79 -75 -75 -75 -75 -73 -72 -72 -74 -76 -78 -80 -82 -84 -87 -91 -94 -97 -98 -97 -89 -84 -84 -87 -90 -92 -93 -92 -89 -90 -92 -93 -93 -94 -96 -100 -103 -104 -105 -105 -105 -105 -104 -102 -101 -100 -99 -99 -98 -96 -94 -90 -83 -77 -74 -74 -76 -78 -80 -82 -84 -84 -85 -86 -88 -88 -88 -87 -86 -84 -81 -79 -77 -75 -74 -73 -72 -71 -70 -69 -68 -67 -65 -65 -63 -62 -62 -63 -63 -64 -64 -64 -63 -62 -61 -62 -64 -66 -67 -67 -65 -61 -57 -54 -53 -52 -51 -51 -51 -51 -51 -53 -55 -58 -60 -61 -62 -62 -63 -63 -64 -64 -64 -64 -63 -62 -62 -61 -62 -63 -65 -65 -65 -65 -65 -65 -65 -64 -63 -62 -61 -61 -60 -59 -57 -55 -54 -53 -53 -54 -55 -54 -54 -52 -53 -53 -53 -52 -52 -54 -56 -57 -56 -55 -54 -53 -53 -54 -53 -52 -50 -48 -47 -46 -45 -45 -44 -44 -44 -44 -45 -47 -49 -49 -49 -50 -50 -50 -50 -50 -51 -53 -55 -55 -54 -55 -58 -60 -62 -65 -68 -71 -73 -73 -73 -72 -71 -70 -70 -70 -20 -29 -41 -53 -62 -64 -62 -61 -65 -66 -63 -57 -51 -45 -45 -52 -63 -72 -71 -65 -58 -59 -67 -73 -79 -84 -87 -88 -89 -89 -89 -88 -87 -86 -84 -83 -82 -80 -78 -73 -70 -69 -69 -70 -70 -68 -64 -59 -57 -54 -47 -40 -36 -42 -47 -52 -55 -59 -66 -69 -67 -56 -45 -41 -41 -46 -52 -58 -61 -57 -50 -47 -48 -53 -57 -58 -59 -59 -61 -64 -66 -66 -65 -64 -61 -55 -49 -44 -42 -42 -46 -52 -57 -57 -52 -46 -41 -40 -46 -53 -60 -65 -66 -63 -58 -54 -54 -55 -56 -59 -65 -71 -76 -80 -83 -81 -78 -77 -77 -77 -77 -77 -77 -76 -76 -76 -75 -74 -72 -69 -63 -58 -57 -59 -63 -67 -69 -71 -75 -77 -79 -80 -77 -65 -51 -40 -38 -43 -47 -49 -50 -53 -55 -57 -59 -59 -61 -65 -71 -78 -83 -86 -87 -87 -89 -89 -90 -91 -93 -86 -74 -66 -67 -72 -77 -83 -89 -89 -81 -79 -84 -94 -99 -100 -100 -98 -90 -81 -78 -80 -84 -83 -80 -79 -82 -87 -89 -89 -89 -88 -87 -82 -77 -74 -72 -74 -76 -76 -74 -71 -71 -72 -76 -80 -83 -85 -88 -92 -95 -97 -97 -95 -88 -84 -84 -88 -91 -92 -91 -90 -89 -92 -94 -96 -97 -97 -98 -99 -101 -103 -105 -105 -105 -104 -102 -101 -100 -100 -99 -98 -97 -95 -93 -89 -83 -77 -74 -74 -76 -78 -80 -82 -84 -84 -85 -86 -87 -87 -87 -86 -85 -83 -81 -79 -77 -76 -74 -74 -72 -71 -70 -69 -69 -68 -67 -66 -65 -64 -64 -65 -65 -65 -65 -64 -64 -64 -64 -66 -67 -68 -68 -68 -66 -63 -59 -57 -55 -54 -53 -53 -53 -54 -56 -58 -60 -62 -64 -65 -65 -65 -65 -65 -65 -65 -65 -64 -64 -63 -63 -64 -65 -66 -66 -66 -65 -65 -65 -64 -64 -64 -63 -61 -60 -59 -58 -57 -55 -53 -52 -52 -52 -52 -53 -54 -53 -53 -53 -53 -53 -52 -52 -53 -54 -55 -55 -54 -53 -53 -54 -55 -54 -52 -50 -48 -46 -46 -45 -44 -43 -42 -42 -42 -44 -46 -48 -50 -50 -50 -50 -50 -49 -50 -50 -52 -53 -53 -54 -55 -57 -59 -61 -64 -66 -70 -73 -73 -72 -72 -71 -70 -70 -69 -23 -34 -47 -58 -63 -63 -62 -61 -66 -64 -60 -54 -50 -42 -40 -44 -56 -66 -67 -61 -54 -52 -61 -69 -77 -81 -83 -84 -86 -87 -86 -85 -83 -81 -77 -77 -76 -75 -72 -69 -68 -68 -69 -70 -67 -62 -57 -54 -53 -50 -45 -40 -38 -46 -54 -59 -60 -62 -66 -66 -61 -49 -42 -41 -44 -48 -51 -57 -61 -62 -59 -57 -59 -62 -65 -65 -65 -65 -64 -66 -66 -64 -61 -55 -51 -46 -41 -38 -38 -42 -49 -55 -58 -56 -51 -44 -39 -41 -49 -58 -65 -68 -70 -71 -72 -71 -66 -62 -61 -65 -71 -77 -82 -84 -83 -79 -77 -76 -76 -76 -75 -74 -74 -74 -74 -73 -71 -68 -65 -61 -57 -56 -59 -64 -70 -74 -77 -80 -83 -84 -84 -83 -77 -61 -45 -34 -39 -47 -50 -50 -51 -54 -58 -61 -63 -63 -63 -66 -71 -78 -84 -86 -88 -89 -89 -87 -87 -88 -91 -83 -70 -62 -63 -69 -74 -80 -83 -80 -74 -76 -84 -95 -97 -96 -95 -92 -85 -76 -75 -77 -81 -79 -79 -83 -90 -97 -97 -94 -91 -89 -87 -83 -78 -74 -71 -72 -75 -76 -74 -70 -70 -72 -76 -80 -83 -86 -88 -91 -93 -95 -95 -91 -85 -83 -85 -90 -92 -92 -91 -90 -89 -92 -96 -100 -102 -102 -100 -99 -100 -101 -102 -103 -103 -102 -100 -100 -99 -99 -99 -98 -96 -94 -91 -86 -80 -77 -76 -76 -77 -80 -81 -83 -84 -85 -86 -86 -86 -86 -86 -85 -84 -83 -80 -78 -76 -75 -74 -73 -72 -71 -70 -70 -70 -70 -69 -68 -67 -66 -67 -67 -67 -66 -66 -65 -66 -66 -67 -68 -68 -68 -67 -66 -66 -64 -61 -60 -58 -57 -56 -56 -57 -59 -61 -63 -65 -66 -67 -68 -69 -68 -67 -67 -66 -66 -66 -66 -65 -65 -66 -67 -68 -68 -67 -67 -66 -65 -64 -64 -63 -63 -62 -60 -59 -58 -57 -56 -54 -52 -51 -51 -51 -52 -53 -54 -54 -53 -53 -53 -53 -52 -52 -53 -53 -53 -54 -53 -52 -52 -53 -54 -54 -53 -50 -48 -46 -46 -45 -44 -43 -42 -42 -42 -43 -45 -47 -50 -50 -50 -50 -50 -49 -48 -49 -50 -51 -52 -53 -53 -55 -57 -60 -62 -65 -68 -71 -72 -72 -71 -71 -70 -69 -69 -24 -35 -46 -52 -56 -58 -58 -59 -64 -64 -59 -52 -49 -44 -39 -38 -43 -55 -61 -59 -53 -48 -55 -63 -70 -73 -74 -77 -79 -80 -78 -77 -75 -73 -70 -72 -73 -73 -71 -68 -67 -68 -70 -69 -64 -57 -50 -46 -48 -47 -42 -39 -41 -52 -60 -65 -67 -68 -68 -62 -53 -43 -42 -44 -48 -50 -53 -58 -62 -64 -66 -67 -68 -68 -67 -64 -64 -65 -67 -67 -65 -62 -56 -43 -35 -35 -36 -36 -37 -44 -52 -57 -58 -56 -50 -43 -39 -43 -52 -59 -65 -69 -71 -73 -75 -78 -80 -78 -77 -78 -81 -84 -85 -83 -79 -76 -75 -75 -74 -73 -72 -72 -72 -70 -66 -63 -60 -58 -57 -59 -60 -63 -65 -71 -76 -79 -80 -82 -84 -85 -84 -82 -73 -57 -42 -34 -40 -47 -51 -52 -53 -54 -58 -62 -65 -67 -66 -68 -72 -79 -84 -85 -86 -88 -85 -81 -80 -83 -88 -84 -74 -66 -65 -69 -72 -75 -77 -74 -73 -77 -84 -91 -93 -93 -92 -89 -83 -78 -78 -81 -84 -82 -83 -89 -97 -103 -102 -98 -93 -92 -90 -85 -80 -76 -72 -71 -71 -73 -73 -72 -72 -75 -78 -81 -83 -85 -87 -89 -91 -92 -91 -88 -83 -82 -85 -90 -94 -94 -91 -89 -91 -95 -98 -101 -104 -104 -101 -99 -97 -97 -98 -99 -99 -98 -98 -99 -99 -99 -98 -97 -96 -92 -89 -85 -83 -81 -79 -78 -79 -80 -80 -82 -84 -86 -87 -87 -87 -86 -85 -84 -83 -82 -80 -78 -76 -74 -73 -72 -71 -71 -71 -71 -72 -72 -71 -69 -68 -69 -70 -70 -69 -68 -68 -68 -69 -69 -69 -68 -67 -66 -66 -65 -65 -65 -64 -64 -63 -62 -62 -62 -63 -65 -67 -68 -68 -69 -70 -71 -71 -71 -69 -68 -67 -67 -68 -68 -68 -68 -69 -70 -70 -69 -68 -68 -67 -65 -64 -63 -62 -61 -60 -59 -58 -58 -57 -55 -53 -52 -51 -51 -52 -52 -53 -54 -55 -55 -54 -54 -53 -53 -53 -53 -53 -53 -53 -52 -52 -52 -52 -54 -54 -53 -50 -48 -46 -46 -45 -44 -43 -42 -42 -42 -42 -44 -46 -48 -50 -50 -50 -49 -48 -47 -47 -49 -50 -51 -52 -52 -53 -54 -57 -60 -63 -67 -70 -71 -71 -70 -70 -69 -69 -69 -22 -30 -38 -43 -47 -51 -54 -55 -60 -63 -61 -54 -49 -49 -44 -39 -36 -45 -54 -58 -55 -49 -53 -59 -65 -68 -69 -70 -72 -73 -73 -70 -66 -63 -61 -67 -72 -74 -73 -70 -67 -67 -67 -65 -61 -52 -42 -36 -41 -43 -40 -39 -43 -51 -56 -59 -62 -63 -60 -54 -48 -43 -43 -48 -53 -59 -61 -64 -67 -68 -68 -66 -64 -62 -60 -60 -63 -65 -67 -67 -67 -64 -55 -39 -29 -31 -34 -35 -38 -47 -55 -59 -59 -53 -46 -41 -40 -45 -53 -59 -63 -66 -69 -72 -75 -79 -83 -84 -85 -86 -85 -83 -80 -76 -73 -73 -74 -73 -72 -71 -72 -71 -69 -64 -59 -57 -56 -56 -59 -64 -68 -71 -73 -77 -79 -80 -79 -80 -82 -82 -79 -73 -61 -49 -43 -42 -45 -48 -51 -54 -54 -53 -54 -58 -63 -67 -68 -70 -75 -83 -86 -87 -87 -87 -83 -79 -78 -82 -87 -86 -81 -75 -73 -75 -75 -74 -73 -71 -72 -75 -81 -87 -90 -91 -91 -88 -83 -79 -82 -88 -94 -93 -91 -93 -99 -104 -104 -100 -95 -94 -92 -88 -82 -78 -73 -70 -70 -71 -73 -74 -75 -78 -80 -81 -82 -83 -86 -89 -91 -91 -90 -87 -82 -82 -85 -90 -94 -93 -90 -88 -90 -95 -98 -101 -103 -104 -101 -98 -95 -93 -94 -95 -95 -96 -97 -99 -100 -99 -98 -97 -94 -90 -87 -85 -84 -83 -82 -81 -79 -78 -79 -82 -85 -86 -87 -87 -87 -85 -83 -82 -82 -82 -80 -78 -75 -73 -72 -71 -71 -70 -71 -72 -72 -72 -71 -70 -70 -71 -72 -72 -71 -71 -71 -72 -72 -71 -70 -68 -66 -65 -65 -65 -66 -67 -68 -68 -69 -69 -69 -69 -71 -72 -72 -72 -71 -72 -72 -72 -72 -72 -70 -69 -69 -69 -69 -70 -70 -70 -70 -71 -70 -70 -69 -69 -68 -66 -64 -62 -61 -60 -59 -58 -58 -58 -57 -55 -53 -53 -53 -53 -54 -54 -54 -54 -55 -55 -54 -54 -53 -54 -54 -54 -54 -53 -52 -52 -51 -51 -52 -53 -53 -52 -50 -48 -46 -45 -44 -43 -43 -42 -42 -43 -43 -43 -45 -47 -49 -50 -51 -49 -47 -46 -46 -47 -48 -50 -50 -50 -51 -52 -54 -57 -61 -66 -68 -70 -70 -68 -68 -68 -68 -69 -23 -26 -30 -35 -41 -46 -50 -53 -57 -62 -64 -61 -54 -56 -56 -51 -41 -41 -48 -54 -56 -52 -53 -57 -63 -69 -71 -70 -70 -73 -76 -74 -67 -59 -53 -57 -63 -68 -69 -70 -71 -70 -66 -60 -56 -47 -37 -30 -34 -38 -39 -38 -41 -46 -50 -55 -59 -57 -52 -50 -51 -52 -52 -54 -56 -59 -62 -65 -67 -67 -65 -60 -57 -56 -57 -61 -64 -66 -67 -67 -67 -63 -54 -39 -28 -28 -31 -36 -44 -53 -59 -61 -58 -49 -41 -37 -39 -45 -51 -57 -60 -63 -66 -69 -72 -76 -79 -83 -84 -83 -79 -74 -70 -69 -71 -74 -75 -74 -73 -72 -72 -69 -64 -59 -56 -57 -60 -64 -67 -71 -73 -76 -79 -81 -80 -79 -78 -78 -77 -76 -72 -63 -52 -50 -51 -54 -53 -51 -52 -54 -54 -53 -53 -56 -61 -66 -69 -74 -81 -88 -89 -89 -89 -89 -87 -84 -83 -84 -85 -85 -85 -83 -80 -80 -77 -73 -70 -70 -72 -76 -81 -87 -91 -92 -91 -89 -83 -80 -83 -91 -99 -100 -99 -99 -101 -103 -103 -101 -97 -94 -92 -89 -86 -82 -78 -75 -73 -73 -74 -75 -76 -77 -78 -80 -82 -84 -88 -90 -91 -90 -88 -86 -82 -83 -86 -90 -92 -91 -89 -88 -89 -93 -96 -99 -100 -101 -100 -98 -96 -94 -94 -95 -95 -96 -98 -100 -101 -100 -98 -96 -92 -89 -85 -85 -85 -85 -84 -82 -79 -78 -79 -82 -85 -87 -87 -87 -86 -84 -83 -82 -81 -81 -80 -78 -75 -74 -72 -71 -71 -70 -71 -72 -72 -72 -71 -71 -71 -72 -73 -73 -74 -74 -75 -75 -74 -73 -71 -68 -66 -65 -65 -66 -68 -70 -71 -73 -74 -75 -75 -76 -76 -76 -75 -74 -74 -73 -73 -72 -72 -72 -71 -70 -70 -70 -71 -71 -71 -71 -71 -71 -71 -70 -70 -69 -68 -65 -63 -61 -60 -59 -58 -58 -59 -58 -57 -55 -54 -54 -55 -56 -56 -56 -55 -55 -55 -55 -54 -54 -53 -53 -54 -55 -55 -54 -53 -52 -52 -52 -52 -53 -53 -53 -51 -48 -46 -44 -44 -43 -43 -43 -43 -43 -43 -43 -44 -46 -48 -49 -50 -49 -46 -45 -44 -45 -47 -48 -49 -50 -50 -50 -52 -55 -58 -63 -67 -68 -68 -66 -66 -66 -67 -69 -26 -25 -27 -30 -36 -42 -48 -51 -54 -60 -66 -69 -65 -63 -68 -67 -57 -47 -48 -53 -55 -53 -52 -55 -62 -70 -76 -75 -75 -76 -80 -81 -77 -68 -58 -56 -59 -64 -67 -68 -71 -71 -67 -59 -53 -43 -32 -25 -27 -32 -35 -36 -39 -41 -45 -50 -54 -51 -48 -48 -51 -56 -59 -62 -63 -63 -65 -67 -67 -63 -57 -52 -50 -53 -58 -63 -64 -65 -66 -68 -66 -61 -51 -38 -28 -26 -31 -40 -51 -58 -61 -60 -56 -46 -38 -35 -39 -45 -51 -56 -59 -62 -65 -67 -70 -73 -76 -79 -77 -72 -65 -64 -66 -70 -74 -76 -76 -75 -73 -71 -70 -66 -61 -56 -57 -61 -65 -69 -72 -75 -78 -80 -82 -82 -80 -78 -75 -73 -72 -71 -68 -60 -48 -46 -51 -59 -62 -59 -55 -51 -48 -49 -51 -55 -62 -69 -75 -82 -88 -89 -89 -88 -88 -89 -90 -89 -86 -82 -78 -79 -81 -83 -81 -79 -76 -72 -69 -71 -76 -80 -85 -91 -94 -94 -92 -90 -85 -82 -85 -92 -100 -104 -104 -103 -104 -103 -101 -97 -94 -91 -90 -89 -88 -86 -83 -81 -80 -79 -77 -75 -75 -76 -80 -83 -87 -90 -92 -92 -89 -87 -86 -84 -82 -83 -85 -87 -89 -90 -89 -89 -91 -94 -96 -97 -99 -98 -98 -97 -96 -96 -96 -96 -96 -97 -100 -101 -101 -100 -97 -94 -91 -87 -84 -85 -85 -85 -85 -84 -81 -80 -81 -84 -86 -87 -87 -86 -85 -84 -82 -82 -81 -80 -79 -78 -76 -75 -73 -72 -71 -71 -72 -72 -72 -72 -71 -71 -71 -72 -73 -74 -75 -76 -76 -75 -74 -72 -70 -68 -66 -66 -66 -68 -70 -72 -75 -76 -78 -79 -79 -79 -78 -77 -76 -75 -74 -73 -72 -72 -73 -73 -72 -72 -71 -71 -71 -71 -71 -71 -71 -70 -70 -70 -70 -69 -67 -65 -62 -60 -59 -59 -59 -60 -60 -59 -57 -56 -56 -56 -57 -58 -58 -57 -57 -56 -56 -55 -55 -54 -52 -53 -54 -55 -56 -55 -54 -53 -53 -53 -54 -54 -54 -53 -52 -49 -46 -44 -43 -44 -44 -44 -44 -44 -43 -42 -42 -44 -46 -47 -48 -47 -45 -43 -43 -44 -46 -48 -49 -50 -50 -50 -51 -53 -56 -60 -64 -67 -68 -65 -66 -67 -67 -69 -29 -27 -27 -30 -36 -41 -46 -49 -52 -57 -65 -72 -73 -69 -75 -78 -73 -60 -53 -53 -55 -53 -49 -51 -57 -66 -75 -79 -80 -79 -79 -81 -81 -77 -69 -63 -63 -65 -67 -70 -72 -70 -66 -61 -57 -48 -36 -25 -23 -26 -29 -34 -40 -41 -42 -44 -48 -51 -51 -52 -54 -57 -62 -67 -69 -70 -69 -69 -64 -57 -48 -46 -48 -53 -59 -62 -62 -63 -65 -67 -65 -60 -53 -42 -31 -28 -32 -42 -55 -60 -60 -58 -54 -45 -38 -37 -42 -49 -54 -58 -60 -62 -63 -65 -68 -71 -74 -70 -64 -58 -56 -63 -69 -75 -78 -78 -77 -75 -72 -70 -68 -64 -60 -57 -60 -62 -65 -68 -71 -74 -77 -79 -81 -81 -79 -76 -73 -69 -67 -68 -67 -59 -46 -42 -46 -54 -60 -61 -58 -52 -45 -43 -47 -55 -67 -76 -84 -88 -88 -86 -83 -81 -80 -81 -84 -82 -76 -69 -67 -75 -82 -84 -80 -76 -74 -73 -72 -76 -81 -86 -91 -97 -97 -96 -94 -93 -91 -88 -89 -94 -99 -103 -104 -104 -105 -104 -101 -97 -93 -89 -88 -88 -89 -88 -86 -85 -85 -84 -83 -81 -81 -82 -85 -88 -90 -90 -90 -89 -86 -84 -84 -82 -81 -81 -83 -84 -88 -90 -90 -91 -94 -96 -97 -97 -98 -97 -97 -96 -96 -95 -95 -95 -96 -99 -101 -102 -101 -98 -95 -91 -88 -85 -83 -83 -83 -83 -84 -86 -85 -84 -85 -86 -87 -87 -87 -86 -86 -84 -82 -82 -81 -81 -80 -78 -76 -75 -74 -73 -72 -72 -72 -72 -71 -71 -71 -70 -70 -71 -72 -74 -75 -75 -74 -73 -72 -71 -69 -68 -67 -67 -68 -70 -73 -75 -77 -78 -80 -81 -81 -80 -79 -77 -75 -74 -73 -72 -72 -73 -74 -74 -74 -73 -73 -72 -72 -71 -71 -71 -71 -70 -70 -70 -70 -69 -67 -64 -62 -60 -59 -60 -61 -62 -61 -60 -58 -57 -58 -58 -59 -60 -59 -59 -58 -58 -57 -57 -56 -56 -54 -54 -54 -55 -56 -56 -55 -54 -54 -55 -55 -55 -55 -54 -52 -50 -47 -45 -45 -45 -45 -45 -45 -44 -43 -42 -42 -43 -44 -45 -46 -45 -44 -43 -42 -43 -46 -48 -49 -51 -51 -51 -51 -52 -54 -58 -62 -65 -66 -65 -66 -67 -68 -68 -28 -26 -26 -28 -32 -38 -44 -49 -53 -57 -65 -73 -78 -76 -80 -84 -83 -74 -62 -57 -56 -54 -49 -47 -50 -58 -66 -72 -75 -76 -76 -77 -79 -79 -75 -69 -66 -66 -68 -71 -73 -70 -66 -63 -64 -59 -50 -41 -37 -33 -32 -35 -43 -45 -42 -40 -45 -53 -59 -62 -62 -62 -66 -69 -71 -72 -71 -66 -59 -51 -45 -45 -49 -54 -58 -58 -59 -61 -63 -65 -64 -62 -57 -49 -36 -30 -33 -44 -56 -58 -57 -54 -51 -44 -40 -42 -49 -56 -59 -60 -61 -60 -60 -62 -66 -69 -68 -58 -49 -48 -57 -69 -76 -80 -80 -78 -76 -73 -71 -69 -68 -65 -62 -61 -63 -63 -64 -65 -68 -71 -75 -78 -79 -78 -75 -72 -68 -65 -67 -69 -66 -54 -44 -41 -44 -49 -53 -56 -56 -53 -47 -44 -49 -60 -72 -81 -86 -88 -86 -80 -75 -72 -72 -76 -76 -70 -65 -64 -71 -82 -87 -86 -83 -79 -78 -78 -79 -83 -85 -88 -92 -99 -98 -98 -97 -98 -98 -97 -97 -98 -99 -100 -101 -103 -104 -105 -102 -99 -95 -92 -90 -89 -89 -90 -90 -90 -90 -90 -88 -87 -86 -85 -84 -84 -84 -84 -85 -84 -82 -81 -82 -81 -80 -80 -81 -84 -89 -91 -92 -92 -94 -96 -97 -98 -99 -98 -97 -95 -94 -93 -93 -94 -96 -99 -101 -100 -98 -95 -91 -87 -84 -82 -82 -80 -78 -79 -84 -88 -89 -88 -88 -87 -88 -88 -88 -86 -86 -84 -83 -82 -82 -81 -80 -79 -76 -74 -73 -73 -72 -72 -71 -70 -70 -70 -70 -69 -69 -69 -71 -72 -73 -73 -72 -71 -70 -69 -68 -68 -68 -70 -71 -73 -75 -77 -78 -79 -80 -81 -81 -80 -79 -77 -75 -73 -72 -72 -73 -74 -75 -76 -76 -76 -75 -75 -74 -73 -72 -71 -71 -71 -70 -70 -70 -68 -66 -64 -62 -61 -61 -62 -63 -64 -63 -61 -59 -59 -59 -60 -61 -61 -60 -60 -59 -59 -59 -59 -58 -58 -57 -56 -56 -55 -55 -56 -55 -55 -55 -56 -56 -57 -56 -55 -53 -51 -49 -47 -47 -47 -47 -47 -46 -44 -43 -42 -41 -42 -43 -43 -43 -43 -42 -41 -40 -43 -45 -47 -49 -50 -50 -50 -50 -50 -53 -57 -61 -64 -65 -66 -67 -68 -68 -68 -27 -24 -24 -24 -27 -33 -41 -48 -55 -61 -69 -77 -83 -85 -87 -89 -88 -83 -72 -65 -60 -58 -53 -47 -47 -52 -59 -63 -67 -69 -71 -73 -75 -75 -73 -67 -63 -63 -66 -72 -73 -70 -66 -64 -69 -69 -66 -64 -64 -56 -48 -46 -52 -52 -44 -39 -40 -51 -61 -69 -72 -74 -73 -71 -69 -67 -66 -60 -54 -49 -47 -49 -51 -53 -55 -57 -60 -62 -63 -63 -62 -60 -54 -45 -33 -31 -36 -46 -55 -54 -52 -49 -46 -42 -42 -47 -55 -60 -60 -59 -58 -56 -57 -60 -63 -65 -59 -48 -44 -50 -66 -75 -79 -80 -78 -75 -73 -72 -70 -69 -68 -67 -66 -65 -65 -64 -64 -65 -68 -72 -75 -77 -76 -74 -70 -66 -62 -65 -70 -71 -65 -52 -45 -45 -47 -48 -49 -51 -53 -52 -49 -47 -53 -64 -77 -83 -85 -84 -80 -74 -67 -64 -66 -72 -72 -67 -64 -67 -79 -85 -87 -87 -87 -84 -82 -81 -82 -83 -84 -87 -93 -99 -100 -100 -101 -102 -102 -102 -101 -101 -99 -99 -99 -101 -104 -104 -102 -100 -98 -96 -94 -92 -91 -91 -92 -92 -91 -91 -89 -87 -85 -83 -80 -78 -76 -76 -78 -79 -80 -81 -82 -81 -80 -80 -82 -86 -91 -94 -94 -94 -94 -95 -95 -97 -98 -97 -96 -94 -92 -91 -93 -95 -98 -99 -99 -97 -95 -93 -88 -84 -82 -82 -81 -80 -80 -83 -88 -90 -90 -89 -88 -87 -87 -88 -88 -86 -85 -84 -84 -83 -82 -82 -81 -79 -77 -75 -73 -73 -72 -71 -70 -69 -68 -68 -67 -67 -66 -67 -69 -70 -71 -71 -71 -71 -70 -68 -68 -69 -70 -72 -74 -75 -76 -77 -78 -79 -79 -80 -80 -80 -79 -77 -76 -74 -73 -73 -74 -76 -77 -78 -79 -79 -79 -79 -78 -76 -74 -73 -72 -71 -71 -71 -70 -68 -66 -65 -64 -63 -63 -64 -65 -65 -63 -61 -60 -60 -61 -62 -63 -62 -61 -61 -60 -61 -61 -61 -60 -59 -59 -58 -57 -56 -55 -55 -55 -55 -56 -57 -57 -57 -57 -56 -54 -53 -51 -49 -49 -48 -48 -47 -46 -44 -42 -41 -42 -42 -41 -41 -41 -41 -39 -37 -37 -42 -44 -46 -48 -50 -50 -49 -48 -49 -52 -56 -60 -63 -65 -66 -67 -68 -69 -67 -26 -23 -22 -22 -24 -30 -39 -47 -54 -61 -70 -79 -85 -90 -93 -94 -92 -89 -82 -73 -66 -62 -58 -50 -47 -50 -57 -59 -61 -62 -65 -69 -70 -69 -67 -61 -57 -58 -64 -71 -71 -68 -64 -63 -69 -73 -74 -73 -74 -71 -70 -69 -68 -61 -49 -40 -35 -39 -51 -63 -72 -76 -72 -68 -66 -67 -64 -57 -51 -48 -49 -51 -53 -56 -59 -62 -63 -63 -62 -62 -60 -57 -50 -39 -28 -29 -36 -46 -53 -51 -46 -42 -41 -40 -42 -47 -52 -54 -53 -52 -52 -53 -57 -60 -63 -63 -55 -46 -47 -57 -70 -78 -80 -79 -74 -72 -72 -72 -71 -69 -69 -68 -67 -67 -66 -66 -67 -68 -71 -73 -75 -75 -74 -70 -64 -59 -59 -67 -72 -71 -64 -54 -52 -52 -52 -51 -50 -50 -51 -51 -49 -49 -56 -67 -78 -81 -79 -76 -72 -67 -62 -61 -64 -71 -74 -74 -74 -79 -85 -85 -85 -85 -85 -82 -80 -79 -81 -82 -84 -88 -93 -97 -100 -100 -100 -99 -101 -102 -101 -99 -100 -100 -99 -99 -101 -102 -101 -100 -99 -99 -97 -95 -92 -91 -90 -89 -88 -86 -85 -83 -80 -76 -74 -71 -69 -69 -74 -77 -79 -80 -82 -81 -81 -83 -86 -90 -95 -97 -99 -99 -97 -95 -94 -94 -95 -95 -93 -92 -90 -90 -93 -96 -100 -100 -98 -95 -92 -88 -84 -81 -81 -82 -83 -83 -84 -86 -89 -90 -90 -89 -88 -87 -87 -87 -87 -85 -84 -84 -84 -84 -83 -82 -80 -79 -77 -75 -74 -73 -72 -70 -69 -68 -67 -67 -66 -66 -66 -67 -68 -69 -70 -71 -72 -71 -70 -69 -69 -70 -72 -73 -75 -76 -77 -78 -78 -79 -79 -79 -79 -79 -79 -78 -78 -77 -76 -76 -77 -78 -80 -81 -82 -83 -83 -83 -82 -80 -77 -75 -74 -73 -72 -71 -69 -68 -66 -66 -65 -65 -65 -66 -66 -65 -63 -61 -61 -62 -63 -64 -65 -64 -63 -62 -61 -62 -62 -62 -62 -60 -60 -59 -59 -57 -56 -55 -54 -54 -56 -57 -57 -58 -57 -56 -55 -53 -52 -51 -50 -50 -49 -48 -46 -44 -43 -42 -43 -42 -41 -40 -39 -38 -36 -35 -36 -41 -44 -46 -48 -51 -51 -50 -48 -47 -50 -55 -59 -62 -64 -66 -67 -68 -68 -67 -26 -22 -21 -21 -24 -30 -38 -47 -55 -60 -69 -77 -83 -88 -95 -98 -97 -95 -89 -79 -70 -65 -62 -53 -48 -50 -58 -61 -60 -59 -59 -63 -64 -63 -60 -56 -54 -57 -63 -69 -68 -65 -60 -56 -62 -70 -75 -76 -76 -75 -77 -79 -80 -73 -63 -53 -46 -41 -43 -50 -58 -63 -63 -62 -61 -60 -56 -52 -50 -50 -52 -55 -58 -60 -62 -64 -63 -61 -59 -58 -54 -50 -45 -37 -29 -31 -38 -47 -49 -44 -40 -37 -38 -39 -42 -46 -48 -49 -49 -51 -54 -58 -61 -64 -67 -68 -59 -51 -51 -60 -72 -77 -75 -72 -69 -71 -72 -72 -71 -69 -67 -67 -67 -66 -65 -66 -66 -68 -70 -71 -72 -73 -71 -64 -57 -55 -60 -68 -69 -65 -59 -56 -56 -56 -56 -55 -53 -52 -52 -50 -48 -50 -57 -65 -72 -73 -71 -67 -63 -61 -61 -63 -68 -74 -78 -81 -84 -86 -85 -81 -78 -78 -79 -78 -79 -81 -84 -85 -86 -87 -92 -97 -99 -98 -98 -98 -100 -101 -101 -101 -102 -102 -101 -100 -100 -101 -101 -100 -100 -100 -98 -95 -91 -89 -86 -82 -79 -77 -77 -76 -73 -68 -67 -66 -65 -66 -73 -77 -78 -79 -80 -81 -82 -86 -91 -95 -98 -100 -102 -102 -101 -99 -97 -95 -94 -92 -90 -89 -88 -89 -92 -96 -100 -100 -98 -94 -90 -86 -81 -80 -81 -83 -85 -86 -87 -88 -90 -90 -90 -89 -87 -86 -86 -86 -86 -85 -83 -83 -84 -84 -83 -81 -80 -78 -77 -75 -74 -73 -72 -71 -69 -68 -67 -67 -67 -67 -67 -68 -69 -70 -71 -72 -73 -72 -71 -70 -71 -72 -73 -75 -76 -77 -78 -78 -79 -79 -80 -81 -81 -80 -80 -80 -80 -80 -80 -80 -80 -82 -84 -85 -87 -87 -87 -86 -85 -83 -81 -78 -76 -75 -73 -71 -68 -66 -66 -66 -66 -66 -67 -67 -66 -65 -63 -63 -62 -64 -65 -67 -67 -66 -65 -63 -63 -63 -64 -64 -63 -61 -60 -60 -60 -59 -57 -55 -54 -53 -54 -56 -57 -58 -57 -56 -55 -53 -52 -52 -51 -51 -51 -49 -47 -45 -44 -44 -44 -43 -41 -39 -37 -36 -35 -35 -37 -41 -45 -47 -49 -51 -51 -49 -47 -47 -50 -54 -59 -61 -64 -65 -67 -68 -67 -66 -25 -21 -21 -22 -25 -30 -39 -49 -57 -61 -68 -74 -79 -80 -89 -97 -100 -98 -93 -84 -74 -68 -65 -55 -49 -49 -57 -61 -60 -57 -53 -55 -55 -54 -53 -54 -57 -58 -60 -65 -69 -69 -66 -62 -59 -65 -71 -75 -75 -74 -74 -75 -78 -78 -73 -68 -63 -58 -52 -49 -49 -52 -56 -58 -57 -55 -51 -50 -50 -52 -54 -57 -61 -64 -66 -65 -63 -60 -56 -51 -44 -41 -37 -33 -29 -32 -37 -42 -42 -39 -36 -36 -38 -43 -48 -50 -51 -51 -53 -56 -60 -64 -67 -69 -72 -73 -69 -62 -60 -62 -69 -70 -68 -67 -69 -73 -74 -73 -71 -67 -65 -65 -65 -66 -65 -64 -65 -67 -68 -69 -69 -68 -65 -59 -56 -58 -64 -67 -64 -59 -55 -54 -56 -56 -56 -56 -53 -53 -52 -51 -48 -49 -53 -58 -62 -65 -63 -60 -58 -59 -64 -70 -76 -80 -82 -85 -86 -84 -79 -73 -71 -72 -73 -75 -79 -84 -89 -87 -85 -87 -91 -96 -97 -98 -99 -98 -99 -98 -99 -100 -102 -102 -103 -103 -103 -101 -100 -98 -97 -96 -93 -89 -85 -82 -79 -75 -71 -68 -69 -68 -65 -63 -65 -63 -63 -66 -74 -77 -78 -77 -78 -79 -83 -89 -94 -98 -100 -102 -103 -104 -104 -103 -102 -100 -98 -96 -93 -91 -88 -87 -89 -93 -98 -98 -96 -93 -91 -85 -81 -80 -81 -83 -85 -86 -87 -89 -90 -90 -90 -89 -87 -86 -86 -86 -86 -85 -83 -83 -83 -83 -82 -81 -79 -78 -76 -75 -73 -72 -72 -71 -70 -68 -67 -68 -68 -69 -69 -70 -70 -71 -72 -72 -73 -73 -73 -72 -73 -74 -75 -75 -76 -77 -78 -79 -79 -80 -81 -82 -82 -82 -82 -82 -83 -84 -84 -85 -85 -86 -88 -90 -91 -91 -90 -89 -87 -85 -82 -80 -78 -75 -72 -69 -66 -65 -65 -65 -66 -67 -67 -66 -66 -65 -65 -65 -65 -67 -68 -69 -70 -68 -67 -66 -65 -65 -66 -66 -64 -63 -62 -61 -61 -61 -60 -58 -56 -53 -53 -55 -56 -58 -57 -57 -55 -54 -53 -53 -52 -52 -52 -51 -49 -47 -45 -45 -45 -43 -41 -39 -37 -37 -37 -38 -39 -42 -45 -47 -49 -50 -49 -48 -47 -48 -50 -54 -59 -61 -63 -65 -66 -67 -66 -66 -24 -21 -21 -24 -27 -31 -38 -48 -60 -64 -68 -73 -76 -72 -80 -89 -96 -99 -97 -89 -80 -72 -66 -56 -49 -48 -54 -60 -60 -56 -49 -46 -44 -43 -45 -48 -52 -54 -57 -63 -69 -71 -71 -69 -65 -68 -72 -75 -74 -76 -78 -79 -79 -79 -78 -77 -76 -73 -68 -62 -56 -51 -54 -59 -60 -57 -51 -50 -51 -54 -57 -60 -63 -66 -67 -65 -62 -58 -51 -41 -33 -31 -31 -31 -30 -32 -36 -38 -39 -38 -37 -39 -43 -50 -55 -58 -59 -59 -61 -63 -65 -68 -71 -73 -75 -76 -76 -72 -66 -61 -62 -63 -64 -67 -72 -75 -74 -71 -68 -65 -64 -64 -64 -65 -66 -66 -68 -69 -70 -69 -68 -65 -61 -56 -58 -62 -67 -67 -60 -53 -47 -50 -54 -57 -57 -57 -55 -54 -55 -56 -54 -49 -47 -47 -52 -59 -63 -63 -60 -61 -66 -73 -78 -81 -82 -82 -79 -75 -69 -68 -70 -73 -72 -73 -79 -86 -90 -86 -85 -88 -94 -96 -97 -99 -100 -98 -97 -97 -97 -99 -101 -103 -104 -104 -102 -99 -96 -94 -92 -91 -87 -81 -77 -74 -71 -67 -64 -62 -62 -60 -60 -63 -64 -61 -61 -65 -74 -77 -77 -75 -75 -78 -84 -90 -95 -98 -100 -102 -102 -103 -104 -105 -104 -102 -99 -96 -94 -93 -90 -89 -89 -91 -95 -95 -94 -93 -91 -87 -83 -82 -82 -83 -84 -85 -86 -89 -90 -90 -90 -89 -88 -87 -86 -86 -86 -84 -83 -83 -83 -83 -82 -81 -79 -77 -75 -74 -73 -72 -73 -72 -71 -69 -69 -69 -70 -71 -70 -71 -71 -72 -71 -72 -73 -73 -74 -74 -75 -76 -76 -76 -76 -77 -78 -79 -79 -81 -81 -82 -83 -84 -84 -84 -85 -86 -87 -88 -90 -91 -92 -93 -93 -93 -91 -90 -88 -85 -83 -80 -78 -74 -71 -68 -65 -64 -64 -65 -66 -66 -67 -66 -66 -67 -67 -68 -69 -70 -71 -71 -72 -71 -69 -68 -67 -67 -67 -67 -65 -64 -63 -63 -64 -63 -63 -62 -59 -57 -55 -55 -56 -58 -57 -57 -56 -55 -54 -54 -54 -54 -54 -52 -50 -49 -48 -47 -46 -44 -42 -40 -38 -39 -40 -42 -43 -43 -44 -46 -48 -48 -47 -46 -47 -48 -51 -55 -60 -62 -63 -65 -66 -67 -66 -65 -24 -22 -23 -25 -29 -32 -37 -46 -58 -68 -72 -75 -77 -73 -75 -81 -89 -94 -96 -93 -88 -83 -74 -63 -55 -52 -52 -58 -61 -59 -51 -44 -39 -36 -36 -38 -42 -46 -50 -56 -66 -71 -73 -74 -70 -73 -77 -78 -76 -80 -83 -85 -84 -83 -82 -82 -82 -80 -77 -74 -68 -59 -56 -60 -64 -63 -56 -53 -52 -54 -57 -61 -64 -66 -67 -65 -61 -54 -44 -31 -24 -25 -27 -30 -32 -35 -39 -41 -41 -42 -42 -43 -48 -57 -62 -65 -65 -65 -67 -68 -69 -71 -73 -75 -77 -78 -80 -75 -67 -58 -56 -61 -66 -71 -75 -74 -71 -68 -65 -64 -64 -64 -64 -65 -65 -67 -69 -70 -69 -68 -65 -61 -57 -56 -60 -64 -67 -65 -57 -48 -44 -49 -54 -57 -58 -57 -54 -54 -56 -57 -55 -50 -46 -47 -54 -63 -68 -70 -68 -67 -72 -76 -79 -80 -80 -76 -69 -60 -60 -70 -79 -81 -74 -73 -80 -88 -89 -86 -87 -91 -96 -98 -100 -101 -101 -98 -98 -98 -99 -102 -103 -103 -103 -101 -98 -94 -90 -88 -87 -85 -81 -76 -73 -70 -67 -64 -61 -60 -57 -55 -56 -62 -62 -60 -60 -64 -71 -73 -74 -74 -74 -79 -85 -90 -94 -97 -99 -100 -100 -101 -103 -104 -104 -103 -98 -93 -90 -92 -93 -91 -90 -89 -90 -89 -89 -88 -87 -85 -84 -84 -83 -83 -83 -84 -85 -88 -90 -90 -90 -90 -88 -87 -86 -86 -86 -84 -84 -83 -83 -84 -83 -82 -79 -76 -75 -73 -73 -74 -74 -73 -72 -71 -71 -72 -73 -73 -72 -72 -72 -72 -70 -70 -71 -73 -74 -75 -76 -76 -76 -76 -77 -78 -78 -79 -79 -80 -82 -83 -84 -85 -86 -86 -87 -87 -89 -91 -92 -93 -93 -94 -94 -94 -92 -90 -88 -85 -82 -80 -77 -73 -70 -67 -66 -65 -65 -65 -66 -66 -66 -66 -67 -68 -70 -71 -71 -72 -73 -73 -73 -72 -71 -69 -68 -68 -68 -68 -67 -66 -66 -67 -67 -67 -66 -65 -64 -62 -60 -58 -57 -57 -57 -57 -57 -56 -55 -54 -54 -54 -54 -53 -52 -51 -50 -49 -47 -45 -43 -41 -41 -41 -43 -45 -47 -46 -45 -45 -46 -46 -46 -45 -46 -48 -52 -56 -61 -62 -64 -64 -65 -66 -66 -65 -26 -24 -25 -27 -30 -33 -37 -44 -55 -68 -77 -83 -86 -86 -84 -85 -87 -90 -95 -95 -93 -91 -85 -76 -68 -61 -57 -60 -62 -60 -54 -46 -40 -35 -31 -29 -32 -36 -41 -47 -61 -70 -76 -78 -78 -80 -82 -83 -80 -82 -85 -88 -88 -85 -84 -84 -83 -80 -77 -77 -75 -68 -59 -59 -62 -65 -63 -60 -57 -55 -56 -60 -62 -64 -67 -65 -61 -51 -37 -22 -20 -23 -28 -31 -36 -42 -47 -50 -50 -50 -49 -49 -53 -61 -66 -68 -68 -68 -69 -70 -72 -73 -74 -76 -78 -80 -81 -75 -65 -55 -54 -62 -69 -74 -74 -71 -68 -66 -65 -65 -65 -65 -65 -65 -66 -68 -69 -69 -66 -65 -62 -58 -55 -56 -60 -63 -63 -60 -52 -45 -42 -48 -53 -56 -59 -60 -56 -54 -53 -53 -52 -50 -51 -56 -64 -68 -72 -73 -72 -72 -75 -76 -77 -79 -79 -75 -67 -60 -64 -75 -84 -86 -81 -79 -82 -88 -91 -90 -91 -94 -97 -101 -101 -101 -101 -101 -100 -101 -103 -104 -103 -101 -99 -95 -89 -85 -82 -80 -81 -78 -74 -70 -70 -70 -69 -67 -63 -59 -56 -56 -57 -58 -58 -58 -59 -63 -67 -68 -70 -72 -75 -81 -86 -90 -92 -95 -97 -98 -99 -100 -100 -100 -100 -101 -96 -92 -90 -91 -93 -92 -90 -87 -85 -85 -84 -84 -84 -86 -86 -85 -85 -84 -85 -85 -85 -87 -89 -91 -91 -90 -89 -87 -86 -86 -86 -85 -84 -84 -84 -84 -83 -81 -78 -75 -74 -74 -74 -76 -76 -75 -75 -74 -74 -74 -75 -75 -74 -73 -72 -71 -69 -69 -69 -71 -73 -74 -75 -76 -76 -77 -77 -78 -79 -79 -80 -81 -83 -84 -85 -87 -87 -88 -88 -89 -90 -91 -92 -92 -93 -93 -93 -92 -91 -89 -87 -85 -82 -79 -76 -72 -69 -68 -68 -68 -67 -67 -67 -67 -66 -66 -67 -69 -70 -71 -72 -73 -74 -74 -74 -72 -70 -69 -69 -69 -69 -69 -68 -68 -69 -70 -70 -68 -68 -68 -68 -67 -65 -62 -60 -58 -57 -57 -57 -56 -55 -54 -54 -54 -54 -54 -53 -53 -52 -50 -48 -46 -45 -44 -44 -44 -45 -47 -48 -48 -49 -48 -47 -46 -45 -44 -45 -48 -53 -58 -61 -63 -63 -64 -65 -65 -65 -64 -29 -27 -28 -30 -32 -35 -37 -42 -53 -69 -82 -91 -95 -96 -98 -96 -94 -91 -94 -95 -95 -94 -90 -85 -78 -70 -63 -63 -63 -60 -54 -48 -43 -38 -31 -25 -25 -28 -34 -41 -54 -66 -74 -78 -82 -85 -87 -86 -83 -83 -86 -87 -87 -82 -79 -79 -80 -78 -74 -74 -75 -71 -62 -57 -57 -61 -64 -65 -65 -63 -61 -60 -60 -61 -65 -66 -61 -48 -33 -19 -19 -25 -33 -39 -42 -47 -53 -59 -60 -60 -59 -58 -60 -65 -68 -70 -70 -68 -70 -72 -74 -75 -76 -77 -80 -82 -82 -76 -66 -55 -54 -62 -68 -70 -69 -68 -67 -67 -67 -66 -66 -65 -66 -67 -70 -71 -70 -66 -62 -61 -60 -57 -53 -55 -57 -58 -57 -53 -47 -42 -41 -47 -51 -55 -59 -62 -59 -56 -53 -51 -51 -52 -56 -63 -70 -73 -75 -77 -78 -78 -79 -80 -80 -81 -82 -79 -75 -69 -70 -77 -84 -89 -88 -88 -89 -91 -93 -93 -94 -96 -100 -101 -102 -101 -101 -100 -101 -102 -103 -102 -99 -96 -92 -86 -80 -76 -74 -74 -75 -73 -71 -70 -71 -74 -75 -74 -70 -66 -64 -63 -61 -59 -57 -59 -62 -66 -67 -68 -70 -74 -78 -82 -86 -90 -92 -94 -95 -96 -96 -97 -96 -96 -96 -96 -94 -91 -90 -90 -92 -92 -90 -86 -83 -81 -81 -81 -81 -82 -82 -82 -84 -85 -86 -86 -86 -87 -89 -91 -91 -91 -90 -89 -87 -86 -86 -85 -85 -85 -85 -85 -83 -80 -77 -74 -73 -74 -75 -77 -77 -77 -76 -76 -77 -77 -77 -77 -76 -75 -73 -72 -69 -68 -68 -69 -71 -73 -74 -75 -76 -77 -78 -80 -81 -83 -84 -85 -86 -87 -87 -88 -89 -89 -89 -89 -89 -89 -89 -90 -90 -90 -90 -90 -89 -88 -87 -84 -81 -79 -76 -73 -71 -71 -70 -70 -69 -69 -68 -67 -66 -66 -66 -67 -68 -69 -70 -72 -73 -73 -72 -71 -69 -68 -69 -69 -70 -69 -68 -69 -70 -72 -71 -69 -67 -68 -69 -69 -68 -66 -63 -60 -58 -57 -56 -55 -55 -54 -53 -54 -54 -54 -54 -53 -52 -51 -50 -48 -46 -46 -46 -46 -46 -48 -48 -49 -49 -48 -46 -45 -43 -43 -45 -49 -54 -59 -62 -63 -63 -64 -64 -64 -63 -63 -30 -30 -31 -33 -35 -36 -36 -40 -50 -65 -79 -90 -96 -98 -104 -105 -102 -97 -94 -95 -96 -95 -94 -91 -84 -76 -69 -67 -64 -58 -52 -48 -47 -43 -36 -28 -25 -27 -31 -38 -46 -56 -63 -68 -75 -83 -87 -88 -85 -85 -86 -86 -84 -78 -70 -66 -68 -73 -74 -74 -73 -72 -66 -59 -55 -55 -59 -62 -66 -69 -69 -67 -65 -64 -65 -67 -59 -45 -29 -18 -22 -32 -44 -53 -56 -57 -58 -61 -65 -66 -66 -66 -67 -70 -72 -73 -73 -71 -72 -74 -76 -77 -78 -79 -80 -81 -81 -77 -69 -58 -54 -60 -65 -67 -68 -69 -70 -69 -68 -66 -65 -64 -66 -69 -71 -72 -69 -64 -59 -59 -58 -55 -51 -53 -55 -55 -52 -47 -42 -39 -40 -45 -50 -55 -58 -61 -60 -58 -56 -54 -53 -54 -58 -64 -71 -74 -76 -79 -81 -82 -82 -83 -85 -86 -86 -84 -82 -80 -80 -83 -87 -91 -91 -92 -93 -94 -94 -94 -96 -97 -98 -98 -98 -98 -98 -98 -98 -99 -99 -96 -93 -90 -87 -80 -74 -72 -72 -73 -74 -74 -74 -75 -77 -80 -82 -81 -79 -77 -76 -74 -70 -65 -63 -64 -67 -70 -69 -70 -74 -79 -82 -85 -87 -90 -92 -94 -95 -96 -95 -95 -95 -95 -94 -92 -90 -88 -88 -90 -92 -93 -91 -87 -82 -80 -80 -80 -81 -80 -80 -81 -84 -86 -87 -87 -87 -87 -89 -91 -92 -92 -91 -89 -88 -86 -86 -85 -85 -86 -86 -85 -83 -80 -77 -74 -74 -75 -77 -77 -76 -76 -76 -77 -78 -78 -78 -78 -77 -76 -74 -73 -70 -69 -69 -69 -70 -72 -74 -75 -76 -78 -79 -81 -83 -86 -87 -88 -88 -89 -89 -90 -90 -90 -89 -88 -87 -86 -86 -86 -87 -87 -87 -88 -88 -87 -86 -84 -81 -78 -75 -73 -73 -73 -73 -73 -72 -71 -70 -68 -66 -66 -66 -67 -67 -68 -69 -70 -71 -71 -70 -69 -68 -68 -68 -69 -69 -69 -68 -69 -70 -72 -71 -69 -68 -69 -69 -69 -68 -67 -66 -62 -60 -57 -56 -54 -54 -53 -53 -53 -53 -53 -53 -53 -53 -52 -50 -48 -47 -47 -46 -46 -47 -48 -49 -49 -48 -47 -45 -44 -43 -43 -45 -49 -55 -60 -62 -63 -63 -63 -63 -62 -62 -62 -32 -33 -34 -35 -35 -36 -35 -38 -46 -59 -73 -83 -89 -91 -101 -106 -106 -102 -97 -96 -96 -95 -95 -94 -88 -80 -74 -71 -66 -59 -51 -48 -49 -48 -43 -35 -28 -28 -33 -39 -42 -45 -52 -61 -69 -75 -81 -84 -84 -83 -83 -82 -80 -78 -72 -65 -62 -66 -73 -74 -73 -71 -69 -64 -59 -58 -62 -63 -64 -66 -67 -67 -66 -65 -66 -66 -56 -40 -25 -18 -26 -37 -49 -58 -63 -65 -66 -68 -69 -69 -68 -67 -68 -71 -73 -74 -74 -73 -73 -75 -77 -78 -79 -79 -79 -80 -80 -78 -72 -64 -59 -61 -66 -70 -71 -70 -69 -67 -65 -63 -62 -64 -68 -71 -72 -71 -68 -63 -61 -60 -57 -52 -48 -49 -52 -54 -53 -48 -43 -39 -38 -44 -50 -56 -59 -59 -58 -57 -57 -56 -55 -55 -58 -63 -71 -73 -75 -76 -79 -82 -84 -85 -87 -88 -88 -87 -86 -87 -87 -89 -91 -92 -92 -93 -93 -93 -92 -92 -93 -93 -92 -93 -94 -94 -94 -93 -92 -92 -92 -90 -90 -89 -84 -75 -74 -76 -78 -78 -79 -80 -81 -82 -84 -86 -87 -87 -86 -86 -85 -82 -78 -73 -70 -70 -72 -73 -72 -73 -76 -81 -84 -85 -87 -90 -92 -93 -94 -96 -96 -97 -97 -96 -94 -91 -89 -90 -91 -94 -95 -95 -94 -90 -84 -81 -81 -83 -84 -82 -81 -81 -84 -86 -86 -86 -86 -87 -90 -92 -93 -92 -91 -89 -88 -87 -86 -86 -86 -87 -87 -85 -84 -81 -78 -76 -77 -77 -78 -76 -75 -75 -76 -77 -78 -78 -78 -78 -77 -77 -76 -75 -74 -72 -71 -71 -72 -73 -74 -76 -77 -79 -80 -82 -85 -87 -88 -89 -89 -90 -90 -90 -90 -90 -89 -88 -85 -83 -82 -83 -83 -84 -85 -86 -87 -87 -86 -83 -80 -77 -75 -75 -75 -75 -74 -74 -74 -73 -71 -68 -66 -67 -67 -68 -68 -68 -69 -69 -69 -69 -68 -67 -67 -67 -67 -68 -68 -68 -68 -69 -70 -71 -70 -69 -69 -69 -68 -68 -67 -66 -64 -63 -61 -59 -56 -54 -53 -53 -52 -51 -51 -51 -52 -52 -52 -52 -50 -48 -47 -46 -46 -45 -46 -48 -49 -49 -48 -46 -45 -44 -43 -43 -46 -51 -56 -60 -62 -63 -63 -63 -62 -62 -61 -61