CAPE 11 11 11 10 9 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 11 17 21 24 26 27 28 31 34 37 40 42 45 49 56 67 82 94 97 94 91 90 90 89 87 86 84 85 88 93 101 110 118 122 121 114 106 102 106 116 123 125 123 119 116 118 117 114 111 110 109 109 103 96 89 85 85 89 94 98 102 106 112 120 127 129 129 128 127 127 129 132 133 132 128 124 125 125 124 119 108 97 89 84 82 84 88 94 98 100 103 105 108 109 110 110 110 109 107 106 106 107 108 109 109 107 105 105 106 109 111 112 110 108 106 7 8 8 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 18 22 26 28 29 30 31 32 34 36 40 45 53 65 79 90 96 98 97 96 94 93 92 91 90 90 92 95 98 101 106 111 112 110 108 107 111 114 117 122 123 120 119 115 113 112 111 111 110 106 100 94 88 83 82 85 89 93 98 104 113 120 125 128 130 130 130 128 127 126 128 130 131 134 135 134 130 122 109 97 88 82 81 83 88 93 96 100 104 108 109 110 110 111 111 109 107 105 105 106 108 109 108 106 106 106 108 109 109 108 108 107 4 4 4 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 10 18 24 28 29 29 27 26 27 30 33 38 43 50 61 72 82 91 97 98 97 97 97 97 96 96 97 96 94 92 94 101 106 110 112 112 114 117 121 125 126 123 120 116 113 111 110 110 109 107 103 98 94 86 80 78 81 84 89 95 103 112 119 126 132 134 133 128 123 121 123 127 132 137 139 139 136 133 122 110 99 90 84 83 85 87 89 92 97 102 104 106 108 110 111 109 106 104 103 102 103 105 106 106 106 106 107 108 107 106 107 108 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 13 20 25 29 29 27 24 24 26 28 31 34 38 45 54 64 74 85 92 95 96 97 98 99 102 103 102 99 95 94 98 103 107 109 109 109 106 106 111 120 122 122 119 116 113 111 110 109 108 105 102 99 93 86 80 76 76 79 86 94 104 112 120 128 133 135 134 131 128 127 128 130 133 135 136 137 135 130 122 113 103 94 89 86 84 84 85 89 92 96 99 102 106 108 107 105 102 100 99 99 101 102 103 104 104 106 106 106 106 107 109 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 9 15 21 27 30 29 27 26 26 25 23 22 24 29 36 45 55 67 77 86 91 95 98 100 104 107 108 107 105 103 103 106 107 108 106 106 104 104 106 111 118 118 118 117 116 113 112 110 110 108 106 104 100 94 87 79 74 74 78 86 95 103 111 118 125 132 138 140 138 133 130 131 132 132 131 130 131 130 129 125 118 109 99 92 86 84 84 85 86 88 91 95 100 103 103 102 101 99 98 97 98 98 99 100 101 104 105 106 107 108 110 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 18 23 29 33 33 32 29 23 14 9 10 13 18 26 34 45 56 68 78 87 93 98 103 106 108 110 111 111 111 112 112 111 108 108 106 105 105 107 111 113 115 116 115 115 114 112 110 109 108 107 105 100 93 86 80 76 76 79 85 93 100 106 114 125 137 144 146 142 137 133 130 128 127 127 127 128 130 131 129 122 112 102 94 90 88 88 87 86 86 88 93 96 98 98 98 98 97 97 96 96 97 98 99 102 104 107 109 110 112 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 14 20 24 32 37 38 33 23 11 5 3 3 5 9 15 23 33 45 58 69 78 85 90 95 100 107 111 112 115 117 117 115 113 112 110 107 106 105 107 110 115 118 118 115 114 113 111 110 108 108 107 103 98 93 88 84 81 79 80 84 91 97 104 116 130 140 147 147 145 141 133 126 124 127 128 130 132 133 134 130 123 114 106 100 98 97 94 91 89 88 89 91 93 94 96 97 98 98 98 97 97 98 99 101 104 107 110 112 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 19 24 31 34 32 25 18 13 9 6 4 3 4 8 15 25 36 48 58 65 72 77 84 90 97 102 109 113 114 116 116 114 112 110 108 105 106 109 114 118 119 116 115 114 112 110 108 106 106 103 100 98 95 91 87 83 82 82 86 93 100 108 116 126 137 145 149 148 141 129 122 124 128 131 133 134 134 134 131 125 119 114 112 110 106 102 98 95 93 92 91 91 92 94 97 99 100 100 100 100 101 103 105 108 111 113 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 9 12 14 19 23 26 27 29 28 25 20 14 10 7 7 10 14 21 31 39 46 53 60 68 74 80 88 95 100 104 108 112 114 115 115 112 109 107 109 112 115 117 119 121 120 117 113 110 106 103 102 101 100 99 95 92 90 88 88 88 91 96 100 104 109 120 133 143 148 146 138 126 124 125 128 131 134 136 138 137 135 131 127 124 122 119 115 110 107 103 99 95 94 93 94 96 99 101 103 105 106 106 106 107 109 112 113 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 3 2 2 1 1 2 4 5 6 6 5 4 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 5 6 8 12 18 26 30 30 29 28 29 27 23 21 20 19 20 25 30 35 41 47 54 61 68 75 81 87 92 98 105 111 116 119 117 114 111 110 111 112 113 118 124 126 126 123 117 112 104 101 101 101 100 96 94 94 95 97 94 89 89 91 94 100 105 113 125 136 143 142 133 126 124 124 126 130 135 138 140 140 139 136 133 131 128 125 123 120 115 110 105 101 99 99 99 101 103 106 110 111 110 109 109 110 111 112 112 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 5 3 2 1 2 5 7 8 8 8 7 5 4 4 4 4 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 4 7 12 20 23 22 21 23 28 33 35 37 36 33 31 32 34 36 39 42 46 53 60 66 72 77 81 86 93 102 110 115 118 118 116 114 113 112 111 114 119 123 126 127 126 120 113 107 102 101 99 96 93 93 97 102 98 89 83 83 86 91 93 96 102 112 123 132 132 130 127 125 124 127 132 137 140 142 142 138 137 135 133 132 131 129 125 120 115 110 107 106 106 107 108 110 113 114 113 112 110 110 111 112 112 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 4 10 15 13 8 4 1 0 1 4 6 7 6 5 4 3 3 2 3 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 7 10 13 13 11 12 14 18 25 30 37 42 45 45 47 47 47 46 46 46 50 55 61 67 72 77 80 84 90 98 107 113 116 116 115 114 113 111 109 110 112 117 121 125 125 121 115 109 104 99 94 91 90 92 98 96 88 82 80 82 84 84 84 86 90 96 107 118 126 129 129 128 128 130 134 138 142 143 141 139 138 137 135 134 132 130 127 123 118 113 111 111 113 115 116 116 116 116 114 112 110 110 111 111 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 5 5 6 6 6 2 0 0 2 8 16 17 8 2 0 0 1 4 6 6 4 2 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 8 8 6 5 5 7 9 13 18 26 34 41 45 52 55 56 56 54 52 50 52 55 61 67 74 79 82 84 88 95 103 109 112 112 112 112 111 107 104 104 107 111 117 121 122 120 115 112 106 98 91 86 86 89 90 87 83 81 83 83 81 78 77 78 80 86 97 111 123 130 131 130 130 132 137 142 145 144 141 139 137 136 134 133 132 130 127 124 118 114 113 114 118 119 118 117 116 115 113 111 110 109 109 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 5 4 3 2 1 0 0 0 2 7 10 5 1 0 0 1 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 0 0 0 0 0 0 1 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 4 4 3 3 4 4 6 10 14 21 28 34 42 49 53 55 55 56 52 51 52 54 60 67 75 80 84 86 89 94 99 102 102 101 103 106 107 106 104 104 106 111 116 119 120 117 115 113 107 98 89 85 83 82 82 82 82 84 84 82 79 76 73 74 76 82 93 106 119 125 125 126 128 134 142 148 149 147 143 138 136 135 134 133 131 130 128 123 119 118 118 116 114 113 114 114 115 114 112 110 108 106 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 3 2 1 0 0 0 0 0 0 1 2 2 1 0 0 2 7 11 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 1 2 2 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 3 5 6 8 10 18 22 30 37 43 48 52 54 51 50 50 50 52 59 67 74 80 85 88 91 92 92 91 89 91 98 104 108 110 110 109 111 113 116 118 118 117 115 112 107 98 92 86 82 79 79 80 82 84 84 82 79 75 74 74 76 82 90 98 106 113 117 119 124 133 141 149 152 148 141 136 134 132 133 135 136 133 130 129 129 127 117 108 107 108 109 110 112 111 109 106 104 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 4 9 12 9 2 0 0 0 0 0 0 0 0 1 2 1 1 1 1 1 1 2 2 2 1 1 1 0 0 0 0 0 0 0 0 0 1 2 1 0 0 2 5 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 1 2 4 6 6 6 13 16 20 26 32 37 42 47 49 50 51 51 50 53 58 64 72 79 86 90 90 89 87 83 84 90 98 104 108 111 114 114 114 116 117 118 118 117 115 113 109 102 94 88 83 78 76 79 82 84 84 83 81 78 77 78 80 82 85 90 95 99 102 106 111 118 133 146 149 147 142 138 134 134 137 142 141 140 139 139 138 126 115 111 108 106 106 106 107 107 106 104 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 10 12 9 3 0 0 0 1 2 2 1 3 5 8 9 8 7 5 4 4 5 5 5 5 4 4 3 2 2 1 1 0 0 0 0 0 1 1 1 1 2 4 6 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 12 12 14 18 22 25 28 33 40 46 50 52 52 53 54 57 62 70 79 86 89 90 88 83 82 87 93 98 102 105 110 113 114 114 116 117 119 118 116 116 115 110 104 98 92 86 81 80 82 85 87 87 86 85 84 84 84 83 82 82 84 87 88 86 84 93 106 121 136 145 148 148 144 137 135 138 140 141 142 142 142 137 132 126 121 117 115 109 105 104 104 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 12 14 11 4 0 0 1 3 6 7 4 4 5 7 8 9 7 6 5 5 5 6 6 6 6 6 6 5 5 5 4 2 0 0 0 0 0 1 1 2 2 4 5 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 7 8 8 9 11 14 15 16 19 26 34 41 46 50 53 55 56 58 62 71 80 86 89 90 86 83 84 89 94 98 102 108 112 113 112 112 114 116 116 117 118 117 114 110 107 103 98 92 89 88 88 89 90 90 90 90 90 90 89 87 84 83 83 82 76 68 65 70 84 106 124 141 152 154 146 138 136 134 135 135 132 135 138 138 139 140 138 132 124 116 109 105 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 8 13 15 14 8 0 0 1 4 9 12 12 8 7 6 7 6 5 2 2 2 4 4 4 2 2 2 3 4 4 5 5 5 3 0 0 0 0 0 1 2 3 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 2 3 4 6 8 10 10 11 14 20 26 30 36 43 49 53 57 61 68 76 84 88 90 89 83 81 84 89 94 100 107 112 114 113 109 108 108 111 115 117 117 115 114 113 112 108 103 99 97 95 94 94 93 93 93 94 94 95 94 92 90 88 85 78 69 63 62 66 76 93 115 136 150 152 147 140 134 129 126 130 138 140 141 145 148 149 144 142 136 126 116 109 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 7 12 13 14 13 8 0 0 2 9 14 16 15 12 9 8 6 4 1 0 0 1 2 2 1 0 0 0 0 1 1 2 3 3 1 0 0 0 0 0 1 2 4 6 6 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 7 9 9 9 10 12 14 19 25 33 41 49 57 66 76 84 89 91 89 84 80 80 84 91 98 106 113 116 114 109 106 103 104 107 112 114 115 115 116 116 114 110 107 104 102 101 100 97 96 95 96 97 98 99 100 99 97 93 86 78 71 66 63 66 72 82 101 124 141 147 145 139 130 125 128 134 136 139 143 146 148 146 147 148 145 134 123 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 11 13 16 14 8 0 0 5 11 15 16 15 12 10 8 6 3 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 2 3 4 5 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 8 9 8 7 6 6 8 11 16 24 33 44 54 65 76 84 88 90 88 85 81 82 90 95 103 111 116 114 112 108 104 101 101 102 107 111 113 115 117 114 111 109 107 106 105 103 100 98 98 99 99 100 102 104 105 104 101 97 92 85 76 68 65 66 72 81 94 110 127 138 139 133 127 125 125 127 132 138 144 147 146 146 148 150 147 140 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 7 7 11 17 20 16 8 0 0 6 12 15 14 12 9 8 8 6 3 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 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 3 5 7 8 8 7 6 6 6 8 11 17 25 34 45 56 67 76 82 86 88 89 86 90 94 99 106 112 114 115 113 109 105 102 101 102 104 107 111 112 112 110 108 107 107 107 105 102 100 99 100 100 100 101 102 104 106 107 108 107 101 90 79 74 73 78 86 91 93 104 118 126 126 124 119 116 117 122 129 137 145 150 148 144 144 148 149 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 6 4 7 14 20 20 12 3 0 1 8 12 13 10 6 6 7 7 5 1 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 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 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 3 6 7 8 8 7 7 6 6 8 11 16 24 34 47 60 70 78 84 89 91 92 91 94 99 104 109 112 113 113 112 110 107 104 102 102 104 108 109 109 108 107 107 108 106 103 100 98 98 98 97 97 97 98 102 109 117 120 116 105 94 89 89 92 98 104 106 106 106 107 109 112 110 109 113 119 125 130 138 144 147 147 144 147 152 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 4 2 2 8 17 20 15 8 1 0 4 8 9 7 3 3 5 5 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 1 2 4 5 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 2 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 1 1 2 4 5 6 6 6 6 5 5 7 11 18 32 47 60 69 76 81 86 89 91 92 93 95 100 104 109 113 117 117 115 110 105 102 102 104 106 107 107 107 106 107 107 104 101 98 96 96 95 93 92 93 98 108 120 127 126 118 109 105 105 107 110 112 115 114 110 105 100 99 100 105 114 124 129 130 133 135 137 143 145 150 152 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 3 4 4 4 3 1 1 4 12 18 16 10 3 0 1 5 5 3 2 1 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 3 6 7 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 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 1 1 1 2 3 3 3 3 4 6 11 22 37 51 61 67 73 79 83 85 86 87 91 94 97 102 108 115 117 118 115 111 108 107 107 107 107 105 102 103 105 105 105 103 100 96 94 93 91 91 90 95 106 116 124 126 123 118 115 113 113 115 115 116 116 114 109 99 94 94 102 114 126 133 133 132 130 127 130 138 145 147 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 6 8 7 4 2 1 1 4 10 17 18 13 6 1 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 0 0 0 0 0 0 1 6 9 8 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 7 10 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 1 2 3 5 8 15 27 39 49 57 63 70 76 80 82 84 87 91 94 96 100 105 110 112 112 112 111 112 111 110 107 104 102 104 105 105 105 105 102 97 94 91 89 90 90 95 104 112 118 121 121 120 116 111 108 112 112 112 112 112 111 102 94 91 96 108 123 128 131 131 128 123 121 125 130 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 0 0 0 0 8 12 11 7 2 1 1 5 10 16 20 17 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 1 4 10 11 7 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 9 12 10 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 5 9 15 24 33 41 49 58 66 73 78 81 84 87 90 91 91 93 96 100 102 105 108 111 111 110 108 105 105 106 105 104 104 104 102 98 94 90 88 88 90 94 101 108 113 118 122 121 113 103 98 103 105 106 108 110 111 105 98 93 93 98 107 115 122 124 124 122 116 112 110 110 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 7 12 13 9 5 2 3 7 12 17 21 22 17 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 2 2 0 0 0 1 4 9 12 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 2 6 11 14 13 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 3 5 7 11 16 23 32 41 52 62 71 77 81 84 86 87 85 84 86 88 92 96 100 104 106 107 106 105 105 106 106 106 105 104 102 100 96 92 88 86 86 89 95 101 106 114 122 124 124 123 114 101 96 98 104 110 111 108 104 99 95 93 96 101 106 109 112 112 106 99 93 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 4 11 13 10 7 4 4 8 12 16 20 22 21 17 10 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 2 4 6 7 7 6 6 6 7 9 11 9 3 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 8 12 15 15 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 2 2 3 5 7 9 13 18 26 36 48 59 69 75 79 82 84 82 80 80 82 84 88 93 96 98 100 100 101 103 105 106 106 105 103 103 103 102 98 92 86 82 82 85 90 95 104 110 114 120 127 129 109 94 93 103 112 114 113 110 107 102 97 96 98 99 99 97 96 93 89 86 88 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 10 9 7 5 6 8 12 15 19 22 23 20 15 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 7 9 10 10 10 10 10 10 8 2 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 1 2 3 3 2 1 0 1 2 3 1 0 0 2 9 14 16 15 11 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 3 4 5 8 10 13 15 19 26 35 46 57 65 71 75 78 79 79 79 80 81 81 84 87 90 92 93 94 97 100 102 103 102 100 101 101 102 102 97 90 84 80 78 79 84 89 92 97 105 115 127 112 98 96 106 115 117 117 116 114 112 108 106 105 102 98 93 91 90 88 89 91 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 5 4 5 6 9 12 15 18 21 23 23 18 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 1 3 4 7 8 9 10 10 9 7 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 1 4 8 10 8 4 1 1 2 4 1 0 0 2 8 14 16 15 12 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 6 10 14 17 19 22 25 30 37 46 53 60 66 70 74 76 78 80 79 77 77 78 81 83 85 86 88 91 94 95 96 96 96 95 95 96 96 93 89 85 81 78 79 80 82 86 94 99 101 99 98 101 110 117 120 121 120 120 120 119 116 112 106 98 93 94 95 97 98 96 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 5 9 12 14 17 20 22 22 20 13 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 1 3 4 6 6 7 6 6 5 5 4 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 9 14 15 10 5 2 3 4 2 0 0 2 6 13 16 15 12 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 1 2 3 5 9 14 18 22 26 29 32 36 40 46 51 56 60 66 71 75 78 78 75 73 72 72 74 75 76 77 80 83 86 88 89 89 88 87 87 90 91 91 90 89 86 83 82 83 87 92 88 82 86 93 99 109 117 122 124 124 124 124 122 118 113 104 96 92 93 97 100 101 98 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 8 11 14 16 18 19 20 18 14 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 3 3 4 4 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 11 14 13 8 4 4 5 4 0 0 0 4 11 15 15 13 8 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 5 9 14 19 25 29 34 38 41 44 47 49 53 58 63 68 73 76 76 75 73 71 70 70 70 72 74 76 78 80 82 82 82 81 80 82 85 87 90 92 92 89 86 84 86 92 86 83 84 89 95 105 115 123 127 128 128 125 119 113 105 96 90 88 90 93 96 96 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 1 2 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 11 14 16 18 18 18 16 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 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 3 6 8 8 6 2 2 4 4 1 0 0 2 8 14 15 13 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 2 4 7 12 18 24 29 34 39 42 45 46 48 51 55 60 66 72 76 78 77 75 73 73 73 74 75 75 74 74 74 75 76 77 77 77 78 80 82 86 88 88 86 84 84 88 92 92 91 90 93 101 111 120 125 127 128 127 122 113 102 92 87 86 86 88 90 88 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 5 5 3 0 0 0 0 0 1 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 10 14 17 19 18 16 14 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 1 3 4 3 2 1 0 1 2 3 0 0 1 6 12 15 13 9 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 1 2 5 9 14 19 25 30 35 38 40 41 43 46 51 56 63 69 75 78 78 77 77 77 77 77 76 72 69 68 68 70 74 75 74 72 71 72 74 77 79 79 79 80 83 89 93 93 92 93 98 105 112 119 123 124 126 126 123 118 103 94 90 88 88 88 86 84 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 1 2 2 6 7 7 5 1 0 0 0 0 3 10 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 8 14 18 20 19 15 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 1 1 0 0 0 0 1 2 0 0 4 10 14 13 9 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 1 2 4 8 13 17 22 26 29 32 34 37 39 42 47 53 60 65 69 70 70 70 70 69 68 66 64 62 62 63 66 69 69 67 64 62 64 66 69 71 73 76 80 84 87 88 90 91 93 98 103 109 116 119 123 126 128 127 126 122 113 102 95 93 93 91 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 4 6 9 9 8 8 7 6 2 0 0 0 3 9 14 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 1 6 12 18 21 20 16 11 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 1 4 6 6 7 10 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 0 0 0 0 0 0 0 2 4 6 10 13 17 20 23 25 26 26 28 31 34 39 44 47 49 50 51 51 51 52 52 53 54 56 58 61 63 62 60 59 60 61 63 65 68 73 78 83 88 91 92 91 91 93 95 98 106 113 117 119 121 124 132 136 135 128 115 104 105 106 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 7 12 20 22 13 8 6 5 1 0 0 0 5 13 11 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 10 16 20 21 18 12 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 2 1 0 0 0 0 0 1 5 8 10 10 11 10 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 0 0 0 0 0 0 0 0 1 2 4 7 10 12 13 13 12 12 12 12 12 14 17 21 24 26 27 29 32 35 39 42 45 48 52 55 57 58 59 61 62 63 64 66 71 77 83 89 95 98 98 97 96 95 95 100 106 110 111 111 114 123 130 135 134 125 117 118 122 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 10 18 28 35 22 12 7 5 0 0 0 3 10 15 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 2 7 14 19 20 18 12 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 4 8 12 12 11 9 6 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 1 2 3 4 4 4 3 3 3 4 4 6 6 7 8 9 11 14 18 22 27 32 36 40 45 50 54 58 62 64 64 64 65 69 75 81 89 97 102 104 103 101 100 99 102 104 106 106 105 107 111 114 116 117 117 116 118 123 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 13 22 32 40 34 23 12 4 0 0 2 10 16 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 12 18 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 0 0 0 0 0 0 0 0 1 5 10 11 9 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 1 1 2 2 4 4 5 6 7 9 11 16 20 25 30 35 40 46 52 57 60 61 62 64 67 72 78 86 94 100 103 103 102 101 101 102 103 104 105 105 106 106 106 104 104 108 111 115 120 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 13 24 31 38 45 40 24 6 0 1 10 22 22 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 10 18 19 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 1 5 7 6 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 4 5 6 7 8 10 12 16 19 24 28 33 40 46 51 55 58 60 63 66 71 77 83 89 93 96 97 97 97 99 101 103 104 104 106 107 108 107 105 105 107 111 115 119 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 11 20 27 31 48 53 37 12 2 6 28 37 25 3 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 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 9 17 20 16 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 6 8 9 10 12 15 18 22 25 28 32 38 44 50 55 58 61 65 69 74 80 85 88 90 91 92 92 93 97 101 106 110 112 111 110 110 109 108 109 108 110 113 116 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 21 24 39 49 42 24 12 26 48 46 24 0 0 1 6 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 1 0 1 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 8 15 18 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 1 4 6 8 11 14 19 24 28 31 33 36 39 44 49 55 60 64 67 72 79 86 91 94 95 95 95 93 92 93 97 104 112 116 119 120 120 119 117 114 110 107 106 107 109 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 14 21 27 30 33 38 49 55 40 17 0 0 5 7 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 9 14 16 12 6 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 8 12 20 28 34 40 45 48 52 56 60 63 67 70 74 81 88 96 100 102 102 102 101 98 95 94 97 103 109 111 115 119 123 125 127 126 119 113 109 105 103 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 5 6 8 15 29 45 52 43 24 7 0 0 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 2 5 11 14 14 10 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 6 11 19 28 37 46 54 60 63 64 65 66 68 73 78 84 89 91 90 89 89 90 90 87 86 85 86 87 87 91 96 102 107 114 124 129 130 124 114 109 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 5 15 32 36 24 10 2 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 2 0 0 0 0 0 1 2 4 7 12 15 14 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 1 3 7 12 18 23 32 38 41 44 45 46 49 53 56 59 59 58 56 55 55 55 56 58 58 56 52 48 50 54 60 65 70 77 89 100 110 118 119 120 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 12 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 0 0 0 0 0 0 0 0 0 0 0 0 1 7 14 8 2 0 0 0 0 3 6 10 12 15 13 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 0 0 0 0 2 4 6 8 10 11 11 11 11 16 20 23 24 23 22 22 23 24 25 26 28 28 26 22 20 21 25 29 32 36 40 47 53 60 71 81 91 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 15 10 4 0 0 0 0 6 11 13 13 9 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 2 2 2 3 4 4 4 3 4 5 6 7 7 7 8 8 8 9 11 13 14 16 17 18 20 22 26 33 38 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 11 8 3 0 0 0 2 8 11 9 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 1 1 2 2 3 4 6 8 9 9 10 10 12 14 16 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 4 1 0 0 0 4 6 5 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 3 3 3 2 3 4 7 8 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 2 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 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 3 6 7 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 7 10 8 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 11 12 9 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 9 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 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 2 3 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 24 23 23 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 5 5 5 5 5 5 6 6 6 7 7 8 9 9 9 10 10 10 10 10 10 9 9 9 9 9 9 10 10 10 10 10 10 10 11 11 11 11 11 11 11 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 3 3 3 4 4 4 4 5 5 5 5 5 5 5 6 6 7 8 9 9 9 10 10 10 10 10 10 10 9 9 9 9 10 10 10 10 10 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 3 3 3 3 4 4 4 4 5 5 5 5 5 5 6 6 7 8 8 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 12 12 12 12 12 12 12 12 12 11 11 11 11 11 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 6 6 7 8 8 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 12 12 12 12 12 12 12 12 12 12 11 11 11 11 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 3 3 3 3 4 4 4 5 5 5 5 5 5 5 5 6 6 7 7 8 8 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 9 10 9 9 9 9 10 10 11 11 11 11 11 11 11 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 12 12 12 12 12 12 12 12 11 11 11 11 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 3 3 3 3 3 4 4 4 5 5 nan nan 5 5 5 5 6 6 7 7 7 8 8 8 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 9 9 9 9 9 10 10 11 11 11 11 11 11 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 12 12 12 12 12 12 12 11 11 11 11 11 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 3 3 3 3 4 4 4 4 5 nan nan nan nan nan 5 5 6 6 6 7 7 7 7 8 8 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 9 9 9 9 9 9 9 10 11 11 11 11 11 11 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 12 12 12 12 12 12 11 11 11 11 11 11 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 4 4 3 4 4 4 4 5 5 nan nan nan nan nan nan 6 6 6 6 6 6 6 7 7 7 8 8 8 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 10 10 10 10 10 10 10 10 10 10 10 9 9 9 9 9 9 9 9 9 10 11 11 11 11 11 11 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 12 12 12 12 12 12 11 11 11 11 11 11 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 4 4 4 3 4 4 4 4 5 5 5 nan nan nan nan 6 6 6 6 6 6 6 6 6 7 7 7 7 8 8 8 9 9 10 10 10 9 9 9 9 10 10 10 10 11 11 11 10 10 10 10 10 10 10 10 10 9 9 9 9 9 8 9 8 9 9 9 10 10 11 11 11 11 11 11 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 12 12 12 12 12 12 11 11 11 11 11 11 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 8 8 9 9 9 9 9 9 9 9 9 9 10 10 10 11 11 10 10 10 10 10 10 10 9 9 9 9 9 9 8 9 9 8 9 9 9 10 10 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 12 12 12 11 11 11 11 11 11 11 11 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 4 4 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 8 8 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 12 12 12 11 11 11 11 11 11 11 11 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 16 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 6 5 6 6 6 6 6 6 7 7 7 8 8 8 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 11 11 11 12 12 12 12 12 12 12 13 13 13 13 13 13 13 12 12 12 11 11 11 11 11 11 11 11 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 5 5 5 5 6 6 6 6 5 5 5 5 6 6 6 6 6 7 7 8 8 8 8 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 11 11 12 12 12 12 12 12 12 12 12 13 13 13 13 12 12 12 12 12 11 11 11 11 11 11 11 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 17 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 7 7 7 8 8 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 11 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 12 12 12 12 11 11 11 11 11 11 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 7 7 7 8 8 9 9 9 9 9 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 9 9 9 8 8 9 11 12 12 12 12 12 11 11 12 12 12 13 13 13 13 13 12 12 12 12 12 11 11 11 11 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 7 7 7 8 8 8 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 9 9 9 9 9 9 9 9 8 9 9 9 9 9 9 9 8 8 7 7 9 10 11 12 12 12 11 11 11 11 12 12 12 13 13 13 13 13 13 12 12 12 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 5 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 6 6 6 7 7 7 8 8 8 8 8 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 9 9 9 9 9 9 9 8 8 8 9 9 9 9 9 8 8 7 7 7 8 9 10 11 12 12 11 11 11 11 11 11 12 12 13 13 13 13 13 13 12 12 12 11 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 18 19 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 5 5 4 4 4 4 4 4 4 4 5 5 5 5 6 6 6 6 6 6 7 7 7 7 7 8 8 8 8 8 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 9 9 9 9 9 8 8 8 8 9 9 9 9 9 9 8 8 8 8 8 8 9 11 11 11 11 11 11 11 11 11 11 11 12 12 12 13 13 13 12 12 11 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 18 19 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 4 5 5 5 6 6 6 6 6 6 7 7 7 7 7 7 8 8 8 8 8 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 9 9 9 9 9 9 8 8 8 9 9 9 9 9 9 9 9 9 9 8 8 8 9 10 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 13 12 12 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 18 19 19 19 nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 5 5 5 6 6 6 6 6 6 7 7 7 7 7 7 8 8 8 8 8 9 9 9 9 9 9 9 10 10 10 10 10 10 9 9 9 9 9 9 9 9 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 11 11 11 10 10 10 10 10 10 10 10 11 11 12 12 12 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 19 19 20 nan nan nan nan 19 19 20 20 20 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 5 6 6 6 6 6 6 6 7 7 7 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 19 20 20 nan nan nan nan 20 20 20 20 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 5 6 6 6 6 6 6 7 7 7 7 8 8 8 8 8 9 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 9 9 9 9 10 10 10 10 10 10 9 9 10 10 10 10 11 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 20 20 20 nan nan nan nan 20 20 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 6 6 6 6 6 7 7 7 7 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 9 9 9 9 9 10 10 10 9 9 9 9 10 10 10 10 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 6 6 6 6 6 6 6 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 9 9 9 9 9 10 10 10 9 10 10 10 10 10 10 9 9 9 9 9 10 10 9 9 9 9 9 9 9 10 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 6 6 6 6 6 6 6 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 10 9 10 10 10 10 10 9 9 9 9 9 10 10 9 9 9 9 9 9 9 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan 20 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 4 4 5 5 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 8 8 9 9 9 10 10 10 10 10 10 10 10 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 20 20 nan nan nan nan nan 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 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 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 4 4 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 7 7 7 7 7 7 8 8 9 10 10 10 10 10 10 10 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 20 20 nan nan nan nan nan 20 20 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 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 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 5 4 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 9 10 11 10 10 10 10 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 20 20 20 nan nan nan nan 20 21 21 21 21 21 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 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 4 4 4 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 6 6 7 7 7 7 7 7 7 7 7 7 7 7 6 6 7 7 7 7 7 7 8 10 10 10 10 10 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 8 8 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 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 6 5 5 4 4 4 5 5 5 5 6 6 6 6 6 6 6 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 8 9 9 9 9 10 10 9 9 9 9 9 9 8 9 9 8 9 9 9 8 8 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 21 21 21 21 22 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 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 10 8 7 6 5 5 4 4 4 4 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 6 8 8 8 8 9 9 9 9 9 9 9 8 9 9 9 8 9 9 9 8 8 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 21 21 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 22 23 23 nan nan nan nan nan nan nan nan nan 23 23 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 13 11 9 8 6 5 5 4 4 4 5 5 6 6 6 6 6 6 6 6 6 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 6 7 7 7 7 8 8 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 22 22 22 22 22 22 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 23 23 23 nan nan nan nan nan nan nan nan nan 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 16 14 13 10 9 7 6 5 4 4 4 5 5 5 6 6 6 6 6 6 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 6 6 7 7 7 7 7 8 8 8 8 9 9 9 8 8 8 8 8 8 8 9 9 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 22 22 22 22 22 23 23 23 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 19 17 16 14 11 9 7 5 4 4 4 4 4 5 5 5 5 6 6 6 6 7 7 7 7 7 6 6 6 6 7 7 7 7 6 6 6 6 5 5 5 5 6 6 6 6 6 6 7 7 7 7 7 8 8 9 9 9 8 8 8 8 8 8 9 9 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 22 22 22 23 23 23 23 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 20 18 17 15 12 9 7 5 5 4 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 6 7 7 7 7 7 7 6 6 6 6 5 5 6 6 6 6 6 6 6 6 6 7 7 7 7 8 8 9 9 9 8 8 8 8 8 8 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 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 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 20 19 17 15 12 10 9 8 7 7 6 5 5 4 4 4 4 4 4 4 5 5 5 5 6 6 6 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 23 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 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 20 18 17 16 15 15 15 14 13 11 9 8 7 6 6 5 5 5 4 4 5 5 5 6 6 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 6 6 7 7 7 7 8 8 8 7 7 7 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 16 17 18 nan nan nan nan nan nan nan nan 18 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 23 23 23 23 23 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 21 21 21 20 20 20 19 18 16 14 12 11 9 8 7 5 5 5 5 5 6 6 6 6 7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 6 6 6 6 6 6 7 7 7 7 7 7 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 16 16 18 18 nan nan nan nan nan nan nan 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 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 10 8 6 5 5 5 5 6 6 6 6 6 6 6 6 5 5 5 5 6 6 6 6 6 6 6 6 6 7 7 6 6 6 6 6 6 6 6 7 7 7 6 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 16 16 16 17 18 19 nan nan nan nan 19 19 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 23 23 23 23 23 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 5 6 6 6 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 16 16 16 16 17 18 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 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 5 3 4 6 6 6 6 6 6 5 5 5 5 5 5 5 5 5 6 6 6 6 7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 6 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 16 16 16 16 17 18 18 nan nan 19 19 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 22 22 20 11 4 4 5 8 7 7 6 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 7 7 6 6 6 6 6 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 17 17 17 17 17 17 18 18 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 nan nan nan nan 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 24 24 24 24 24 24 25 23 10 8 8 6 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 4 5 5 5 5 6 6 6 7 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 17 17 17 17 17 18 18 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 nan nan nan 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 24 24 25 25 25 25 25 25 25 25 21 16 11 11 11 11 11 10 9 7 5 5 5 5 5 5 5 6 5 5 5 5 5 6 6 7 7 7 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 18 18 18 19 19 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 25 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 25 25 25 25 25 25 25 25 25 25 24 23 21 20 18 18 17 16 14 11 9 7 7 8 8 9 9 9 8 7 6 5 5 5 6 7 7 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 18 18 19 19 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 25 25 25 25 25 25 25 24 24 24 23 23 23 22 22 21 20 18 17 16 15 14 14 14 14 14 13 11 10 8 7 5 4 4 5 6 6 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 23 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 25 25 25 25 24 24 24 24 23 23 23 23 23 22 22 21 20 19 19 19 18 18 17 15 14 12 11 9 8 7 6 5 5 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 23 23 nan nan nan 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 19 18 17 16 15 14 13 12 11 10 9 8 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 23 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 14 13 12 12 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 25 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 72 70 69 69 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 213 206 195 182 172 162 156 152 151 152 150 150 149 149 148 145 141 134 129 126 124 123 122 121 121 121 122 123 124 125 126 127 127 126 122 122 123 124 126 125 122 117 116 117 118 119 119 119 119 119 118 118 118 119 120 121 122 122 122 122 122 122 122 121 120 118 116 114 111 110 109 108 107 106 106 106 106 106 106 105 104 104 104 105 106 107 107 107 107 107 106 106 105 105 105 105 105 106 107 107 108 109 109 109 110 111 111 112 112 113 113 113 114 115 115 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 206 195 182 172 167 162 158 156 153 152 152 150 150 150 147 143 136 131 127 125 123 122 121 121 121 121 122 123 124 125 126 125 123 122 122 123 124 127 128 124 121 119 121 121 120 120 120 120 120 120 119 119 119 120 121 121 122 122 122 123 123 122 122 120 118 116 114 112 110 109 109 108 108 107 107 106 106 105 105 104 104 104 105 106 106 107 107 106 106 106 105 105 105 105 105 105 106 107 108 108 109 109 110 110 110 111 112 112 112 113 114 114 115 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 203 194 185 178 172 167 163 157 154 152 152 152 152 151 149 144 139 134 129 126 124 123 122 121 121 121 121 122 122 123 123 123 122 122 122 124 126 130 130 127 124 123 122 122 121 120 120 120 120 119 119 119 119 120 121 121 122 123 123 123 123 122 121 120 119 117 114 112 111 110 110 110 109 109 108 107 106 105 105 104 104 105 105 105 105 106 106 106 105 105 104 104 104 104 105 105 106 107 108 108 109 109 110 110 110 111 111 112 112 113 114 114 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 202 197 189 182 176 169 161 156 154 153 153 153 153 152 150 146 142 137 132 129 126 124 123 122 121 121 121 121 121 122 122 121 121 121 122 123 125 125 125 126 125 124 123 121 121 120 120 119 119 119 119 119 119 120 121 122 123 123 123 122 122 122 122 121 121 118 115 113 111 111 111 110 110 110 109 108 107 105 105 104 104 105 104 105 105 105 105 105 105 104 104 104 104 104 105 105 106 107 108 109 109 110 110 110 110 111 111 112 112 113 114 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 203 198 191 184 176 167 162 158 155 153 153 153 153 152 151 148 144 140 136 133 130 127 125 123 122 122 121 121 121 121 121 121 120 120 121 122 122 123 123 124 124 123 122 121 120 119 119 119 119 119 119 120 120 120 121 122 123 123 123 122 122 122 123 123 122 119 116 113 111 111 111 111 111 110 109 108 107 105 105 104 104 104 104 105 105 105 105 104 103 103 103 103 103 104 105 105 107 107 108 109 109 109 110 110 111 111 112 112 113 113 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 213 205 200 193 184 176 168 162 158 155 nan nan 150 150 150 151 149 146 144 141 137 134 132 128 126 125 123 123 123 122 121 120 119 119 120 120 121 121 122 123 123 123 122 121 120 119 119 118 118 118 119 120 119 120 121 121 122 122 122 122 122 122 123 124 124 123 120 116 113 112 111 111 111 111 110 109 108 107 106 105 105 105 104 105 105 104 104 104 103 103 103 103 103 103 104 105 106 107 108 109 109 109 110 110 110 111 111 112 112 113 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 221 213 207 199 188 178 170 161 155 nan nan nan nan nan 151 150 149 148 146 144 142 140 137 134 132 129 127 126 125 123 121 120 120 120 120 119 120 121 122 122 122 122 120 119 118 118 117 117 117 118 119 119 120 120 121 121 121 121 122 122 122 123 124 126 126 124 120 116 113 112 112 112 111 111 110 109 108 107 105 105 105 105 105 105 105 104 104 103 103 103 102 102 103 104 105 105 107 108 108 109 109 109 110 111 111 111 112 113 114 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 232 222 213 203 192 178 168 159 154 nan nan nan nan nan nan 151 149 149 149 147 146 144 143 142 138 136 133 131 129 127 124 123 121 120 119 119 121 122 123 123 122 121 119 117 116 116 116 116 117 117 119 120 121 121 121 121 120 121 121 122 124 125 126 127 127 125 121 117 114 113 112 112 111 111 110 109 108 107 106 105 105 105 105 104 104 104 104 103 103 102 102 102 103 104 105 106 107 108 108 109 110 110 111 111 112 113 113 114 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 239 227 217 206 194 182 171 166 160 157 154 nan nan nan nan 149 149 150 150 149 149 149 149 147 145 143 141 138 136 133 130 127 124 122 121 121 123 124 124 124 123 121 119 117 115 114 114 115 116 118 119 120 120 121 121 121 121 121 122 124 125 126 127 127 127 125 122 118 115 114 112 112 112 111 110 109 108 107 107 106 106 105 105 104 104 104 104 103 103 102 102 102 103 104 105 107 108 109 110 110 110 110 111 112 112 113 114 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 212 202 194 188 180 172 165 161 159 158 155 153 151 150 151 149 149 149 150 151 151 151 150 148 147 143 140 135 131 127 125 124 125 126 126 126 125 124 123 120 118 115 113 113 115 117 118 120 120 120 120 120 121 122 123 124 125 126 127 127 127 127 125 123 120 117 115 114 113 113 112 112 111 109 108 107 106 105 105 105 105 105 104 104 103 102 102 102 102 103 104 105 107 108 109 110 110 110 111 111 112 113 113 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 227 223 214 210 204 195 184 175 169 166 162 158 156 153 152 149 149 148 150 152 154 156 157 156 155 151 148 144 139 135 131 128 127 127 127 127 126 126 126 124 122 119 116 114 114 115 116 118 119 119 120 120 121 121 122 123 124 125 125 126 126 126 126 124 122 120 118 115 115 114 114 114 113 112 111 109 106 105 104 104 104 104 104 104 103 102 102 102 102 102 103 104 105 107 108 109 110 110 111 111 112 113 113 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 335 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 234 229 227 224 219 209 195 184 177 174 169 165 161 159 154 150 149 150 152 155 159 160 162 160 158 155 151 147 143 139 134 132 130 128 127 126 127 127 126 125 124 121 118 116 115 115 116 116 118 119 119 120 120 120 121 123 124 124 124 125 126 126 125 124 122 121 119 117 116 116 116 116 115 113 110 107 105 104 104 104 104 104 103 103 102 101 101 101 102 102 103 104 105 107 108 109 110 110 111 111 112 112 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 337 338 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 218 203 195 187 182 177 172 168 163 158 153 151 152 155 158 162 165 164 162 159 156 153 149 146 142 138 135 132 130 127 127 126 125 125 126 125 123 120 117 116 115 115 116 117 118 119 119 119 120 121 122 123 124 124 125 126 126 125 124 123 121 119 118 118 118 119 118 116 112 107 104 103 103 103 104 104 103 102 101 101 100 100 101 101 101 103 104 105 106 108 108 109 110 110 110 111 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 212 204 195 189 185 180 174 168 163 159 156 158 161 165 167 167 165 162 158 155 153 150 148 145 141 137 134 130 128 126 124 123 123 124 124 123 121 117 116 115 115 116 117 117 117 117 118 120 121 123 123 123 124 125 126 126 126 124 123 122 121 120 121 122 122 122 117 109 104 102 102 103 103 103 103 103 101 100 100 99 98 98 98 101 102 104 105 106 107 107 108 108 109 110 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 212 206 204 198 189 180 174 168 164 163 164 168 171 171 169 164 160 156 154 152 151 149 147 142 138 133 130 128 126 123 121 122 122 121 121 120 118 116 116 115 116 116 116 116 117 119 120 121 121 123 123 124 126 126 126 126 124 123 122 122 123 123 127 129 127 117 109 104 102 101 102 103 104 103 102 101 100 98 97 95 95 98 100 102 103 104 105 106 107 107 107 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 342 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 226 226 225 219 208 196 185 178 172 169 168 170 174 173 170 166 161 156 153 152 152 151 148 145 141 136 132 130 128 125 123 121 120 120 120 119 119 118 116 116 116 116 116 116 117 117 118 120 120 120 121 123 124 126 127 127 126 125 124 123 123 124 127 132 136 131 121 112 107 104 101 101 103 104 105 104 102 101 98 95 93 95 98 100 100 102 103 104 105 106 107 107 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 343 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 242 242 237 226 213 200 191 182 175 174 174 174 173 168 164 159 155 152 150 150 149 148 145 142 138 134 132 130 129 127 124 121 120 118 118 118 118 116 116 116 116 116 116 116 116 117 118 119 119 120 120 122 125 126 128 127 125 125 125 123 124 124 127 131 133 131 126 119 113 106 102 102 103 106 106 105 104 102 99 97 97 98 99 98 99 99 100 102 104 106 106 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 342 343 343 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 247 238 226 214 204 195 187 184 180 177 172 167 162 157 153 151 149 147 147 146 145 142 139 136 133 131 130 129 128 125 122 119 117 116 116 116 116 116 115 115 115 115 115 116 116 117 118 118 119 120 123 125 127 127 126 125 125 124 123 122 122 122 123 124 126 127 124 115 108 104 103 104 105 105 105 103 102 102 102 102 101 99 98 97 97 99 101 104 106 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 343 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 219 210 204 199 196 191 187 180 172 164 158 153 151 149 147 145 144 144 142 140 137 135 132 131 130 130 129 125 122 119 118 117 116 116 115 115 115 115 115 115 115 115 116 116 116 116 118 120 122 125 126 125 125 124 124 122 121 120 119 119 120 120 122 124 123 117 111 107 105 104 105 105 104 104 103 104 106 106 106 103 100 97 97 99 102 106 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 343 343 nan nan nan nan nan 340 341 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 nan nan nan nan nan nan nan nan nan nan nan 202 200 198 196 190 183 174 164 159 155 151 148 146 144 144 143 141 139 138 135 132 131 129 128 126 123 121 120 119 119 117 116 116 115 115 115 115 115 115 116 116 116 116 117 118 119 121 123 124 123 123 122 121 121 119 118 116 116 117 118 118 119 119 117 114 109 106 106 106 106 105 105 106 107 109 109 109 106 103 100 99 100 103 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 341 342 343 343 nan nan nan nan 340 340 341 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 199 194 187 178 171 165 160 155 150 147 146 144 143 142 140 137 134 132 129 128 127 124 122 121 121 121 119 118 117 117 116 116 115 116 116 116 116 116 116 116 116 118 119 120 121 122 122 122 121 120 118 116 116 116 116 116 116 116 115 115 117 115 111 109 107 108 108 108 107 108 110 111 109 109 108 106 103 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 342 342 343 343 nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 200 194 189 182 174 165 157 151 148 146 146 145 142 139 136 134 131 128 127 125 123 122 122 122 121 120 120 119 118 116 116 116 116 116 116 116 116 116 116 117 118 119 121 122 122 121 120 119 117 116 115 115 115 115 115 114 113 112 112 114 114 113 111 110 110 109 109 108 110 112 112 110 109 109 109 106 103 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 342 343 344 344 nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 201 195 187 177 164 156 150 148 147 147 145 142 140 137 134 130 129 128 125 123 123 123 122 122 122 121 120 119 117 116 116 116 116 116 117 117 117 118 119 120 121 121 123 123 121 119 117 116 114 114 114 114 114 113 112 111 110 109 110 112 112 111 111 110 110 109 109 112 114 114 113 111 111 110 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 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 345 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 198 187 172 160 153 148 146 145 145 144 142 140 137 134 131 130 128 126 124 124 124 123 123 123 123 122 121 119 118 117 117 117 118 118 119 119 119 121 121 123 125 126 125 122 119 117 115 115 114 114 113 112 111 110 109 108 108 109 110 112 111 111 110 109 108 111 113 116 117 116 114 113 110 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 345 345 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 200 183 170 158 151 147 145 144 143 142 141 140 137 134 133 131 130 129 127 126 125 125 125 125 125 124 122 121 121 120 120 120 120 120 121 122 122 123 125 127 129 129 127 124 120 118 116 115 113 112 112 111 111 110 109 108 108 109 111 112 113 112 110 109 110 111 113 116 117 117 114 113 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 344 345 345 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 334 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 206 187 170 158 150 146 143 141 141 141 141 141 139 138 136 136 135 132 131 130 128 127 127 127 127 126 125 126 125 125 125 125 125 124 124 125 125 127 129 131 133 133 130 126 122 118 115 112 110 110 110 110 110 109 108 108 109 110 111 112 112 112 111 110 111 112 114 116 116 116 114 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan 343 343 344 345 345 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 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 213 190 171 159 152 147 143 141 140 140 141 141 141 141 142 141 141 138 136 133 131 131 131 131 131 130 130 130 130 130 130 130 129 128 128 129 129 131 134 136 137 136 132 128 124 117 112 107 106 107 109 109 109 108 108 109 110 111 112 113 112 112 112 113 113 114 115 116 116 116 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 343 344 nan nan nan nan nan 343 344 344 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 nan 352 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 340 341 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 nan nan 217 193 175 165 157 152 147 144 142 142 142 142 142 144 146 147 146 143 141 138 135 134 134 134 134 135 134 134 134 135 134 134 134 133 133 133 135 138 139 140 139 139 135 131 124 115 106 101 103 107 107 108 108 109 109 110 111 112 113 113 114 114 114 114 114 114 116 117 118 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 345 nan nan nan nan 344 344 344 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 nan 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 343 344 344 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 204 188 177 166 159 153 149 145 142 140 139 141 144 147 149 151 149 145 141 138 137 138 140 139 138 137 137 137 137 137 137 138 138 137 139 140 142 143 144 142 141 140 137 128 115 103 103 106 108 108 108 109 110 110 112 112 114 114 114 114 115 115 115 115 116 117 118 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 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 346 346 347 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 245 231 219 205 192 182 171 163 155 148 143 138 137 137 142 146 149 153 149 146 142 140 140 141 141 141 140 139 138 139 140 141 142 144 143 143 143 144 147 147 148 149 150 153 153 140 120 114 113 112 111 109 109 110 111 112 112 114 114 114 115 115 116 116 116 117 117 118 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 347 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 347 348 349 348 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 290 275 263 248 233 221 209 199 187 174 162 150 142 137 136 137 140 144 148 148 145 140 137 137 138 139 140 140 141 140 140 141 142 144 145 146 147 146 147 150 151 154 156 158 163 166 164 142 130 125 122 118 115 112 112 111 112 113 114 114 115 115 116 116 117 117 117 117 118 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 347 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 342 343 343 nan nan nan nan nan nan nan nan nan 348 349 350 350 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 306 295 283 269 254 241 228 215 200 182 166 153 144 140 139 139 140 142 142 139 136 132 130 130 132 134 137 138 140 141 141 141 142 142 145 146 148 149 151 154 159 162 164 163 163 161 151 142 136 132 127 122 117 115 114 113 113 115 115 115 116 116 116 116 116 116 116 116 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 347 347 347 348 348 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 344 344 345 nan nan nan nan nan nan nan nan nan 348 349 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 317 309 301 290 277 263 247 229 210 189 172 160 153 149 146 145 143 141 138 134 130 128 126 127 129 131 134 137 139 141 140 140 138 140 142 146 148 150 153 158 163 164 163 158 153 149 146 142 139 135 130 124 120 117 116 114 114 115 115 116 116 116 116 116 115 115 115 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 348 348 348 348 349 349 350 350 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 349 350 351 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 326 320 314 306 295 283 265 242 221 201 187 177 170 166 160 155 149 144 139 136 133 131 131 131 132 133 136 138 138 139 137 134 134 135 138 142 145 148 153 158 160 161 159 155 151 148 144 143 140 136 131 127 123 121 117 115 114 115 116 117 118 117 116 115 115 115 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 349 349 349 349 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 349 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 328 323 317 309 298 283 263 244 227 217 211 207 198 187 175 164 158 153 150 149 146 146 144 143 142 141 139 138 135 131 128 128 129 133 138 143 148 152 155 157 156 153 150 147 145 144 141 139 136 132 129 126 123 120 117 115 115 115 116 117 117 118 116 116 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 349 349 349 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 350 351 352 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 330 325 319 311 302 290 278 269 264 258 252 245 236 222 208 201 195 190 185 180 172 165 158 152 148 144 138 132 127 124 124 126 131 137 142 147 151 152 151 149 147 145 143 142 141 139 137 135 133 132 131 128 125 122 119 115 114 116 119 121 121 120 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 349 349 350 350 351 352 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 352 353 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 327 323 319 316 314 312 308 304 296 287 279 270 264 256 248 239 229 216 200 185 171 160 150 143 136 130 126 124 125 128 133 139 145 149 149 148 146 144 142 141 141 139 139 139 137 136 135 136 136 135 133 131 125 119 118 122 125 125 125 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 346 348 353 356 nan nan nan nan nan nan nan nan 354 355 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 349 350 350 351 352 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 332 331 330 328 323 317 309 300 293 285 276 266 251 235 213 193 172 157 149 142 137 134 132 131 132 136 140 147 152 152 151 147 144 142 140 139 138 139 139 138 136 137 137 139 141 141 142 140 133 128 127 130 132 131 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 349 353 356 nan nan nan nan nan nan nan 355 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 350 350 350 351 352 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 353 354 355 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 279 264 241 212 183 163 152 145 142 141 141 141 142 144 146 151 156 158 156 152 147 142 138 137 136 136 136 136 135 135 136 139 141 143 145 145 142 137 133 135 137 137 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 346 345 345 346 350 354 356 nan 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 nan nan nan nan nan nan nan 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 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 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 241 198 167 152 145 141 141 143 145 149 152 156 160 164 168 167 162 153 145 139 137 133 133 133 133 133 135 136 138 141 141 141 141 140 139 137 138 139 141 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 346 346 346 344 346 350 353 nan nan nan nan 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 350 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 273 216 164 142 136 136 138 143 149 156 163 168 176 182 183 176 163 151 146 140 136 134 133 133 133 135 138 140 141 140 138 136 136 137 138 140 141 141 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 346 345 344 346 350 353 nan nan 354 355 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 351 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 336 333 325 306 312 27 42 111 121 130 142 156 171 183 194 201 203 198 183 167 158 152 148 145 144 143 143 145 146 146 143 141 137 135 133 136 138 139 141 141 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 347 345 345 347 349 351 352 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 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 345 347 348 352 360 44 41 24 355 277 225 227 232 234 235 230 215 197 183 176 173 173 174 174 177 177 174 167 159 151 142 136 133 133 135 137 138 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 348 348 347 346 346 347 349 351 352 353 353 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 347 348 349 349 351 352 354 355 357 356 347 322 316 307 298 291 286 279 266 247 224 211 208 214 220 227 233 234 231 219 202 183 166 149 137 131 131 133 137 138 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 348 350 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 353 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 349 349 350 351 352 352 353 352 352 350 346 339 330 324 320 319 317 311 301 286 268 254 254 261 267 271 273 271 265 255 240 221 195 167 142 132 131 134 136 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 347 348 350 351 352 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 350 351 351 352 352 351 350 349 347 345 341 338 336 335 333 330 325 320 315 308 300 295 294 295 296 294 290 283 275 264 248 234 207 177 155 144 138 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 349 350 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan 354 356 357 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 351 350 350 349 348 347 345 343 341 340 339 338 336 333 330 327 323 320 317 315 313 310 305 300 294 286 278 272 267 259 240 209 188 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 317 313 309 304 298 292 288 284 280 273 266 262 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 291 287 283 280 277 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 359 360 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 -20 -17 -16 -16 -17 -17 -16 -14 -13 -15 -18 -22 -25 -25 -24 -22 -19 -15 -13 -14 -17 -21 -25 -27 -31 -35 -40 -45 -50 -52 -51 -50 -50 -51 -52 -54 -56 -58 -60 -63 -64 -66 -67 -66 -64 -63 -66 -70 -74 -77 -65 -25 56 72 79 78 72 61 50 39 31 29 29 27 20 10 3 -2 -2 -1 1 -1 -6 -13 -20 -25 -28 -28 -29 -31 -34 -37 -38 -38 -38 -38 -39 -39 -37 -32 -27 -25 -27 -29 -28 -23 -18 -15 -16 -17 -17 -17 -16 -15 -13 -12 -11 -11 -14 -16 -18 -18 -15 -13 -11 -10 -10 -11 -12 -11 -9 -6 -4 -6 -9 -10 -9 -7 -3 -0 0 -1 -3 -4 -3 0 3 3 1 -2 -4 -3 0 3 4 2 0 -1 0 3 4 4 3 1 1 1 2 2 3 3 2 0 -2 -4 -3 -1 0 1 1 -0 -1 -1 0 1 2 1 -1 -2 -0 3 4 3 1 -2 -3 -2 -1 -0 -1 -1 -1 -0 -0 -1 -1 -2 -1 -0 1 1 1 0 -0 -1 -1 -0 0 1 1 1 1 -0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -10 -11 -12 -13 -14 -15 -15 -14 -13 -13 -12 -12 -11 -12 -12 -13 -14 -16 -17 -18 -19 -20 -21 -23 -24 -25 -27 -27 -28 -29 -29 -31 -32 -33 -33 -33 -33 -33 -34 -34 -34 -34 -34 -35 -34 -34 -33 -31 -28 -24 -20 -16 -14 -13 -13 -13 -13 -12 -12 -11 -11 -10 -9 -8 -6 -4 -3 -1 0 2 5 7 9 10 10 10 10 11 13 15 18 20 22 24 26 28 30 31 31 30 29 28 29 30 31 31 31 31 32 32 32 32 31 30 29 29 28 29 30 34 38 38 35 30 23 17 16 18 23 26 26 25 24 23 23 24 24 24 24 23 21 20 19 19 21 23 26 27 27 26 26 26 28 29 30 29 28 28 29 31 33 33 32 30 28 26 25 25 25 26 26 26 26 26 25 25 25 25 26 26 26 25 25 24 24 24 24 24 24 24 24 24 24 23 23 23 24 24 25 25 -21 -18 -15 -15 -16 -18 -17 -16 -16 -17 -18 -22 -25 -26 -26 -24 -21 -18 -17 -19 -23 -26 -29 -31 -33 -37 -43 -49 -53 -54 -53 -52 -53 -54 -55 -56 -58 -60 -62 -64 -67 -68 -69 -68 -65 -63 -64 -69 -73 -76 -53 9 68 78 78 64 44 32 25 21 23 26 26 21 11 1 -4 -6 -6 -7 -10 -13 -16 -20 -23 -28 -31 -32 -33 -35 -37 -38 -37 -36 -36 -37 -38 -38 -37 -32 -27 -26 -27 -28 -27 -22 -17 -15 -16 -15 -15 -14 -14 -14 -13 -12 -12 -14 -16 -17 -16 -14 -13 -12 -11 -11 -12 -12 -10 -8 -5 -5 -6 -9 -10 -8 -5 -2 -0 -0 -2 -4 -5 -4 -1 2 2 -0 -2 -4 -3 0 2 2 1 -1 -2 -0 3 4 4 3 1 0 1 1 2 2 1 1 -1 -3 -3 -3 -2 -0 1 1 1 1 1 1 1 0 -1 -3 -4 -2 2 4 3 1 -2 -2 -1 0 1 1 0 1 1 2 1 0 -0 0 1 2 3 3 3 2 2 2 2 2 3 3 3 3 3 2 1 -0 -2 -3 -4 -5 -6 -7 -8 -8 -9 -10 -11 -12 -13 -14 -14 -14 -14 -13 -13 -12 -12 -12 -12 -12 -13 -14 -15 -16 -17 -17 -18 -20 -21 -23 -24 -25 -26 -26 -27 -28 -30 -30 -31 -31 -30 -31 -31 -31 -31 -31 -32 -32 -32 -32 -32 -32 -30 -27 -21 -16 -13 -12 -14 -15 -16 -16 -15 -15 -15 -16 -15 -14 -13 -11 -9 -8 -6 -4 -1 2 5 7 8 8 9 9 10 12 14 16 18 20 22 24 27 29 30 30 30 30 29 29 30 30 30 31 32 33 33 34 33 32 31 30 30 31 33 34 35 34 33 32 28 21 15 14 18 24 26 24 24 23 24 24 24 25 25 24 23 21 20 20 21 23 26 28 29 28 27 27 28 29 29 28 27 27 28 29 30 30 29 28 26 26 25 25 26 26 26 27 26 26 25 25 25 25 26 26 26 25 25 25 25 24 24 24 24 24 24 24 24 24 24 24 25 25 26 26 -21 -18 -15 -15 -16 -18 -18 -18 -18 -19 -20 -22 -24 -25 -25 -24 -22 -19 -20 -24 -28 -32 -34 -36 -38 -41 -46 -51 -55 -54 -53 -54 -55 -58 -59 -59 -60 -62 -64 -66 -69 -70 -70 -69 -66 -64 -64 -68 -71 -72 -46 21 76 79 53 19 -6 -11 -7 0 9 15 14 9 0 -5 -8 -11 -14 -19 -22 -23 -23 -23 -25 -28 -30 -31 -33 -35 -37 -37 -36 -35 -35 -35 -37 -38 -37 -33 -28 -26 -27 -28 -27 -23 -18 -14 -13 -12 -13 -14 -14 -14 -14 -13 -15 -15 -15 -13 -12 -11 -12 -12 -12 -12 -12 -9 -6 -4 -4 -6 -9 -10 -7 -4 -1 0 -1 -3 -4 -5 -3 -1 0 1 -1 -3 -4 -3 -0 2 1 -1 -2 -2 -1 2 4 3 2 0 -0 -0 1 1 1 -0 -1 -1 -2 -2 -1 -1 -0 0 1 2 2 2 2 1 -1 -3 -5 -5 -3 1 3 2 1 -1 -2 0 1 2 1 1 1 2 2 2 1 1 1 2 3 4 4 4 4 4 4 4 5 5 6 6 6 6 5 4 3 1 0 -1 -2 -3 -4 -5 -6 -6 -7 -8 -9 -10 -11 -12 -12 -13 -13 -13 -13 -13 -12 -12 -12 -13 -13 -14 -14 -14 -15 -15 -16 -17 -18 -20 -21 -22 -23 -24 -25 -26 -27 -28 -28 -28 -28 -28 -27 -26 -26 -26 -26 -27 -27 -28 -28 -28 -28 -25 -20 -16 -13 -12 -14 -17 -18 -17 -17 -17 -17 -18 -18 -18 -16 -15 -14 -12 -11 -8 -5 -2 1 4 6 7 8 8 9 10 11 12 14 16 18 21 24 26 28 29 29 29 29 29 29 28 29 29 31 32 33 34 34 33 32 32 33 35 35 34 32 31 32 34 35 32 24 19 19 23 26 25 25 25 26 26 26 26 26 26 25 24 22 21 22 23 25 28 29 29 29 29 29 29 29 28 28 27 27 28 28 27 26 25 25 25 25 25 26 26 27 27 27 27 27 27 27 26 26 26 26 26 26 25 25 25 25 25 25 25 25 25 25 25 25 26 26 27 27 28 -21 -18 -15 -14 -16 -18 -19 -19 -20 -20 -22 -23 -23 -23 -24 -23 -21 -20 -23 -28 -33 -37 -39 -42 -44 -46 -48 -51 -54 -55 -55 -56 -58 -60 -61 -61 -62 -64 -67 -69 -72 -72 -72 -70 -67 -66 -66 -69 -69 -67 -50 -9 48 48 -28 -63 -56 -48 -36 -17 -6 -3 -4 -7 -8 -9 -12 -18 -24 -29 -29 -26 -25 -25 -25 -24 -24 -27 -31 -35 -38 -39 -37 -35 -35 -37 -39 -39 -36 -32 -27 -26 -27 -28 -27 -22 -16 -12 -11 -12 -13 -14 -14 -14 -14 -15 -14 -13 -11 -10 -10 -11 -12 -13 -12 -10 -8 -5 -3 -4 -6 -8 -8 -5 -2 -0 0 -1 -3 -5 -4 -3 -1 0 -0 -2 -4 -4 -2 -0 1 0 -2 -3 -2 -0 2 3 2 1 -1 -1 -1 0 0 -0 -1 -1 -1 -0 0 1 1 1 -0 0 1 2 2 2 0 -2 -4 -5 -5 -3 -1 1 1 -0 -1 -1 1 2 2 2 1 1 1 2 2 1 1 1 2 3 4 4 5 5 5 5 6 7 8 8 9 9 9 9 8 7 5 4 2 1 0 -1 -2 -3 -3 -4 -4 -5 -5 -6 -7 -8 -9 -10 -10 -11 -11 -11 -12 -12 -13 -13 -14 -14 -15 -15 -15 -15 -15 -16 -16 -17 -18 -19 -20 -21 -22 -23 -23 -24 -25 -25 -25 -24 -22 -21 -21 -20 -21 -21 -22 -22 -23 -24 -23 -21 -18 -15 -13 -13 -15 -17 -17 -17 -17 -17 -18 -19 -19 -19 -18 -17 -16 -14 -13 -11 -8 -5 -2 1 3 4 6 7 8 9 9 10 11 13 16 19 22 24 25 26 27 28 28 28 28 27 27 28 29 30 32 32 33 33 33 34 35 36 36 34 32 31 32 36 39 38 35 31 27 27 27 27 28 28 28 28 27 27 27 27 27 26 25 24 23 23 24 26 27 28 29 30 30 29 29 29 29 28 28 27 26 25 24 24 24 24 24 25 26 27 27 27 27 28 28 29 29 28 28 28 27 27 27 27 27 27 27 27 26 26 26 26 27 27 27 27 28 28 29 29 -21 -17 -14 -14 -16 -19 -20 -20 -21 -22 -23 -25 -24 -23 -24 -23 -22 -22 -26 -31 -36 -40 -43 -46 -49 -50 -51 -51 -54 -56 -57 -58 -59 -62 -63 -64 -64 -66 -68 -71 -73 -74 -72 -70 -69 -70 -72 -72 -70 -64 -53 -36 -18 -37 -60 -71 -69 -62 -47 -29 -21 -21 -22 -19 -13 -14 -19 -25 -29 -29 -26 -26 -27 -26 -23 -21 -23 -29 -35 -39 -40 -39 -36 -36 -37 -40 -41 -40 -35 -29 -27 -28 -30 -30 -24 -17 -13 -13 -13 -14 -14 -14 -14 -14 -14 -13 -11 -10 -10 -10 -11 -11 -11 -10 -8 -6 -4 -3 -4 -6 -7 -6 -3 -0 1 -0 -2 -4 -4 -4 -2 -0 0 -0 -2 -4 -3 -2 -0 0 -1 -3 -3 -2 0 2 3 1 -1 -2 -2 -1 0 0 -0 -1 -1 -0 1 2 3 2 1 -0 -1 -0 1 1 0 -1 -3 -4 -5 -5 -3 -2 -0 -1 -2 -2 -1 0 1 1 0 -0 -1 -0 0 1 0 0 1 1 2 3 3 4 4 5 5 6 6 7 8 9 10 11 11 11 10 9 8 7 5 4 3 2 1 -0 -1 -1 -2 -2 -2 -3 -4 -4 -5 -6 -7 -7 -8 -9 -10 -10 -12 -13 -14 -14 -15 -15 -15 -15 -15 -16 -16 -16 -17 -17 -18 -19 -19 -19 -19 -20 -20 -20 -20 -19 -18 -17 -16 -16 -17 -17 -18 -19 -20 -20 -20 -18 -16 -15 -14 -15 -16 -18 -18 -18 -18 -19 -19 -19 -19 -19 -18 -18 -17 -15 -14 -12 -10 -7 -5 -2 0 2 3 5 6 7 8 9 10 11 13 17 20 22 23 24 25 26 27 27 27 27 27 27 27 28 29 30 30 30 31 33 34 36 36 35 33 33 33 35 36 36 34 33 31 31 31 32 32 32 31 30 29 28 28 28 28 28 28 26 25 24 23 24 25 26 28 29 30 30 31 30 29 28 27 26 26 25 24 24 24 24 24 25 26 26 27 27 27 28 29 30 30 29 29 29 29 29 29 29 29 28 28 28 28 28 27 27 28 28 29 29 29 29 29 30 -19 -17 -14 -14 -16 -19 -21 -22 -22 -24 -26 -28 -28 -26 -26 -26 -25 -25 -30 -35 -40 -44 -47 -51 -54 -55 -54 -53 -54 -57 -58 -59 -61 -63 -65 -66 -67 -68 -70 -72 -74 -75 -74 -73 -74 -75 -76 -75 -72 -65 -56 -45 -41 -53 -64 -70 -70 -64 -49 -38 -35 -35 -33 -26 -19 -19 -22 -25 -25 -25 -26 -29 -30 -28 -26 -25 -29 -34 -38 -39 -37 -35 -34 -36 -38 -41 -42 -41 -35 -30 -28 -30 -31 -30 -24 -16 -14 -15 -15 -15 -14 -14 -14 -14 -13 -11 -10 -10 -11 -11 -10 -8 -7 -5 -4 -4 -4 -5 -7 -7 -5 -2 -0 0 -1 -3 -4 -4 -3 -1 0 0 -0 -2 -3 -3 -1 0 0 -1 -3 -3 -0 2 3 3 0 -2 -3 -3 -1 0 1 -0 -1 -1 -0 2 3 3 2 0 -1 -2 -2 -0 -0 -1 -2 -3 -4 -4 -4 -3 -2 -2 -2 -3 -3 -2 -1 -0 -1 -2 -3 -3 -3 -2 -1 -1 -1 -1 -1 -0 0 1 2 3 3 4 4 4 5 6 7 8 9 10 10 10 10 10 9 9 8 7 6 5 4 3 2 1 1 0 -0 -1 -2 -2 -3 -3 -3 -4 -5 -5 -6 -7 -8 -10 -12 -13 -13 -14 -14 -15 -15 -16 -16 -16 -17 -17 -17 -17 -17 -17 -17 -16 -16 -16 -15 -14 -14 -13 -13 -14 -15 -16 -17 -18 -18 -18 -18 -17 -16 -16 -16 -16 -17 -18 -18 -18 -19 -19 -20 -20 -20 -20 -19 -19 -18 -17 -15 -13 -11 -9 -7 -5 -2 -0 1 3 4 6 7 8 9 10 11 14 17 20 22 23 25 26 26 27 27 27 27 27 27 27 27 27 27 27 28 29 31 33 34 34 34 34 34 33 33 31 31 31 32 33 34 34 34 33 32 30 30 29 29 29 30 30 30 29 27 26 24 23 23 24 26 27 29 31 32 31 28 26 26 26 25 25 25 24 25 25 25 26 26 26 26 27 27 28 29 30 30 30 30 30 31 31 31 31 31 31 31 30 30 29 29 28 28 29 29 29 30 30 30 30 -18 -16 -14 -14 -17 -20 -22 -23 -24 -26 -29 -31 -33 -32 -30 -29 -29 -30 -34 -38 -42 -47 -51 -55 -58 -59 -58 -57 -55 -56 -59 -61 -63 -65 -67 -68 -68 -70 -72 -74 -76 -76 -75 -76 -77 -78 -77 -76 -73 -66 -58 -53 -54 -61 -66 -70 -69 -62 -49 -45 -44 -43 -37 -29 -22 -21 -22 -23 -24 -27 -31 -33 -33 -31 -30 -31 -33 -35 -35 -34 -32 -32 -33 -36 -38 -41 -42 -41 -38 -33 -31 -31 -31 -31 -25 -18 -16 -17 -16 -15 -15 -14 -13 -13 -11 -11 -11 -11 -10 -9 -7 -5 -4 -4 -4 -4 -6 -7 -7 -5 -3 -1 -1 -2 -3 -4 -4 -3 -1 0 1 -0 -2 -3 -3 -1 -0 -0 -1 -1 -0 2 3 3 2 -1 -4 -4 -2 -0 1 1 -0 -2 -2 -1 1 3 3 2 -1 -2 -3 -3 -2 -1 -2 -3 -4 -4 -4 -4 -3 -3 -3 -4 -4 -5 -4 -3 -3 -4 -5 -6 -6 -5 -5 -4 -4 -3 -3 -2 -2 -2 -1 -0 0 1 2 2 3 3 3 4 4 5 6 7 8 8 9 9 10 10 9 9 8 7 7 6 5 5 4 3 2 1 1 0 -0 -0 -0 -1 -1 -1 -2 -3 -4 -6 -8 -9 -11 -11 -12 -13 -13 -14 -15 -16 -16 -17 -18 -18 -18 -17 -17 -16 -15 -14 -13 -12 -11 -11 -11 -12 -13 -15 -16 -17 -18 -18 -17 -17 -17 -17 -17 -18 -18 -18 -18 -19 -20 -20 -21 -21 -21 -21 -21 -21 -20 -18 -17 -15 -14 -12 -10 -8 -5 -3 -1 1 3 4 5 6 8 9 10 12 14 17 20 23 25 26 27 27 27 28 28 28 28 28 27 27 26 26 26 26 27 29 31 32 33 32 32 31 30 29 29 30 32 33 34 34 33 32 31 31 31 30 30 30 31 31 31 31 29 28 25 24 23 23 24 25 27 30 32 31 29 26 25 25 26 26 26 26 26 26 26 26 26 26 26 26 27 28 29 29 29 29 30 31 31 31 31 32 32 32 32 32 31 30 30 29 29 29 29 29 30 30 30 31 -18 -16 -15 -16 -18 -21 -23 -25 -26 -29 -32 -35 -38 -38 -36 -33 -33 -36 -40 -43 -45 -49 -53 -57 -61 -61 -60 -58 -57 -57 -59 -62 -64 -66 -69 -71 -71 -71 -74 -76 -77 -77 -77 -77 -78 -78 -77 -76 -73 -67 -62 -60 -61 -65 -69 -70 -67 -59 -51 -49 -49 -45 -38 -29 -23 -21 -21 -24 -28 -33 -36 -34 -32 -31 -32 -33 -33 -32 -31 -30 -29 -30 -32 -34 -37 -39 -41 -41 -39 -36 -33 -31 -31 -31 -26 -21 -18 -17 -17 -16 -15 -14 -13 -12 -11 -11 -11 -10 -9 -7 -5 -4 -4 -4 -5 -5 -6 -7 -6 -4 -3 -2 -2 -3 -4 -4 -3 -1 1 1 0 -2 -3 -3 -2 -1 -1 -1 -0 1 3 4 3 0 -3 -4 -4 -2 1 1 1 -1 -3 -3 -2 -0 2 2 1 -1 -3 -3 -3 -2 -2 -3 -4 -4 -4 -4 -4 -4 -4 -4 -5 -6 -6 -6 -6 -6 -7 -7 -8 -8 -8 -7 -6 -6 -6 -5 -4 -4 -3 -2 -2 -1 -1 -0 1 1 2 2 3 3 3 4 4 5 6 7 8 8 9 9 10 10 10 9 9 9 8 8 7 6 5 4 3 3 3 3 3 2 2 2 1 1 -1 -2 -4 -6 -8 -9 -9 -10 -11 -12 -13 -14 -14 -15 -16 -17 -17 -17 -17 -16 -15 -14 -13 -12 -11 -11 -11 -11 -12 -13 -14 -15 -16 -16 -16 -17 -17 -18 -18 -18 -18 -18 -18 -19 -20 -21 -21 -22 -22 -23 -23 -23 -22 -20 -19 -17 -16 -14 -13 -11 -9 -6 -3 -1 1 3 4 5 6 7 9 10 12 15 18 22 25 26 27 27 27 27 28 28 29 29 28 28 27 26 26 26 26 27 28 29 30 30 30 30 29 29 29 29 30 31 31 31 31 30 31 31 31 32 32 32 32 32 32 32 31 30 28 26 24 22 22 22 24 26 29 31 31 29 27 26 26 28 29 29 28 27 26 26 25 25 25 26 26 27 27 27 27 28 29 30 30 30 30 31 32 33 33 32 31 31 30 30 29 29 29 29 29 30 30 31 -18 -17 -17 -18 -20 -23 -26 -27 -28 -30 -33 -38 -41 -41 -39 -37 -39 -45 -48 -48 -49 -51 -55 -59 -63 -63 -61 -59 -58 -58 -60 -63 -65 -68 -70 -73 -73 -74 -76 -78 -79 -78 -77 -77 -76 -77 -76 -75 -71 -68 -65 -65 -67 -70 -72 -70 -64 -57 -52 -51 -50 -44 -35 -27 -21 -21 -24 -30 -35 -37 -33 -27 -25 -25 -27 -30 -30 -30 -29 -28 -29 -29 -31 -33 -35 -37 -39 -40 -39 -37 -35 -33 -32 -31 -25 -21 -19 -17 -16 -16 -15 -14 -12 -11 -10 -10 -10 -8 -7 -6 -5 -5 -5 -5 -6 -6 -6 -6 -5 -4 -3 -3 -4 -4 -4 -2 -1 1 2 1 -2 -3 -4 -3 -2 -1 -1 -0 1 3 3 2 -1 -4 -5 -3 -1 1 1 1 -1 -3 -4 -3 -1 0 1 0 -1 -2 -2 -1 -1 -2 -3 -4 -4 -4 -4 -4 -5 -6 -6 -7 -8 -8 -9 -9 -9 -10 -10 -10 -10 -9 -8 -8 -8 -7 -7 -6 -5 -4 -3 -2 -2 -2 -1 -1 -0 0 1 2 3 3 3 3 4 5 5 6 7 8 8 8 9 9 10 10 10 10 10 10 9 8 8 7 6 5 5 5 5 5 5 4 4 3 2 0 -2 -3 -5 -7 -8 -9 -9 -10 -10 -10 -10 -11 -12 -12 -13 -13 -14 -14 -14 -13 -12 -11 -11 -11 -11 -11 -11 -12 -12 -13 -13 -14 -14 -15 -16 -17 -17 -17 -17 -18 -18 -18 -19 -20 -21 -22 -22 -23 -24 -24 -23 -22 -20 -18 -17 -16 -15 -13 -11 -9 -6 -3 -1 1 2 3 5 6 8 10 11 13 16 20 22 24 25 25 26 26 26 27 28 29 29 28 28 28 27 27 27 28 28 28 29 28 28 29 29 29 28 28 27 28 28 28 28 29 30 30 30 31 32 34 34 33 32 32 32 32 30 28 25 22 19 18 20 23 26 29 31 31 29 28 28 29 31 31 29 27 26 25 25 24 25 25 25 26 25 25 26 27 29 29 28 28 28 29 31 32 32 31 30 30 30 30 30 30 30 30 30 30 31 31 -20 -19 -19 -19 -21 -25 -28 -29 -30 -31 -34 -38 -41 -42 -42 -43 -46 -51 -54 -53 -53 -54 -58 -61 -64 -65 -63 -61 -61 -61 -62 -64 -66 -69 -72 -74 -76 -77 -78 -80 -80 -79 -76 -74 -74 -74 -74 -72 -70 -69 -69 -70 -71 -73 -72 -68 -61 -56 -53 -52 -49 -41 -31 -23 -20 -24 -30 -35 -35 -30 -21 -15 -14 -17 -22 -27 -29 -29 -29 -29 -29 -30 -31 -32 -33 -35 -38 -39 -38 -37 -37 -35 -33 -30 -23 -20 -18 -16 -15 -15 -14 -13 -10 -9 -8 -8 -8 -7 -6 -5 -5 -5 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -4 -4 -3 -1 1 1 0 -2 -3 -4 -3 -2 -1 -1 -1 0 1 2 0 -2 -5 -5 -3 -1 1 1 -0 -2 -3 -4 -3 -2 -0 0 0 -1 -1 -0 -0 -0 -2 -3 -4 -5 -5 -5 -5 -6 -8 -8 -9 -9 -10 -11 -12 -12 -13 -13 -12 -11 -10 -9 -9 -8 -8 -8 -7 -6 -4 -3 -2 -1 -2 -2 -2 -2 -1 -1 0 1 1 2 2 2 3 3 4 5 6 7 7 7 7 8 8 9 10 10 11 11 11 10 9 8 8 7 7 6 6 6 6 6 5 4 3 2 1 -0 -2 -3 -5 -7 -8 -8 -8 -7 -6 -5 -4 -4 -4 -5 -6 -7 -8 -8 -8 -8 -9 -9 -10 -10 -11 -11 -11 -11 -11 -12 -12 -13 -13 -14 -15 -15 -15 -16 -16 -17 -17 -18 -19 -20 -21 -22 -23 -23 -23 -22 -20 -19 -17 -16 -15 -14 -12 -10 -8 -5 -2 -0 1 3 4 5 7 9 11 12 14 16 18 19 21 22 23 24 24 25 26 27 28 28 28 28 28 29 29 29 29 29 29 28 28 28 29 28 27 26 25 25 25 25 26 28 28 28 28 28 30 32 34 34 33 33 33 33 32 30 27 22 18 16 18 22 26 28 29 30 30 29 30 31 32 31 30 28 26 25 25 24 24 24 24 24 23 24 25 26 27 28 27 26 26 26 27 28 29 28 28 28 29 30 30 31 31 31 31 31 31 32 -23 -23 -21 -20 -21 -25 -29 -31 -31 -31 -34 -38 -41 -43 -45 -49 -53 -57 -58 -57 -57 -58 -61 -64 -65 -66 -65 -64 -63 -63 -64 -65 -67 -70 -73 -76 -77 -78 -80 -81 -80 -78 -74 -73 -72 -71 -71 -70 -70 -71 -73 -74 -75 -74 -70 -65 -60 -56 -53 -52 -46 -37 -27 -21 -22 -28 -33 -33 -26 -15 -7 -6 -10 -16 -22 -26 -28 -28 -28 -28 -29 -31 -32 -33 -34 -35 -37 -38 -38 -38 -38 -37 -34 -29 -21 -18 -16 -15 -15 -15 -13 -11 -8 -7 -6 -6 -6 -6 -5 -5 -4 -5 -5 -6 -6 -6 -6 -6 -5 -5 -5 -5 -4 -3 -1 -0 -0 -1 -2 -4 -4 -3 -2 -1 -1 -1 -1 -0 -0 -1 -4 -6 -5 -3 -1 0 0 -1 -3 -4 -4 -3 -1 0 0 -0 -1 -1 -0 0 -1 -2 -4 -5 -5 -6 -7 -7 -8 -9 -10 -11 -12 -12 -13 -14 -14 -14 -14 -13 -11 -10 -9 -8 -8 -8 -8 -7 -7 -5 -4 -2 -2 -2 -2 -3 -3 -3 -3 -2 -2 -1 -1 -0 -0 -0 0 1 2 3 4 4 4 5 5 6 7 8 9 9 10 10 10 10 9 9 8 7 7 7 6 6 6 6 6 5 4 4 3 3 2 1 -0 -2 -3 -3 -4 -3 -1 1 3 5 5 4 3 2 0 -1 -2 -3 -4 -6 -8 -9 -9 -9 -10 -10 -10 -11 -11 -12 -12 -12 -12 -12 -13 -13 -14 -14 -15 -16 -17 -18 -19 -20 -21 -21 -21 -20 -19 -18 -17 -16 -15 -14 -13 -11 -9 -6 -4 -2 1 2 4 5 6 8 10 11 12 14 14 15 16 18 19 21 21 22 23 24 25 25 26 27 28 29 30 30 30 30 29 28 28 28 28 28 27 26 25 23 23 23 24 25 26 26 26 26 27 29 31 33 34 35 35 35 34 32 29 24 20 18 21 25 29 29 28 28 29 30 31 31 31 30 29 27 27 27 26 26 25 25 25 24 22 22 23 24 26 26 25 24 23 22 23 24 25 25 25 25 26 28 30 31 32 32 33 33 33 33 -24 -25 -24 -23 -22 -25 -29 -32 -32 -33 -34 -38 -42 -44 -48 -52 -57 -61 -62 -61 -60 -60 -63 -65 -66 -66 -66 -65 -64 -64 -65 -67 -68 -71 -74 -77 -78 -79 -80 -80 -79 -76 -74 -73 -72 -71 -70 -70 -72 -74 -76 -77 -75 -70 -66 -62 -58 -55 -54 -50 -42 -31 -24 -22 -25 -29 -28 -21 -11 -4 -3 -7 -13 -18 -22 -24 -24 -24 -25 -27 -29 -31 -32 -33 -34 -35 -37 -38 -38 -37 -36 -34 -31 -28 -19 -16 -15 -15 -16 -15 -12 -9 -6 -5 -5 -5 -5 -4 -3 -3 -3 -4 -5 -6 -7 -6 -6 -6 -6 -7 -7 -6 -4 -2 -1 -1 -2 -4 -4 -4 -3 -2 -1 -2 -2 -1 -1 -1 -3 -5 -6 -6 -3 -1 -0 -1 -3 -4 -5 -4 -3 -1 0 -0 -1 -2 -2 -1 -1 -1 -3 -4 -6 -6 -7 -7 -8 -9 -10 -11 -12 -13 -14 -15 -15 -15 -15 -14 -12 -10 -9 -9 -8 -8 -7 -7 -7 -7 -7 -5 -4 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -2 -2 -2 -2 -1 -1 0 1 1 2 3 4 5 6 7 7 8 9 9 9 9 8 7 7 6 6 6 6 6 6 5 5 5 5 6 6 6 5 4 4 5 5 4 3 3 5 6 7 8 8 7 7 6 5 4 2 -0 -3 -5 -6 -7 -7 -7 -8 -9 -10 -10 -11 -11 -11 -11 -11 -11 -11 -12 -12 -13 -13 -14 -15 -16 -18 -18 -19 -19 -18 -17 -17 -16 -15 -14 -13 -12 -10 -9 -7 -5 -2 -0 2 3 5 5 7 8 9 11 12 12 13 13 14 15 17 18 19 20 21 21 22 23 24 25 27 28 29 30 30 29 28 28 28 28 28 28 27 26 25 24 23 23 24 25 25 25 25 26 27 28 30 32 35 36 37 36 34 32 29 25 25 27 31 33 32 29 28 28 29 30 30 29 28 27 26 27 28 27 27 27 27 27 26 24 22 21 22 24 24 24 23 21 19 19 20 21 21 22 22 23 26 29 32 33 34 35 35 35 35 -25 -27 -27 -26 -24 -25 -29 -32 -35 -36 -37 -40 -44 -47 -50 -54 -58 -63 -66 -66 -64 -63 -64 -65 -66 -66 -65 -65 -64 -65 -66 -67 -69 -71 -74 -77 -78 -79 -79 -79 -78 -75 -74 -74 -73 -72 -71 -71 -73 -76 -77 -76 -71 -66 -63 -60 -58 -55 -52 -46 -38 -29 -24 -23 -22 -19 -13 -7 -3 -3 -8 -13 -16 -18 -19 -19 -20 -21 -23 -25 -27 -29 -30 -32 -33 -35 -37 -38 -38 -37 -34 -32 -29 -26 -18 -16 -16 -16 -16 -15 -12 -9 -7 -6 -5 -4 -3 -2 -2 -2 -3 -5 -6 -7 -7 -6 -6 -6 -8 -8 -7 -5 -3 -2 -3 -4 -5 -5 -4 -3 -3 -3 -3 -3 -2 -2 -2 -3 -5 -6 -5 -3 -1 -1 -2 -4 -6 -6 -5 -3 -1 -0 -1 -3 -4 -5 -4 -3 -3 -4 -5 -6 -7 -7 -8 -8 -9 -10 -11 -13 -14 -15 -15 -16 -15 -15 -13 -11 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -6 -5 -5 -6 -7 -6 -6 -5 -5 -6 -6 -6 -5 -5 -4 -4 -5 -5 -4 -4 -4 -3 -2 -2 -1 1 2 3 4 4 5 6 6 7 7 7 6 6 5 5 5 5 5 5 5 5 5 6 7 8 8 7 7 8 10 12 13 11 10 9 8 9 8 8 8 7 7 7 7 6 4 1 -2 -4 -5 -5 -5 -6 -7 -7 -8 -9 -10 -10 -11 -10 -10 -10 -10 -10 -10 -11 -11 -12 -13 -14 -15 -16 -16 -15 -15 -14 -14 -14 -14 -13 -12 -10 -9 -8 -6 -5 -3 -1 0 2 4 4 5 6 8 10 11 11 11 11 11 12 13 14 16 17 18 18 19 19 20 22 23 25 27 28 29 29 28 27 27 28 28 29 28 28 27 25 24 24 24 24 24 25 25 26 26 26 28 29 32 35 37 37 37 35 34 32 32 34 36 36 35 32 31 29 29 29 29 28 26 25 25 26 27 27 28 29 30 29 27 25 24 22 22 22 23 22 22 21 19 19 19 18 19 19 20 21 25 29 34 36 37 38 38 38 37 -26 -28 -30 -29 -28 -27 -29 -32 -37 -40 -42 -43 -47 -51 -53 -56 -59 -65 -69 -70 -69 -67 -65 -66 -68 -66 -65 -65 -65 -66 -67 -67 -69 -70 -73 -76 -77 -78 -78 -77 -76 -74 -74 -73 -72 -72 -72 -72 -74 -76 -76 -73 -68 -63 -61 -59 -57 -53 -48 -42 -36 -29 -23 -18 -13 -8 -4 -2 -4 -8 -13 -17 -17 -17 -16 -16 -17 -19 -21 -23 -24 -26 -28 -30 -32 -34 -37 -39 -39 -36 -33 -30 -28 -25 -17 -16 -16 -17 -17 -15 -13 -11 -9 -6 -4 -3 -2 -1 -1 -3 -4 -6 -7 -6 -5 -5 -6 -7 -8 -8 -7 -5 -5 -5 -5 -6 -5 -4 -4 -4 -4 -5 -4 -3 -2 -2 -4 -5 -5 -4 -2 -1 -1 -3 -5 -6 -6 -4 -2 -1 -1 -1 -4 -6 -7 -6 -5 -4 -4 -5 -6 -6 -7 -7 -8 -9 -9 -10 -12 -13 -14 -15 -15 -15 -14 -12 -10 -8 -7 -7 -8 -9 -9 -9 -9 -9 -10 -9 -9 -8 -8 -9 -9 -8 -8 -8 -8 -8 -8 -8 -7 -6 -5 -5 -6 -6 -6 -6 -6 -5 -5 -4 -3 -2 -1 0 1 2 3 3 4 4 4 5 5 4 4 4 3 3 2 2 3 3 4 6 7 9 10 9 8 8 10 13 17 18 16 14 12 11 11 10 9 8 8 8 7 7 5 2 -1 -3 -5 -6 -6 -6 -6 -7 -7 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -11 -12 -13 -14 -13 -13 -11 -11 -11 -11 -11 -11 -10 -8 -8 -7 -6 -4 -3 -2 -1 1 2 3 4 5 6 9 10 11 10 10 10 11 12 12 13 15 15 16 16 16 17 18 19 21 23 25 27 28 28 27 27 27 28 29 29 29 28 27 26 26 25 25 25 25 25 26 26 26 26 27 29 32 35 37 38 38 37 37 37 38 38 38 37 35 34 32 31 31 31 29 26 24 23 23 24 25 28 30 30 26 21 21 22 24 25 25 23 22 21 21 22 22 21 18 17 18 20 23 27 31 36 39 40 40 40 40 40 -26 -29 -31 -32 -31 -30 -31 -33 -37 -43 -47 -49 -51 -54 -56 -58 -62 -67 -72 -75 -75 -72 -69 -68 -68 -68 -67 -67 -69 -69 -69 -69 -69 -70 -72 -75 -77 -78 -77 -76 -74 -72 -72 -72 -71 -72 -73 -73 -74 -75 -75 -71 -65 -62 -61 -58 -54 -49 -43 -38 -33 -26 -18 -10 -5 -2 -1 -3 -7 -13 -18 -20 -18 -16 -15 -15 -16 -17 -19 -20 -23 -25 -27 -29 -31 -34 -36 -38 -39 -37 -33 -30 -27 -25 -17 -16 -17 -18 -17 -17 -16 -13 -10 -7 -5 -3 -2 -2 -3 -4 -6 -7 -6 -5 -4 -5 -7 -8 -8 -8 -7 -6 -7 -7 -7 -6 -5 -4 -5 -6 -6 -6 -4 -3 -3 -4 -5 -5 -3 -2 -1 -2 -4 -6 -7 -6 -4 -2 -1 -1 -3 -5 -6 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -9 -11 -12 -14 -14 -14 -14 -13 -11 -9 -7 -7 -7 -8 -9 -9 -10 -10 -11 -11 -11 -12 -11 -11 -11 -11 -10 -10 -10 -9 -9 -8 -8 -7 -6 -5 -5 -6 -6 -6 -5 -5 -5 -5 -4 -4 -3 -2 -1 0 1 1 2 2 2 3 3 3 3 3 3 2 2 1 1 0 0 1 3 5 8 10 10 9 8 9 12 15 18 18 16 14 13 13 13 12 12 11 10 9 8 7 4 2 -1 -4 -6 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -7 -7 -7 -7 -8 -9 -10 -11 -12 -12 -10 -9 -8 -8 -8 -8 -8 -7 -7 -6 -6 -5 -4 -3 -1 -0 1 2 2 3 4 5 7 8 9 9 9 10 10 11 12 12 13 13 13 13 14 15 15 16 17 19 22 24 26 27 27 27 27 28 29 29 29 28 28 27 27 27 27 27 27 27 26 26 26 26 26 26 28 31 33 36 37 38 38 39 39 39 39 39 38 38 37 36 36 35 33 30 27 24 22 22 23 26 28 27 20 13 12 15 21 27 29 27 24 22 22 24 26 24 19 15 17 24 30 33 35 38 40 42 42 42 42 43 -28 -30 -32 -33 -33 -33 -34 -36 -39 -43 -49 -54 -55 -55 -57 -60 -65 -71 -75 -79 -79 -76 -72 -70 -69 -70 -70 -70 -71 -71 -71 -70 -69 -69 -72 -76 -78 -78 -77 -75 -72 -71 -71 -71 -72 -73 -73 -73 -74 -75 -73 -70 -65 -63 -61 -57 -50 -43 -38 -33 -26 -18 -10 -5 -2 -2 -3 -7 -12 -17 -22 -22 -19 -17 -15 -15 -16 -16 -17 -20 -22 -25 -27 -29 -31 -33 -34 -36 -38 -37 -34 -30 -27 -24 -17 -17 -17 -18 -18 -18 -17 -14 -11 -8 -6 -5 -4 -4 -5 -6 -6 -5 -4 -4 -5 -7 -8 -8 -7 -7 -6 -7 -8 -8 -6 -5 -5 -5 -6 -6 -6 -5 -4 -4 -5 -6 -5 -4 -2 -1 -2 -5 -6 -6 -5 -4 -2 -2 -3 -5 -6 -7 -7 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -8 -10 -11 -13 -13 -13 -12 -12 -11 -9 -8 -6 -7 -8 -9 -10 -11 -11 -12 -12 -12 -13 -13 -13 -13 -12 -11 -11 -10 -9 -8 -7 -7 -6 -5 -4 -4 -4 -4 -4 -3 -3 -2 -2 -2 -2 -2 -1 -0 1 2 2 2 3 3 3 3 3 3 3 3 3 2 2 1 0 -1 -1 -0 1 4 7 8 8 8 8 10 13 15 15 14 12 11 11 12 14 15 15 14 13 12 10 9 6 4 1 -2 -5 -7 -9 -11 -12 -12 -12 -12 -12 -11 -9 -8 -7 -7 -7 -7 -7 -6 -6 -6 -6 -7 -8 -9 -10 -10 -9 -8 -6 -6 -6 -6 -6 -5 -5 -5 -5 -4 -3 -2 -0 1 2 3 3 4 4 4 5 6 7 8 8 9 10 11 11 11 11 11 11 11 12 13 13 13 15 16 19 21 24 26 27 27 27 28 28 28 28 28 28 29 29 29 28 28 28 27 26 26 25 24 24 24 25 27 29 32 34 35 37 38 39 40 41 41 41 41 41 41 41 41 39 36 31 27 23 23 23 25 26 25 19 12 10 11 17 24 28 29 29 27 25 24 25 22 16 13 18 29 36 39 39 39 40 41 43 44 44 45 -31 -32 -33 -34 -35 -36 -38 -41 -42 -45 -50 -56 -60 -59 -60 -62 -67 -73 -78 -81 -82 -78 -73 -71 -71 -71 -72 -72 -72 -72 -71 -70 -69 -69 -72 -76 -78 -79 -77 -75 -72 -71 -72 -72 -73 -73 -73 -73 -73 -74 -72 -69 -66 -64 -61 -54 -45 -36 -30 -25 -17 -11 -6 -4 -4 -5 -7 -10 -15 -20 -24 -23 -20 -18 -18 -18 -17 -17 -18 -20 -23 -26 -28 -29 -30 -31 -33 -34 -37 -37 -34 -30 -26 -24 -17 -17 -17 -18 -18 -18 -16 -14 -12 -10 -8 -7 -6 -7 -7 -7 -5 -2 -2 -4 -6 -8 -9 -7 -6 -6 -7 -8 -8 -7 -6 -5 -5 -6 -6 -5 -5 -4 -5 -5 -6 -6 -4 -3 -2 -3 -5 -6 -6 -5 -3 -3 -4 -5 -6 -7 -7 -6 -5 -5 -6 -7 -7 -8 -8 -9 -9 -8 -8 -8 -8 -10 -11 -12 -13 -12 -11 -10 -10 -10 -9 -7 -7 -8 -9 -11 -12 -13 -14 -13 -13 -12 -12 -11 -11 -11 -10 -9 -8 -7 -6 -5 -4 -4 -4 -3 -2 -1 -2 -2 -1 -1 -0 0 1 1 1 1 2 3 3 4 4 4 4 4 4 5 5 4 4 4 3 3 2 2 1 0 -0 -0 1 3 4 5 5 6 7 9 11 12 10 8 7 7 9 13 16 17 16 15 14 13 12 11 10 8 5 2 -1 -4 -7 -9 -11 -13 -14 -14 -14 -13 -12 -10 -9 -8 -7 -7 -7 -7 -7 -6 -6 -6 -7 -8 -9 -9 -9 -8 -7 -6 -6 -5 -4 -4 -4 -4 -3 -3 -2 -1 1 2 3 5 5 6 6 6 5 6 6 6 6 7 8 10 11 11 10 9 9 10 11 11 11 12 12 14 16 18 21 24 26 27 27 27 27 26 26 27 28 29 30 29 28 27 26 26 25 25 24 22 21 21 23 24 26 28 30 32 34 37 39 40 41 41 42 42 42 43 44 45 44 41 36 31 28 27 26 26 27 27 26 25 22 20 19 20 22 26 30 32 30 26 23 20 19 19 23 33 38 39 38 37 37 38 40 42 44 45 -34 -34 -34 -35 -37 -39 -41 -46 -49 -51 -52 -55 -61 -65 -65 -66 -69 -74 -79 -82 -83 -80 -75 -71 -71 -71 -71 -71 -71 -72 -71 -70 -69 -69 -72 -76 -79 -79 -78 -75 -73 -72 -73 -73 -73 -73 -72 -72 -72 -72 -71 -69 -67 -65 -59 -49 -38 -28 -22 -16 -10 -6 -5 -7 -9 -9 -10 -13 -17 -21 -23 -22 -21 -21 -21 -21 -20 -19 -19 -21 -23 -26 -28 -30 -30 -30 -31 -33 -35 -36 -34 -30 -25 -23 -17 -16 -17 -17 -17 -17 -15 -13 -12 -11 -10 -9 -10 -10 -9 -6 -3 -2 -3 -6 -9 -9 -7 -5 -5 -6 -8 -8 -8 -6 -6 -6 -6 -5 -5 -4 -4 -4 -5 -6 -6 -5 -4 -3 -3 -4 -5 -5 -3 -3 -3 -4 -6 -7 -8 -7 -6 -5 -5 -5 -6 -7 -8 -9 -9 -9 -9 -9 -9 -9 -10 -11 -12 -12 -12 -10 -10 -10 -10 -10 -9 -8 -9 -10 -11 -12 -13 -14 -14 -13 -11 -10 -8 -8 -8 -7 -6 -4 -3 -2 -2 -2 -2 -2 -2 0 1 1 1 0 0 1 2 2 2 2 3 3 4 5 5 5 5 6 6 6 6 6 6 5 4 4 4 4 3 3 2 2 1 1 2 2 3 3 4 5 6 7 8 7 6 5 5 7 11 14 16 15 15 14 14 13 13 13 12 10 8 5 2 -1 -4 -6 -9 -11 -12 -13 -13 -13 -13 -12 -11 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -9 -9 -9 -9 -8 -8 -7 -6 -5 -4 -3 -2 -2 -2 -2 -1 -0 1 3 5 6 7 8 8 8 8 7 7 6 6 6 8 9 11 11 10 9 9 9 10 11 11 11 11 12 14 16 18 21 23 25 26 26 26 25 25 25 27 28 30 29 28 26 24 24 24 23 22 20 19 19 21 22 24 25 26 29 32 35 36 37 38 39 40 41 42 42 44 45 46 44 41 36 34 32 31 30 28 28 30 31 33 32 29 23 19 21 27 32 32 28 25 25 28 32 33 35 34 33 32 31 30 31 33 36 39 43 -38 -37 -37 -37 -39 -41 -45 -51 -56 -58 -57 -56 -61 -67 -69 -70 -71 -74 -80 -83 -84 -81 -76 -72 -71 -70 -70 -70 -70 -70 -70 -69 -68 -69 -73 -77 -79 -79 -78 -75 -73 -73 -74 -74 -73 -72 -71 -70 -71 -70 -70 -68 -67 -64 -55 -43 -30 -20 -14 -11 -7 -5 -6 -9 -13 -14 -15 -17 -19 -20 -21 -20 -21 -22 -23 -24 -23 -22 -22 -22 -24 -26 -28 -29 -29 -30 -30 -32 -34 -35 -33 -29 -24 -22 -17 -16 -16 -17 -16 -16 -14 -13 -13 -12 -12 -12 -13 -12 -9 -5 -3 -4 -7 -9 -9 -7 -5 -5 -6 -7 -8 -7 -6 -5 -5 -5 -5 -4 -4 -4 -4 -4 -5 -5 -4 -4 -3 -3 -4 -4 -3 -2 -1 -2 -3 -6 -7 -8 -7 -6 -5 -5 -5 -6 -7 -7 -8 -9 -9 -9 -9 -8 -9 -9 -11 -12 -12 -11 -10 -10 -10 -11 -11 -11 -10 -10 -10 -11 -12 -13 -13 -12 -11 -9 -7 -5 -4 -3 -3 -2 -0 1 3 2 2 0 -1 -1 1 3 4 3 2 2 2 2 3 3 3 3 4 5 5 6 6 6 6 6 7 7 8 8 7 6 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 4 5 5 5 5 6 7 9 12 14 14 13 12 11 11 11 12 12 12 12 10 7 5 3 0 -2 -4 -6 -8 -10 -11 -12 -12 -12 -11 -11 -10 -10 -11 -10 -10 -10 -11 -11 -12 -12 -12 -12 -11 -10 -10 -9 -9 -8 -6 -4 -2 -1 -0 -0 -0 0 1 3 5 6 8 9 9 10 10 10 9 9 8 7 7 8 9 10 10 9 9 8 9 10 10 11 11 11 11 12 14 16 18 20 22 23 24 24 24 24 24 25 27 28 28 27 25 24 23 23 22 21 19 18 18 19 20 22 22 24 27 30 32 33 33 34 35 36 37 38 40 41 43 45 45 45 42 40 38 36 33 30 29 28 29 30 32 34 32 27 23 23 27 28 27 28 32 35 35 33 32 31 28 24 22 21 22 24 28 32 36 -42 -41 -40 -40 -41 -43 -48 -55 -61 -64 -62 -60 -62 -68 -71 -72 -73 -75 -79 -83 -84 -81 -78 -74 -72 -71 -70 -69 -69 -69 -68 -66 -66 -69 -73 -77 -78 -79 -78 -76 -74 -74 -74 -74 -73 -71 -70 -69 -69 -69 -68 -67 -66 -61 -50 -35 -22 -14 -10 -9 -8 -8 -9 -12 -15 -17 -18 -19 -19 -19 -18 -18 -20 -22 -24 -25 -25 -24 -24 -23 -24 -26 -28 -29 -29 -29 -30 -31 -33 -34 -33 -29 -24 -20 -16 -15 -16 -16 -15 -15 -15 -14 -14 -14 -14 -15 -15 -12 -9 -6 -5 -7 -10 -10 -8 -5 -4 -5 -7 -7 -6 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -2 -1 -1 -1 -2 -4 -6 -6 -6 -6 -5 -5 -4 -5 -5 -6 -7 -8 -8 -7 -7 -7 -7 -8 -9 -11 -11 -11 -11 -11 -11 -12 -12 -12 -12 -11 -11 -11 -11 -11 -11 -9 -8 -6 -4 -2 -0 1 1 2 3 4 6 7 5 3 0 -1 -0 3 6 6 5 4 3 3 4 4 3 3 3 4 5 5 6 6 6 6 7 7 8 8 8 8 7 5 4 4 4 5 6 6 7 7 7 6 5 5 4 4 4 4 4 5 7 10 12 14 15 15 13 11 10 9 9 9 10 11 10 9 7 5 3 1 -0 -2 -3 -5 -7 -8 -10 -11 -11 -11 -10 -10 -10 -10 -11 -11 -11 -12 -14 -15 -16 -16 -16 -15 -14 -13 -12 -12 -11 -9 -7 -4 -1 0 0 0 1 2 4 6 7 8 9 9 9 10 10 11 10 10 9 9 8 8 9 10 10 10 10 9 9 10 10 11 11 11 12 12 13 15 17 18 20 21 22 22 22 22 22 23 25 26 26 26 25 24 23 22 22 21 19 18 17 18 19 20 21 23 25 28 29 30 29 30 31 32 33 34 35 37 39 42 45 47 47 46 43 39 35 32 30 29 28 29 31 34 34 33 30 25 23 23 25 29 34 37 34 31 30 30 30 28 23 17 15 16 20 24 28 -46 -46 -44 -44 -44 -46 -50 -58 -65 -69 -68 -64 -64 -68 -71 -74 -75 -77 -79 -82 -83 -81 -78 -76 -75 -74 -72 -70 -68 -67 -65 -63 -65 -69 -74 -77 -79 -79 -79 -78 -76 -75 -74 -73 -72 -70 -69 -68 -68 -67 -66 -65 -63 -56 -42 -28 -17 -11 -9 -9 -10 -11 -12 -13 -15 -18 -19 -19 -18 -17 -15 -15 -18 -21 -23 -25 -26 -25 -25 -24 -24 -25 -27 -27 -28 -29 -30 -31 -32 -33 -33 -31 -27 -23 -15 -14 -15 -15 -15 -15 -16 -16 -15 -16 -17 -17 -15 -12 -9 -8 -9 -11 -10 -8 -5 -4 -4 -5 -5 -4 -3 -2 -2 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -3 -3 -2 -2 -2 -2 -1 -1 -1 -2 -2 -4 -4 -5 -5 -5 -5 -4 -4 -4 -5 -5 -6 -6 -6 -6 -6 -6 -7 -8 -9 -10 -11 -11 -11 -12 -13 -14 -14 -13 -12 -12 -11 -11 -10 -9 -8 -6 -4 -2 0 2 4 4 4 5 5 7 8 9 6 3 1 0 2 6 8 8 6 5 4 5 5 5 4 4 4 5 5 6 6 6 6 7 8 8 9 9 9 8 7 6 5 4 4 5 6 8 9 9 9 9 8 7 6 5 4 4 5 8 11 14 16 17 16 14 12 11 10 9 9 9 9 9 8 6 4 2 0 -1 -2 -3 -3 -4 -6 -8 -9 -10 -11 -10 -9 -8 -9 -9 -10 -10 -11 -13 -16 -18 -19 -21 -21 -20 -18 -17 -16 -15 -13 -10 -7 -3 -1 -1 -1 1 3 5 8 9 10 10 10 9 9 10 10 10 10 10 10 9 9 9 9 10 11 11 11 10 10 10 10 11 11 12 12 12 13 14 16 17 19 20 20 21 21 20 20 21 22 23 24 25 24 24 23 23 22 21 20 18 17 17 18 19 20 22 24 26 27 27 26 27 28 29 30 30 31 32 35 39 43 47 48 47 45 42 38 36 33 31 31 31 33 34 34 32 29 26 23 22 23 26 31 33 32 31 31 31 30 29 26 24 20 17 16 19 22 -50 -50 -48 -47 -48 -50 -54 -62 -70 -74 -72 -68 -66 -67 -70 -73 -76 -78 -80 -82 -81 -79 -78 -77 -76 -75 -72 -69 -66 -63 -62 -61 -64 -69 -74 -77 -79 -80 -80 -79 -78 -76 -73 -72 -71 -69 -68 -67 -66 -65 -64 -62 -58 -50 -38 -27 -18 -13 -11 -11 -12 -13 -13 -14 -15 -17 -18 -18 -17 -15 -13 -14 -16 -20 -22 -25 -26 -26 -25 -25 -24 -24 -25 -26 -28 -29 -30 -30 -31 -32 -33 -32 -28 -23 -15 -14 -14 -14 -15 -15 -16 -16 -16 -17 -18 -17 -14 -11 -10 -10 -11 -11 -8 -5 -3 -2 -3 -2 -1 -0 -0 -0 -1 -1 -1 -1 -1 -1 -2 -2 -2 -3 -3 -2 -2 -2 -2 -2 -2 -1 -2 -2 -2 -2 -2 -3 -4 -4 -5 -4 -4 -4 -4 -4 -5 -5 -5 -4 -5 -6 -7 -8 -9 -9 -10 -10 -11 -12 -14 -15 -15 -15 -14 -13 -12 -12 -10 -8 -7 -5 -4 -2 1 3 5 6 6 6 6 7 8 10 9 6 3 2 3 6 10 10 9 7 6 6 6 6 5 5 5 5 5 6 6 6 6 7 8 9 9 10 10 10 10 9 8 7 6 6 6 7 8 10 11 11 11 11 10 9 7 6 6 9 11 14 16 17 17 16 14 13 13 13 12 10 9 8 7 5 4 2 1 -1 -2 -3 -4 -4 -4 -6 -8 -9 -10 -9 -8 -7 -7 -7 -8 -8 -8 -10 -13 -16 -19 -21 -23 -23 -23 -22 -21 -19 -17 -15 -11 -7 -5 -4 -3 -2 1 4 7 10 11 11 11 10 10 10 10 10 9 9 9 9 8 8 8 9 9 10 10 10 9 9 9 10 10 11 12 12 12 13 14 16 17 18 19 20 20 20 20 19 19 20 21 22 23 24 24 24 24 23 21 21 19 17 17 18 19 19 21 22 24 25 25 25 25 26 27 28 28 28 29 31 34 38 42 44 45 45 44 42 39 37 35 34 35 36 36 34 31 27 24 23 22 22 23 25 29 31 33 34 32 30 28 25 23 22 22 22 20 19 -53 -53 -52 -51 -52 -54 -59 -67 -75 -78 -76 -72 -68 -68 -69 -72 -75 -78 -80 -81 -80 -77 -76 -75 -76 -74 -72 -67 -63 -59 -59 -60 -64 -70 -75 -78 -78 -79 -79 -78 -77 -75 -73 -71 -70 -69 -68 -66 -65 -64 -62 -58 -53 -46 -38 -31 -23 -18 -15 -14 -14 -14 -14 -14 -15 -17 -18 -18 -16 -14 -13 -13 -16 -19 -22 -24 -26 -25 -25 -24 -24 -24 -25 -26 -29 -30 -30 -30 -30 -32 -32 -31 -27 -23 -14 -13 -14 -14 -15 -15 -15 -15 -16 -16 -17 -15 -13 -11 -11 -11 -10 -8 -5 -3 -2 -1 -0 1 2 2 2 2 2 2 2 2 2 2 1 1 0 -0 -0 -0 -1 -1 -2 -2 -2 -2 -3 -3 -2 -2 -2 -2 -3 -4 -4 -4 -3 -4 -4 -5 -5 -4 -4 -5 -6 -8 -9 -10 -10 -10 -10 -11 -12 -14 -16 -17 -16 -15 -14 -14 -13 -11 -8 -6 -5 -4 -3 -1 1 3 5 6 7 8 8 9 10 10 9 6 5 5 6 9 12 11 10 8 7 7 7 7 6 6 6 6 7 7 7 7 8 8 9 10 10 11 12 12 11 11 10 9 8 7 7 8 9 10 11 12 13 13 12 11 9 9 11 13 15 16 17 17 16 16 15 16 17 16 14 11 9 8 6 4 3 2 1 -1 -3 -4 -4 -4 -4 -5 -7 -7 -6 -5 -4 -5 -5 -5 -5 -5 -6 -8 -11 -14 -18 -21 -23 -24 -24 -24 -23 -22 -20 -16 -12 -9 -8 -7 -5 -2 1 4 7 9 10 10 11 12 12 12 12 11 9 8 8 8 8 8 8 8 8 8 8 8 7 8 8 9 10 10 11 11 11 12 13 14 16 18 19 19 20 20 20 19 19 19 20 21 22 23 24 25 25 24 23 22 20 19 18 18 18 19 20 21 22 23 23 23 24 25 26 27 27 26 26 27 29 32 35 37 40 43 46 46 43 40 38 37 39 39 37 34 30 26 24 22 21 20 21 23 26 32 35 36 33 29 26 24 22 20 21 25 24 20 -56 -56 -56 -55 -56 -58 -64 -72 -78 -81 -79 -74 -70 -69 -70 -71 -74 -77 -79 -80 -79 -76 -74 -72 -73 -72 -70 -66 -62 -58 -57 -60 -64 -70 -75 -77 -77 -77 -77 -76 -76 -75 -73 -72 -70 -69 -67 -66 -64 -62 -59 -54 -49 -43 -40 -34 -28 -21 -17 -15 -15 -15 -15 -15 -16 -17 -18 -17 -15 -13 -13 -14 -16 -19 -22 -24 -25 -24 -24 -24 -24 -24 -26 -28 -29 -29 -28 -28 -30 -31 -32 -30 -26 -22 -14 -13 -13 -14 -14 -14 -14 -14 -15 -15 -15 -14 -12 -11 -11 -10 -8 -5 -3 -2 -1 0 2 3 4 5 5 5 5 6 6 6 6 5 5 4 4 3 2 2 1 -0 -1 -2 -2 -3 -3 -3 -2 -2 -2 -2 -3 -3 -3 -3 -4 -5 -5 -5 -5 -4 -5 -7 -10 -12 -12 -12 -11 -10 -11 -13 -15 -17 -18 -17 -15 -15 -14 -14 -12 -9 -6 -5 -4 -4 -3 -2 0 2 4 6 8 8 9 10 10 10 8 7 7 7 9 12 12 12 10 9 9 9 8 8 8 7 7 7 8 8 9 9 9 9 10 10 11 12 13 13 13 13 12 11 10 9 8 8 9 10 11 12 13 13 13 12 12 14 15 16 15 15 16 16 16 17 18 20 19 17 14 12 9 7 6 5 4 2 1 -1 -3 -3 -4 -3 -3 -4 -3 -2 -1 -1 -1 -2 -2 -2 -2 -2 -3 -5 -8 -12 -15 -19 -21 -22 -23 -24 -24 -23 -21 -18 -15 -13 -11 -8 -4 -2 1 3 5 7 9 10 12 13 14 15 14 13 12 10 9 9 9 8 7 7 6 6 6 5 5 5 6 7 8 9 9 10 10 10 11 12 14 16 18 19 20 21 21 20 19 19 19 19 20 21 23 24 25 25 24 23 22 20 19 19 18 18 18 19 20 21 21 21 22 23 24 24 24 24 24 24 25 26 28 31 34 39 46 48 45 42 40 39 40 40 37 34 30 27 25 24 22 21 21 23 27 32 36 35 31 26 24 23 22 22 23 25 25 22 -59 -60 -60 -59 -60 -63 -70 -76 -79 -81 -79 -75 -72 -71 -71 -71 -72 -73 -76 -78 -78 -76 -73 -70 -69 -68 -67 -64 -62 -59 -58 -60 -65 -71 -75 -77 -76 -75 -74 -74 -74 -74 -74 -73 -71 -69 -67 -65 -63 -59 -55 -50 -46 -43 -41 -36 -29 -23 -18 -15 -15 -15 -16 -16 -17 -17 -17 -15 -14 -13 -13 -14 -17 -20 -23 -24 -23 -23 -23 -24 -25 -27 -29 -30 -29 -27 -26 -27 -29 -31 -31 -30 -26 -22 -14 -13 -13 -14 -14 -13 -13 -13 -13 -14 -13 -13 -12 -12 -11 -9 -6 -4 -3 -2 -0 1 3 5 6 7 8 8 9 9 9 10 10 9 9 8 7 6 5 4 2 1 0 -1 -2 -2 -2 -2 -2 -2 -2 -3 -3 -2 -2 -3 -4 -5 -5 -5 -5 -6 -8 -11 -13 -14 -14 -12 -11 -12 -13 -15 -16 -17 -16 -15 -14 -14 -14 -12 -9 -6 -4 -4 -5 -5 -4 -3 -1 1 3 5 7 8 9 10 10 9 8 8 8 9 11 12 12 12 11 11 11 11 10 9 8 8 8 9 9 10 10 10 10 10 10 10 11 12 13 14 14 14 13 12 11 10 9 8 9 10 11 13 14 14 14 14 15 16 16 16 14 14 16 17 18 20 22 22 20 18 15 12 10 8 7 5 5 3 2 -0 -2 -3 -3 -3 -2 -0 1 3 3 3 2 1 1 2 2 2 1 -2 -5 -8 -12 -15 -17 -19 -21 -22 -23 -23 -22 -20 -18 -15 -11 -6 -3 -2 -1 1 3 6 9 11 12 13 14 15 16 16 15 14 13 12 11 9 8 7 6 5 5 4 4 4 4 5 6 7 8 8 9 9 10 11 12 14 17 18 20 21 21 21 20 19 19 19 19 20 22 23 25 25 25 24 22 21 20 19 19 18 18 18 18 19 19 19 20 20 21 21 21 21 21 21 21 22 24 25 29 35 41 45 45 43 41 39 39 38 35 33 30 29 28 26 25 24 25 26 30 33 35 32 28 24 22 22 22 24 26 27 26 25 -62 -63 -64 -64 -65 -69 -74 -78 -80 -81 -80 -77 -75 -74 -73 -72 -72 -71 -72 -74 -74 -74 -72 -70 -67 -65 -63 -61 -60 -59 -60 -62 -66 -71 -75 -76 -76 -75 -74 -73 -73 -74 -74 -73 -71 -68 -66 -64 -61 -56 -52 -48 -45 -43 -40 -35 -28 -22 -18 -16 -16 -16 -16 -17 -17 -16 -15 -14 -13 -12 -13 -15 -18 -21 -23 -22 -21 -21 -23 -25 -27 -30 -31 -30 -27 -23 -22 -24 -28 -29 -30 -29 -27 -23 -15 -13 -13 -13 -13 -13 -13 -13 -13 -13 -12 -12 -12 -11 -9 -7 -5 -4 -3 -2 -0 2 4 5 7 10 11 12 12 12 12 13 13 13 13 12 11 9 8 6 5 3 2 1 0 -0 -1 -1 -2 -2 -2 -2 -2 -2 -2 -3 -4 -5 -4 -4 -5 -8 -11 -13 -14 -14 -13 -12 -12 -13 -14 -14 -14 -14 -12 -12 -12 -13 -12 -9 -6 -4 -4 -5 -6 -7 -5 -3 -2 -0 2 4 6 7 8 8 8 9 9 8 9 10 11 12 12 12 13 13 13 12 11 9 8 8 9 11 11 12 11 11 10 10 10 10 10 11 12 13 13 13 13 12 11 10 9 8 9 10 12 13 14 14 14 14 15 15 15 15 15 16 18 20 22 23 24 23 20 18 15 12 10 9 8 7 6 4 2 0 -2 -3 -3 -2 -0 2 4 5 5 5 4 4 5 5 5 5 3 1 -2 -5 -8 -11 -13 -15 -17 -19 -20 -21 -22 -21 -18 -14 -8 -5 -4 -3 -2 1 4 7 9 11 11 12 13 15 16 17 18 18 17 16 14 12 10 8 7 6 5 4 4 4 3 3 3 4 5 7 8 9 10 10 11 13 15 17 19 20 21 21 21 20 19 19 19 19 20 22 23 24 24 23 22 21 21 20 19 18 18 17 17 17 17 18 18 18 18 18 18 18 19 19 20 20 21 22 24 29 34 38 39 39 38 37 37 35 33 31 30 30 30 28 27 26 27 28 31 33 32 30 26 23 21 21 22 24 27 28 28 27 -65 -67 -68 -70 -73 -77 -80 -80 -80 -80 -80 -79 -77 -76 -75 -74 -73 -72 -71 -71 -71 -71 -70 -68 -66 -63 -60 -57 -57 -59 -61 -63 -67 -71 -75 -76 -76 -75 -74 -74 -74 -74 -74 -73 -70 -67 -64 -61 -58 -54 -50 -48 -46 -43 -39 -32 -25 -20 -17 -17 -17 -16 -16 -15 -14 -14 -13 -12 -12 -12 -14 -16 -19 -21 -21 -20 -19 -20 -23 -26 -29 -31 -31 -26 -21 -18 -18 -22 -26 -26 -27 -27 -27 -25 -18 -14 -13 -13 -13 -13 -13 -13 -12 -12 -11 -11 -11 -10 -8 -6 -4 -4 -3 -2 0 2 4 5 8 11 14 15 15 14 14 15 16 16 15 14 14 12 11 9 7 6 5 4 3 2 1 -0 -1 -2 -2 -2 -1 -2 -2 -3 -4 -3 -3 -4 -7 -10 -12 -13 -12 -11 -11 -11 -12 -12 -12 -11 -10 -10 -9 -10 -10 -10 -9 -7 -5 -4 -5 -7 -8 -7 -5 -4 -2 -1 0 2 4 5 5 6 7 8 8 8 8 9 11 12 13 13 14 15 14 12 10 9 9 10 12 13 13 13 12 11 11 11 10 10 10 11 11 12 12 13 12 12 11 10 9 9 10 12 13 14 14 14 12 12 13 13 14 15 17 19 22 23 24 24 23 22 19 16 14 11 10 9 8 8 7 5 3 0 -1 -2 -2 -1 1 3 5 6 6 5 6 7 7 8 7 6 4 2 0 -2 -4 -6 -9 -11 -13 -15 -17 -18 -19 -18 -15 -10 -7 -6 -5 -4 -1 3 6 7 8 9 10 10 11 13 15 17 19 20 20 19 17 14 12 11 9 8 6 5 5 5 4 3 2 3 3 5 7 9 10 11 12 13 14 16 18 19 20 21 21 20 20 19 19 19 20 21 22 22 22 21 20 20 19 20 20 19 18 17 16 15 15 16 16 17 16 16 17 17 18 18 18 19 19 20 21 24 27 30 31 31 31 32 32 31 30 29 28 29 30 29 27 25 25 26 28 29 30 28 26 23 22 21 22 23 26 28 29 28 -69 -71 -73 -75 -79 -83 -85 -84 -80 -79 -79 -80 -80 -78 -77 -76 -75 -74 -72 -71 -69 -67 -66 -65 -64 -62 -58 -55 -56 -58 -61 -64 -67 -71 -74 -75 -76 -75 -75 -74 -74 -74 -73 -72 -69 -65 -61 -58 -55 -52 -49 -47 -45 -42 -37 -29 -22 -18 -17 -17 -17 -15 -13 -12 -11 -12 -12 -12 -12 -13 -14 -17 -19 -19 -18 -17 -18 -20 -23 -26 -28 -28 -25 -20 -16 -15 -16 -20 -23 -22 -22 -23 -24 -26 -21 -15 -12 -13 -13 -13 -13 -13 -12 -11 -10 -9 -9 -8 -7 -5 -4 -3 -3 -2 0 2 3 5 8 12 15 16 15 15 15 16 17 17 16 16 16 15 13 11 10 8 7 6 5 4 3 1 0 -0 -0 -0 -1 -1 -2 -3 -2 -2 -3 -5 -7 -10 -11 -10 -9 -9 -9 -10 -10 -10 -9 -7 -7 -7 -8 -8 -8 -8 -6 -5 -4 -6 -7 -9 -8 -7 -5 -4 -2 -2 -1 -0 0 1 2 4 6 6 6 5 6 8 10 12 13 14 15 14 13 11 10 10 12 13 14 14 13 13 12 13 13 12 12 11 11 11 12 12 12 12 12 11 10 10 10 11 13 14 15 15 14 12 10 10 11 13 14 17 19 22 24 24 24 23 21 19 16 14 12 10 9 9 9 9 8 6 3 1 -0 -1 -1 0 2 4 5 5 5 6 7 8 9 9 8 7 6 4 3 2 -0 -2 -4 -6 -8 -10 -13 -14 -14 -13 -11 -8 -7 -7 -5 -2 1 3 3 3 4 6 7 8 9 11 13 16 19 21 21 20 19 17 15 14 11 9 8 7 7 6 5 4 3 3 3 4 6 8 10 12 13 13 14 15 16 18 19 20 20 20 20 20 20 20 20 20 20 21 21 20 19 18 17 18 19 20 19 18 16 14 14 14 15 15 15 15 16 16 16 16 17 17 17 18 19 21 22 23 23 23 22 22 23 23 22 21 21 24 26 27 25 23 22 23 25 27 28 28 26 24 23 22 23 24 26 28 29 28 -73 -76 -77 -79 -84 -87 -89 -87 -81 -77 -78 -80 -81 -80 -79 -79 -77 -75 -73 -71 -69 -66 -64 -63 -61 -58 -56 -55 -56 -58 -62 -64 -67 -71 -73 -75 -75 -75 -75 -74 -74 -74 -73 -71 -67 -63 -59 -56 -53 -49 -47 -45 -43 -41 -35 -28 -22 -18 -17 -17 -15 -13 -10 -9 -9 -10 -11 -12 -13 -13 -15 -17 -18 -17 -16 -16 -17 -19 -21 -22 -23 -22 -17 -14 -12 -12 -14 -18 -20 -19 -19 -19 -20 -22 -21 -14 -12 -13 -13 -13 -12 -12 -11 -10 -9 -8 -8 -7 -6 -4 -3 -3 -3 -2 -0 1 2 4 7 11 14 14 13 13 14 16 17 17 16 16 16 16 15 13 12 10 9 8 7 6 5 3 3 2 2 1 0 -1 -2 -2 -1 -1 -2 -5 -6 -7 -7 -6 -6 -6 -7 -8 -8 -7 -6 -5 -5 -6 -7 -7 -7 -6 -5 -5 -5 -7 -9 -9 -8 -7 -5 -3 -3 -4 -4 -4 -3 -2 1 3 4 3 3 4 5 8 11 13 14 14 14 13 11 10 11 13 14 15 14 13 13 13 14 15 14 14 13 13 13 13 14 14 14 13 13 12 12 12 13 15 16 17 16 14 11 9 8 10 12 14 16 19 22 23 23 22 21 19 17 16 14 13 11 10 9 10 10 9 8 6 4 2 2 1 2 2 2 3 4 5 6 7 8 9 9 9 9 9 8 7 6 5 3 2 0 -2 -4 -6 -8 -9 -9 -9 -8 -8 -8 -6 -4 -1 0 -1 -1 -0 2 4 5 6 8 10 12 15 18 20 21 21 20 19 18 16 13 11 10 9 9 8 7 6 5 4 4 5 6 8 10 12 13 14 14 15 15 17 18 19 20 20 20 20 20 20 20 20 20 20 20 20 18 17 16 16 18 19 19 17 15 13 13 13 13 14 14 14 14 14 14 14 14 15 15 16 17 18 20 21 20 20 18 16 16 15 13 10 11 15 20 23 23 21 21 22 24 26 28 28 27 25 24 24 26 28 29 30 30 29 -78 -80 -80 -83 -87 -91 -91 -89 -81 -76 -76 -79 -80 -80 -80 -81 -80 -77 -74 -71 -69 -67 -65 -63 -59 -54 -51 -53 -56 -59 -61 -64 -67 -70 -72 -74 -75 -75 -75 -74 -73 -72 -71 -68 -65 -61 -58 -55 -51 -47 -46 -45 -44 -41 -34 -28 -22 -19 -17 -16 -13 -10 -8 -7 -7 -9 -11 -12 -13 -14 -15 -16 -16 -16 -15 -15 -16 -17 -17 -18 -17 -15 -10 -10 -10 -10 -11 -13 -15 -15 -16 -17 -17 -19 -20 -14 -11 -12 -12 -12 -12 -11 -10 -9 -8 -8 -7 -6 -5 -4 -3 -3 -3 -2 -0 0 1 3 7 10 12 12 11 12 13 14 15 14 14 15 15 16 15 14 13 12 11 10 8 7 6 6 5 5 3 2 1 -0 -1 -0 -0 -1 -2 -3 -3 -3 -3 -3 -3 -4 -5 -6 -6 -5 -4 -4 -5 -6 -6 -6 -5 -5 -5 -5 -7 -8 -9 -9 -8 -6 -4 -4 -5 -6 -8 -8 -6 -3 -1 1 1 2 3 5 7 9 13 14 14 13 11 10 9 11 13 15 15 14 13 13 14 15 16 16 15 15 14 14 15 15 16 16 16 16 15 14 14 15 17 18 18 17 14 11 9 8 10 12 15 17 20 21 22 22 21 19 17 16 15 15 14 13 12 11 11 11 11 10 8 6 5 4 4 4 4 3 3 3 4 5 6 8 9 10 10 10 10 10 10 10 9 7 6 5 3 1 -1 -2 -4 -5 -6 -7 -8 -9 -7 -5 -3 -2 -3 -4 -4 -2 -0 2 3 5 7 10 12 15 17 19 20 20 20 19 19 17 15 13 12 12 11 10 9 8 7 7 6 6 7 8 9 11 12 13 14 14 14 15 17 18 19 20 20 20 20 20 20 20 20 20 20 19 18 17 16 16 16 17 17 16 14 13 12 12 12 13 13 13 13 12 12 12 12 12 12 13 14 15 17 20 22 23 21 17 15 13 12 11 12 14 17 20 23 23 24 25 27 28 30 30 28 27 26 27 29 31 32 32 32 31 -82 -82 -83 -86 -90 -94 -94 -89 -81 -75 -75 -78 -80 -81 -80 -82 -82 -80 -76 -72 -70 -69 -67 -63 -58 -52 -50 -51 -55 -58 -60 -63 -66 -69 -71 -73 -74 -74 -74 -73 -72 -70 -68 -65 -63 -60 -57 -53 -50 -47 -46 -45 -43 -39 -33 -27 -23 -20 -18 -15 -12 -9 -7 -6 -8 -10 -11 -13 -13 -14 -15 -16 -16 -15 -15 -14 -14 -14 -14 -14 -13 -10 -8 -7 -8 -7 -7 -9 -10 -11 -13 -14 -15 -17 -19 -15 -11 -10 -11 -11 -11 -11 -10 -9 -8 -8 -7 -6 -5 -4 -3 -3 -2 -1 -1 -0 1 3 7 9 10 10 9 10 11 12 12 11 11 12 14 14 14 14 13 13 12 11 10 9 8 8 7 6 4 3 2 1 1 1 1 -0 -0 0 1 2 2 1 -1 -2 -3 -4 -4 -4 -4 -5 -5 -6 -5 -5 -5 -5 -5 -6 -7 -9 -9 -9 -7 -5 -5 -6 -8 -10 -11 -10 -7 -4 -2 -1 1 3 5 7 8 10 14 14 13 10 9 8 10 13 15 15 13 11 12 14 16 18 18 17 15 14 14 15 16 17 18 18 18 18 17 17 17 18 19 19 18 15 12 10 10 11 14 17 19 21 22 22 21 19 17 16 15 14 14 14 14 14 13 13 13 12 11 10 8 7 6 7 7 6 5 4 3 3 4 6 8 9 10 11 11 11 11 11 11 11 10 9 8 7 5 3 1 -0 -2 -4 -6 -8 -9 -8 -6 -4 -3 -4 -5 -5 -4 -3 -1 0 2 4 6 9 13 16 17 18 19 19 19 19 18 17 16 15 14 14 13 12 11 10 9 9 8 8 8 8 9 10 11 12 13 14 14 14 15 17 18 20 21 21 20 20 20 19 20 20 20 20 19 17 16 15 15 15 15 14 13 12 11 10 10 11 11 11 11 11 11 10 10 9 10 11 12 13 15 18 23 27 27 24 22 22 24 27 27 23 20 20 24 25 27 29 30 30 31 30 29 29 29 31 32 32 32 31 31 32 -85 -82 -84 -89 -93 -95 -95 -89 -80 -75 -74 -77 -81 -82 -80 -81 -82 -82 -79 -75 -72 -69 -66 -62 -57 -51 -49 -50 -54 -58 -60 -62 -65 -68 -71 -72 -73 -73 -72 -71 -69 -67 -66 -64 -62 -59 -56 -53 -50 -48 -47 -45 -42 -37 -32 -28 -24 -22 -19 -16 -12 -9 -8 -8 -9 -11 -12 -13 -13 -14 -15 -16 -16 -15 -14 -13 -12 -11 -11 -11 -10 -8 -6 -6 -6 -5 -5 -6 -6 -8 -10 -12 -14 -15 -18 -15 -11 -8 -9 -10 -10 -10 -9 -8 -8 -7 -7 -6 -5 -4 -3 -3 -2 -1 -1 0 1 4 6 8 8 8 8 8 9 9 9 8 9 10 11 12 12 13 13 13 12 11 10 10 9 8 7 6 5 4 3 3 3 2 2 2 4 5 6 6 6 4 2 -0 -1 -2 -2 -3 -5 -6 -6 -6 -6 -5 -5 -5 -5 -6 -7 -8 -8 -8 -6 -5 -6 -8 -11 -13 -12 -10 -6 -4 -2 0 3 5 7 8 9 11 14 13 11 9 8 9 11 13 13 11 10 10 13 16 18 18 17 14 12 12 13 14 16 17 18 19 19 19 19 19 19 19 19 18 17 15 14 14 15 17 19 21 22 23 22 20 18 16 14 14 14 14 14 14 15 15 14 14 13 12 11 10 8 7 8 8 8 7 5 5 4 5 6 7 9 10 11 12 12 11 11 11 11 10 9 9 9 8 6 4 2 -0 -3 -5 -7 -8 -8 -6 -4 -3 -4 -4 -5 -5 -3 -2 -1 -0 1 3 6 9 13 16 18 19 19 19 19 18 17 16 16 16 16 16 15 14 13 12 11 11 10 9 8 8 8 9 11 12 13 14 14 14 15 16 17 19 20 21 21 21 20 20 19 20 20 20 20 18 17 16 15 15 14 13 12 11 10 9 8 9 9 9 9 9 9 9 8 8 8 9 10 11 13 17 21 25 28 30 31 34 38 41 37 29 23 22 23 24 25 26 27 28 28 28 29 30 31 32 32 31 30 30 30 32 -87 -82 -83 -89 -93 -95 -94 -89 -79 -74 -74 -76 -80 -81 -80 -81 -82 -82 -79 -77 -74 -71 -67 -62 -56 -51 -48 -49 -53 -57 -59 -61 -64 -68 -70 -71 -71 -71 -70 -68 -67 -65 -65 -62 -60 -57 -54 -52 -50 -49 -47 -44 -40 -36 -31 -28 -26 -24 -22 -19 -15 -11 -10 -10 -11 -12 -13 -13 -13 -14 -16 -17 -16 -15 -13 -11 -9 -8 -9 -9 -8 -7 -5 -4 -4 -4 -4 -4 -5 -6 -8 -10 -12 -13 -14 -14 -10 -7 -7 -9 -9 -9 -8 -8 -7 -7 -7 -6 -5 -4 -3 -2 -1 -1 0 1 3 5 6 7 7 7 7 7 7 7 6 6 6 8 8 9 10 11 12 12 12 11 10 9 9 8 7 6 5 4 4 4 4 4 4 5 7 8 9 9 8 5 3 1 0 -0 -2 -4 -5 -6 -7 -6 -6 -5 -5 -4 -5 -6 -7 -7 -7 -6 -5 -6 -8 -11 -13 -13 -11 -7 -4 -1 1 4 6 8 8 9 9 11 13 11 9 7 8 10 12 11 10 8 9 12 16 18 17 15 12 10 10 11 12 13 14 15 16 17 19 20 20 20 20 19 18 18 18 18 19 20 21 22 23 23 23 22 21 18 16 15 14 14 14 14 14 15 15 15 15 14 13 12 11 9 8 8 9 9 9 8 7 6 6 7 8 8 9 10 11 12 12 11 11 10 9 8 8 8 9 8 6 4 2 -1 -4 -6 -7 -7 -6 -4 -3 -3 -3 -3 -4 -3 -2 -2 -1 -0 1 3 6 10 13 16 18 19 19 19 19 17 17 16 16 16 17 17 17 16 15 14 13 13 12 11 10 10 9 10 11 12 13 14 15 15 15 16 17 18 19 20 20 21 21 20 20 20 20 20 20 19 18 17 16 15 14 13 12 10 9 8 8 7 7 7 7 7 8 8 7 7 7 8 8 10 12 15 19 23 27 31 35 39 42 41 35 28 23 22 22 21 21 21 21 21 22 23 25 27 29 31 31 30 30 30 30 31 -90 -84 -82 -88 -92 -94 -93 -89 -79 -74 -74 -76 -79 -80 -79 -80 -81 -81 -79 -77 -75 -73 -68 -63 -57 -51 -47 -49 -52 -56 -59 -60 -64 -67 -69 -69 -69 -68 -67 -66 -65 -65 -64 -61 -58 -55 -53 -52 -51 -50 -47 -44 -40 -35 -31 -29 -28 -27 -25 -22 -18 -15 -13 -13 -14 -14 -14 -14 -14 -15 -17 -17 -16 -14 -11 -8 -7 -7 -8 -8 -7 -5 -4 -3 -2 -2 -3 -3 -4 -5 -7 -9 -10 -10 -9 -11 -10 -6 -6 -8 -8 -8 -7 -7 -6 -6 -5 -5 -4 -3 -2 -2 -1 -0 1 3 4 5 6 6 6 7 7 6 5 5 4 4 5 6 6 7 8 9 10 10 10 10 9 8 8 7 6 5 5 4 4 4 4 4 5 7 8 9 10 10 8 5 3 1 1 -0 -2 -4 -6 -7 -7 -7 -6 -5 -4 -4 -4 -5 -5 -6 -5 -5 -5 -7 -10 -13 -13 -11 -7 -3 0 3 6 8 9 9 8 8 9 11 11 9 7 7 8 10 11 9 8 9 11 15 17 16 13 10 8 9 10 11 12 12 13 14 15 17 18 19 20 20 20 19 19 20 21 23 24 25 25 25 25 24 23 21 19 18 17 16 15 15 15 15 15 16 16 16 15 14 13 12 10 9 9 9 10 10 10 9 8 8 8 8 8 8 8 9 10 10 10 10 9 8 7 6 6 7 7 7 6 3 0 -2 -4 -5 -5 -5 -3 -2 -2 -2 -2 -2 -3 -2 -1 -0 -0 0 2 4 7 10 12 14 16 18 19 19 19 18 17 17 17 17 17 18 18 18 17 16 15 14 14 13 12 11 11 11 12 13 13 14 15 16 16 17 17 18 19 19 20 20 21 21 21 20 20 20 19 19 18 17 17 16 15 13 12 11 9 9 8 7 6 6 6 6 6 6 6 6 6 7 8 9 12 14 17 21 25 29 33 37 38 34 29 25 22 21 20 20 19 17 16 15 16 17 20 22 25 27 28 29 29 30 31 31 -95 -91 -86 -89 -91 -93 -92 -89 -79 -73 -72 -75 -77 -78 -78 -79 -80 -80 -78 -76 -75 -74 -70 -64 -58 -51 -47 -47 -51 -55 -58 -60 -63 -66 -67 -67 -66 -66 -65 -65 -65 -65 -63 -60 -57 -55 -54 -53 -52 -50 -47 -43 -39 -35 -32 -30 -30 -30 -28 -25 -21 -19 -17 -16 -16 -15 -15 -15 -16 -17 -18 -17 -15 -12 -10 -7 -6 -6 -6 -6 -5 -4 -2 -2 -1 -1 -1 -1 -3 -4 -5 -7 -8 -7 -5 -8 -9 -7 -5 -6 -7 -6 -5 -5 -5 -5 -4 -3 -2 -2 -2 -2 -1 1 2 4 5 5 6 6 7 7 7 5 4 4 4 4 5 5 5 6 6 7 8 8 8 8 8 7 6 6 5 4 4 3 3 2 3 3 5 6 7 8 8 8 6 3 2 1 0 -1 -3 -5 -6 -7 -7 -6 -6 -4 -3 -3 -3 -3 -4 -5 -5 -5 -6 -8 -11 -11 -9 -6 -3 1 5 8 9 10 9 8 7 7 8 10 9 7 7 7 9 11 10 9 9 11 14 16 15 12 9 7 7 9 11 12 13 13 13 14 16 17 18 20 20 20 20 21 21 22 24 25 26 27 27 27 26 25 23 21 19 18 18 17 17 16 16 17 17 17 16 15 14 13 12 11 10 9 9 10 11 11 11 10 9 9 8 8 8 8 8 8 9 9 9 9 8 6 5 4 4 5 6 6 5 2 -1 -3 -3 -3 -3 -2 -1 -1 -0 -1 -1 -2 -2 -1 -0 1 1 1 2 5 7 9 11 13 15 16 18 18 18 18 17 16 16 16 17 18 19 19 19 18 17 16 15 15 14 13 12 12 12 12 13 14 15 16 16 17 17 18 19 19 20 20 20 21 20 20 20 20 19 18 17 17 17 17 16 15 13 12 10 10 9 8 7 6 6 5 5 5 5 6 6 6 7 9 11 13 15 18 21 25 29 32 31 28 25 22 21 21 21 21 20 19 17 15 15 15 17 19 22 24 26 27 29 31 32 30 -98 -96 -91 -89 -90 -91 -91 -87 -79 -73 -71 -72 -74 -76 -76 -77 -79 -79 -77 -73 -73 -73 -71 -66 -59 -51 -46 -46 -50 -55 -58 -60 -63 -64 -65 -64 -64 -64 -64 -65 -65 -64 -62 -59 -57 -55 -55 -54 -52 -51 -48 -44 -39 -35 -32 -31 -32 -32 -30 -28 -24 -22 -20 -19 -18 -17 -17 -18 -19 -20 -19 -17 -15 -12 -10 -8 -7 -6 -5 -3 -2 -2 -1 -0 0 1 2 1 -1 -2 -3 -4 -5 -5 -4 -5 -7 -7 -5 -5 -6 -5 -4 -4 -4 -4 -2 -1 -0 -0 -1 -1 -1 1 3 5 6 6 6 6 7 8 7 5 4 4 4 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 4 3 2 1 1 0 1 2 3 4 4 5 5 4 3 1 0 -1 -2 -3 -5 -6 -6 -6 -6 -6 -5 -4 -2 -1 -1 -2 -4 -4 -4 -5 -6 -9 -8 -7 -4 -1 2 6 9 10 10 9 8 7 6 7 8 8 7 6 7 8 10 11 10 10 11 13 15 14 11 8 6 6 9 11 12 13 13 14 15 16 17 18 18 19 20 21 21 22 23 23 24 24 25 25 26 27 26 25 23 22 21 20 19 18 18 18 19 19 18 17 16 15 14 13 12 11 11 10 10 11 12 12 12 11 10 9 8 7 7 7 8 8 8 9 9 8 6 4 3 2 2 3 5 5 4 1 -1 -2 -2 -1 -0 0 1 1 1 0 -1 -2 -1 -0 1 1 1 2 3 5 7 9 10 11 13 15 16 17 18 17 16 16 15 15 16 17 19 20 20 20 19 18 17 16 15 14 14 13 12 12 12 13 14 15 16 17 17 18 19 19 20 21 21 21 21 20 20 20 19 19 18 17 17 18 17 17 16 14 13 12 12 11 10 9 8 7 6 5 5 5 6 7 8 9 10 12 13 15 17 21 24 26 26 25 24 22 22 23 24 24 24 22 20 18 17 18 19 22 25 25 25 25 27 32 31 29 -101 -99 -94 -90 -89 -89 -89 -86 -81 -75 -71 -70 -71 -73 -74 -76 -78 -78 -76 -73 -71 -71 -70 -66 -59 -51 -45 -44 -48 -53 -57 -59 -62 -63 -63 -63 -63 -63 -64 -64 -64 -62 -59 -58 -57 -56 -55 -54 -53 -52 -49 -44 -39 -35 -33 -33 -33 -33 -31 -29 -27 -24 -23 -21 -20 -19 -19 -20 -21 -21 -19 -17 -15 -13 -11 -9 -8 -6 -4 -2 -1 0 1 2 3 4 4 3 1 -0 -1 -2 -3 -5 -4 -3 -4 -5 -4 -4 -5 -4 -4 -3 -3 -3 -1 1 2 0 -1 -1 -0 1 4 6 7 7 6 6 7 8 7 6 5 5 5 5 5 5 4 4 4 4 4 4 4 5 5 5 5 4 3 2 1 -1 -2 -2 -1 0 1 1 1 1 1 1 -0 -1 -2 -3 -4 -5 -6 -6 -6 -5 -6 -5 -4 -2 -0 0 -1 -2 -3 -4 -4 -5 -6 -6 -4 -2 1 4 7 9 10 10 9 8 7 6 6 7 8 7 6 6 8 9 10 10 10 10 12 14 13 10 7 6 6 8 10 12 12 13 14 15 15 16 17 17 18 18 19 20 21 21 21 21 21 21 21 23 24 25 26 25 24 23 22 21 20 20 20 20 20 19 17 16 15 14 14 13 12 12 11 11 11 12 13 13 13 12 10 9 8 7 8 8 8 8 8 8 8 7 5 4 3 2 3 4 5 5 4 1 -0 -0 0 1 2 2 2 2 2 1 -1 -1 -0 1 2 2 2 3 4 5 7 8 9 10 12 13 15 16 17 16 16 15 15 15 15 17 18 20 21 21 21 20 19 17 16 16 15 14 13 12 12 12 12 13 15 16 17 18 18 19 20 21 21 21 21 21 21 20 20 19 18 18 18 19 20 20 20 19 18 17 16 16 15 14 12 10 8 6 6 6 7 8 9 9 10 10 10 11 13 16 19 22 23 22 22 22 22 23 25 26 26 24 22 21 21 22 23 26 27 24 21 19 22 29 30 26 -101 -99 -95 -91 -89 -87 -86 -84 -82 -79 -75 -72 -69 -69 -72 -75 -76 -77 -76 -74 -71 -69 -68 -65 -59 -51 -45 -44 -46 -51 -55 -58 -60 -62 -62 -62 -62 -62 -62 -62 -61 -60 -59 -58 -57 -56 -55 -55 -55 -53 -49 -45 -40 -37 -35 -35 -34 -33 -32 -31 -28 -27 -25 -23 -22 -21 -22 -22 -22 -21 -19 -17 -15 -13 -12 -10 -8 -6 -3 -1 0 1 3 4 5 6 5 3 1 0 -1 -2 -3 -5 -4 -1 -2 -4 -3 -3 -4 -4 -4 -4 -4 -2 0 2 2 -0 -1 -1 0 2 4 6 7 6 5 5 6 7 7 6 6 6 6 6 6 5 4 4 4 4 4 4 4 5 5 5 4 4 3 1 -0 -2 -3 -3 -2 -1 -1 -1 -2 -2 -2 -3 -3 -4 -4 -5 -6 -7 -7 -6 -5 -5 -5 -4 -2 0 1 1 -0 -2 -2 -2 -3 -4 -5 -3 0 3 5 8 9 10 9 8 7 6 5 5 6 7 6 6 5 6 8 9 9 9 9 10 12 12 10 7 5 6 8 10 11 11 12 12 13 14 15 15 16 16 16 17 17 18 19 19 19 19 19 19 20 21 23 24 25 26 25 24 23 22 21 21 21 20 19 17 16 15 15 14 14 14 13 13 12 12 12 13 14 14 14 13 11 9 8 9 10 10 10 9 9 9 8 7 6 6 5 5 6 7 7 6 4 2 1 1 2 2 3 3 4 4 3 1 -0 -0 1 2 3 3 3 4 5 6 7 7 8 9 11 12 14 15 16 16 16 15 15 15 15 16 18 20 21 22 21 21 20 19 18 17 16 15 14 13 13 12 13 13 14 15 16 17 18 19 20 21 22 22 22 22 21 21 20 20 19 18 18 18 18 19 20 21 22 22 22 21 20 19 16 13 10 8 6 6 8 8 9 9 9 8 8 8 10 12 15 18 19 19 19 19 20 21 23 24 24 23 22 22 22 23 25 27 26 23 18 15 19 25 27 24 -101 -99 -95 -91 -88 -86 -84 -81 -80 -81 -79 -74 -69 -66 -69 -72 -74 -75 -76 -77 -74 -69 -66 -63 -59 -52 -47 -44 -44 -48 -52 -56 -58 -60 -61 -60 -59 -59 -60 -60 -59 -59 -59 -58 -57 -57 -57 -57 -57 -53 -49 -45 -42 -39 -38 -37 -36 -35 -34 -32 -30 -29 -27 -26 -25 -24 -24 -23 -22 -21 -20 -18 -16 -14 -12 -10 -8 -6 -3 -1 1 2 4 5 6 6 5 3 1 -1 -2 -3 -4 -5 -4 -0 -0 -2 -3 -2 -3 -4 -5 -5 -4 -2 1 2 1 -0 -1 -0 1 2 4 6 6 5 4 4 5 6 7 7 6 6 6 6 6 6 5 5 5 5 5 5 5 4 4 5 5 4 3 2 -0 -2 -4 -4 -4 -3 -4 -4 -4 -5 -5 -5 -5 -5 -6 -7 -7 -7 -6 -5 -4 -4 -3 -2 1 2 2 1 0 0 0 0 -1 -2 -1 2 5 7 9 10 11 10 9 7 6 5 4 5 5 5 5 4 4 6 7 7 7 7 8 10 10 9 6 4 5 8 10 11 11 11 11 11 12 13 14 14 14 14 15 15 16 17 17 18 19 19 19 19 20 21 22 24 24 25 25 24 24 23 23 22 21 19 17 16 15 15 15 15 15 14 14 13 13 13 14 14 15 16 15 14 12 12 12 13 13 13 12 11 10 10 10 10 10 9 9 9 10 10 10 8 5 3 2 3 3 3 3 4 6 5 4 2 1 2 3 4 4 4 5 6 7 7 8 8 8 9 10 11 13 14 15 16 16 16 16 16 16 17 18 20 21 21 21 21 20 19 18 18 17 17 16 15 15 14 14 14 14 15 16 17 18 19 20 21 22 22 22 22 22 22 21 21 20 19 19 18 18 18 18 19 20 21 22 23 23 22 20 16 12 9 7 6 7 8 8 8 7 7 7 7 8 9 12 14 15 15 16 16 17 19 20 21 22 21 21 21 22 23 24 24 24 21 18 16 19 23 25 24 -101 -98 -94 -90 -88 -85 -82 -78 -77 -82 -82 -79 -73 -67 -64 -68 -71 -73 -76 -77 -77 -72 -68 -64 -60 -54 -48 -44 -43 -46 -50 -54 -56 -57 -56 -56 -56 -57 -58 -58 -58 -58 -58 -58 -58 -58 -58 -58 -56 -52 -48 -45 -43 -41 -40 -38 -37 -36 -35 -33 -32 -31 -30 -29 -28 -26 -25 -23 -22 -21 -20 -19 -16 -14 -11 -9 -8 -6 -3 -1 0 2 3 5 5 5 4 2 0 -2 -3 -5 -6 -6 -5 -0 1 -1 -3 -2 -2 -4 -5 -5 -4 -1 1 1 -0 -1 -0 0 1 2 4 5 5 4 3 3 3 5 6 6 6 6 6 7 7 7 7 7 7 7 7 6 5 5 4 5 6 6 5 3 0 -2 -4 -5 -5 -6 -6 -6 -6 -6 -6 -5 -5 -5 -6 -6 -6 -5 -4 -4 -3 -3 -1 1 3 3 3 2 2 3 3 2 1 1 4 7 9 10 11 12 11 10 8 6 4 3 3 4 4 3 2 2 3 4 5 5 4 5 7 8 7 5 4 5 7 10 11 11 10 10 10 11 12 12 13 13 13 13 14 14 15 15 16 17 18 19 19 20 21 22 23 23 24 24 24 24 24 24 23 21 19 17 16 16 16 16 16 15 15 14 14 14 13 14 14 15 16 17 17 16 16 17 17 18 17 15 13 11 11 11 12 14 14 14 14 13 13 12 10 8 5 4 4 3 3 3 4 6 7 6 5 3 3 4 5 5 6 6 7 8 9 9 9 9 9 9 10 11 12 14 15 16 17 17 17 18 18 19 19 20 21 21 20 20 19 18 17 17 17 17 17 17 16 16 16 16 16 16 16 17 18 19 20 21 22 22 22 22 22 22 21 21 21 20 20 19 19 18 18 18 19 19 20 21 22 22 21 18 14 10 6 5 5 5 5 5 6 6 6 7 8 8 10 11 12 12 12 14 15 17 18 19 19 19 20 20 20 21 22 21 20 18 17 16 17 20 21 23 -102 -99 -95 -91 -87 -84 -79 -76 -76 -83 -85 -83 -78 -70 -63 -64 -68 -72 -75 -77 -77 -73 -69 -66 -64 -59 -52 -47 -45 -45 -47 -49 -51 -52 -52 -52 -53 -54 -56 -57 -57 -58 -58 -58 -58 -59 -58 -57 -54 -51 -48 -45 -43 -42 -41 -40 -39 -37 -36 -34 -33 -33 -33 -32 -30 -28 -25 -23 -23 -22 -21 -19 -16 -13 -11 -9 -7 -5 -4 -2 -1 1 2 3 4 4 3 1 -1 -3 -5 -6 -7 -7 -6 -2 1 -0 -5 -4 -2 -3 -4 -4 -2 -0 0 -1 -1 -1 -1 0 1 2 3 4 4 4 2 2 2 3 5 5 5 5 6 7 8 9 9 10 10 10 9 8 6 5 5 7 7 7 6 4 2 -1 -3 -5 -6 -7 -8 -7 -6 -6 -6 -5 -5 -5 -5 -5 -5 -4 -4 -3 -2 -1 1 3 3 3 3 4 5 6 5 4 4 6 9 11 12 13 13 13 11 9 7 5 3 3 3 3 2 1 0 1 2 2 2 2 2 4 5 5 4 3 4 6 8 9 9 9 9 9 10 11 11 11 12 12 12 12 13 13 14 15 16 17 18 19 20 21 22 23 23 23 23 23 24 24 24 23 22 20 18 17 18 18 18 17 16 15 15 14 14 14 13 14 15 16 17 17 18 19 21 22 22 21 19 16 14 13 13 14 17 18 19 18 16 14 13 12 10 7 6 5 4 4 4 4 6 7 8 7 5 4 5 6 6 7 8 8 9 10 10 10 10 10 10 9 10 10 11 13 14 15 16 17 18 19 20 20 21 21 20 20 19 19 18 18 17 17 16 16 16 16 16 16 16 16 16 16 17 17 18 19 20 21 21 22 22 22 21 21 21 21 21 20 20 20 20 19 19 19 20 20 20 19 19 19 19 19 17 12 7 4 2 1 1 2 3 4 5 6 8 9 9 10 10 9 9 11 13 16 17 17 17 17 17 18 18 19 19 19 17 15 14 13 14 15 17 19 -101 -98 -95 -92 -88 -83 -78 -75 -76 -82 -84 -83 -79 -73 -65 -65 -69 -72 -75 -76 -75 -72 -70 -68 -67 -64 -59 -53 -49 -46 -45 -45 -46 -47 -47 -48 -50 -51 -53 -55 -57 -58 -58 -59 -58 -58 -57 -56 -53 -50 -47 -45 -43 -42 -40 -39 -39 -38 -37 -36 -35 -35 -35 -33 -31 -28 -25 -24 -24 -23 -21 -18 -14 -12 -10 -9 -7 -6 -4 -3 -2 -1 1 2 3 4 3 1 -1 -4 -6 -7 -8 -8 -8 -6 -2 -1 -5 -9 -4 -2 -2 -2 -1 -1 -1 -1 -2 -2 -1 -1 -0 1 2 3 4 3 2 1 1 2 3 4 4 4 5 7 9 11 12 12 13 12 11 9 8 8 8 9 10 10 8 6 4 1 -1 -4 -6 -7 -8 -7 -6 -6 -6 -5 -5 -4 -4 -4 -4 -3 -3 -2 -1 1 2 3 3 3 4 6 7 7 6 7 8 11 14 15 15 15 15 13 11 8 6 4 3 3 3 1 -0 -2 -2 -0 0 0 -0 -0 0 2 2 2 1 2 5 7 8 8 7 7 8 9 10 10 10 10 11 11 11 11 11 12 13 15 16 17 19 20 21 22 23 24 24 23 23 24 24 24 23 22 20 19 19 19 19 19 18 17 17 16 15 14 14 13 14 14 15 16 17 19 21 23 25 25 24 22 19 17 15 15 16 18 21 22 21 19 16 13 12 10 9 7 7 6 5 5 5 7 8 9 8 7 6 6 6 7 8 8 9 10 10 11 11 11 11 11 11 10 10 10 11 12 13 14 15 17 18 19 20 21 21 21 20 20 19 19 18 18 18 17 17 16 15 15 15 14 14 15 15 15 16 17 18 19 20 20 21 21 22 22 21 21 21 21 20 20 20 20 20 20 21 21 21 21 21 20 19 19 18 18 17 16 15 9 3 0 -0 -5 -3 -0 2 5 7 9 10 10 9 8 7 9 12 15 17 17 16 15 15 16 16 17 18 17 15 13 12 11 11 12 13 15 -101 -98 -94 -91 -88 -83 -77 -74 -75 -80 -82 -81 -79 -76 -71 -70 -73 -76 -77 -76 -75 -72 -70 -68 -67 -66 -63 -59 -54 -49 -46 -44 -43 -43 -44 -45 -46 -48 -51 -54 -56 -57 -57 -57 -57 -57 -56 -55 -52 -49 -46 -44 -42 -40 -39 -39 -39 -39 -38 -38 -38 -37 -36 -33 -30 -27 -26 -26 -25 -23 -19 -15 -12 -11 -10 -9 -8 -6 -5 -4 -3 -2 -0 2 3 4 3 1 -2 -5 -7 -8 -9 -10 -11 -11 -8 -4 -5 -12 -7 -2 1 1 -0 -1 -1 -2 -3 -3 -3 -2 -1 -0 2 3 4 3 1 0 0 1 2 3 3 3 5 7 10 12 13 14 14 13 12 11 11 12 13 13 13 13 11 9 6 4 1 -2 -4 -6 -6 -6 -5 -5 -5 -5 -4 -4 -4 -3 -3 -2 -1 -0 1 2 2 2 3 4 5 6 7 7 8 10 13 15 16 17 17 17 16 13 10 7 5 4 4 4 3 0 -2 -3 -2 -2 -2 -2 -2 -2 -1 -0 -1 -0 1 3 5 6 6 6 6 7 7 8 9 9 9 9 9 10 10 10 11 12 13 15 16 17 19 20 22 23 23 23 23 23 23 24 24 23 22 21 20 19 19 20 20 19 18 18 17 16 15 15 14 14 14 15 16 17 19 21 23 26 27 26 24 21 19 18 18 18 19 21 22 22 21 17 14 12 10 10 9 8 8 7 7 7 8 9 10 10 9 8 7 7 8 8 9 10 10 11 11 12 12 11 11 11 11 11 11 11 11 11 12 13 14 16 17 18 19 20 21 21 21 20 19 19 19 19 19 18 18 17 15 14 14 13 13 12 12 13 14 15 16 17 18 19 20 21 21 22 22 22 21 21 21 20 20 20 21 21 22 22 23 23 22 22 21 21 20 19 18 17 16 14 12 10 6 -4 -2 1 4 8 9 10 11 11 10 8 7 7 10 13 15 17 16 15 14 14 15 16 17 16 15 13 12 12 12 12 12 12 -101 -98 -94 -88 -85 -82 -77 -73 -73 -78 -80 -80 -79 -78 -76 -76 -79 -79 -78 -76 -74 -71 -69 -67 -66 -65 -64 -62 -58 -55 -51 -47 -44 -42 -42 -43 -44 -46 -49 -52 -54 -55 -55 -55 -55 -56 -55 -54 -51 -48 -46 -43 -41 -39 -39 -39 -39 -39 -41 -41 -41 -39 -36 -33 -30 -29 -29 -27 -24 -20 -16 -13 -11 -10 -10 -9 -9 -8 -7 -6 -5 -3 -1 1 3 3 3 0 -3 -5 -8 -10 -11 -12 -13 -14 -13 -9 -6 -12 -10 -5 0 2 1 0 -1 -2 -4 -5 -4 -3 -2 -0 1 3 3 3 1 1 0 1 2 2 3 3 5 7 10 12 13 14 14 13 14 14 16 17 17 17 17 16 14 11 9 6 4 1 -1 -3 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -2 -1 1 2 2 2 2 2 3 4 6 6 6 8 11 14 17 18 18 19 19 17 15 12 8 6 5 5 5 4 2 -0 -2 -2 -2 -2 -3 -4 -4 -3 -2 -2 -2 -1 1 3 5 5 5 5 6 6 7 7 8 8 8 9 9 9 10 10 11 13 14 15 16 17 19 20 21 22 22 22 22 22 23 23 22 22 21 21 20 20 19 19 19 19 18 18 18 17 16 15 15 15 16 16 18 19 21 24 26 27 26 25 22 20 20 19 20 20 21 21 22 21 19 16 13 12 11 11 11 10 9 9 9 10 11 13 13 12 10 9 8 9 9 10 10 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 14 16 17 18 19 20 20 20 20 20 20 19 20 20 19 19 18 16 15 14 13 12 12 11 11 11 12 12 13 15 16 18 19 20 21 21 21 21 21 20 20 20 21 21 22 22 23 24 24 25 25 24 24 23 22 21 20 19 17 16 14 13 11 10 9 10 13 13 16 17 17 16 13 10 7 7 9 11 14 15 15 14 15 16 16 16 15 14 14 15 16 15 13 12 12 -101 -99 -93 -84 -81 -81 -77 -73 -72 -76 -79 -79 -79 -80 -80 -80 -81 -80 -78 -76 -74 -69 -67 -65 -65 -64 -62 -62 -61 -60 -57 -53 -48 -45 -44 -43 -42 -43 -47 -50 -51 -52 -52 -53 -54 -55 -54 -52 -50 -48 -45 -43 -41 -41 -40 -39 -40 -41 -42 -43 -42 -39 -36 -34 -33 -33 -30 -26 -21 -17 -14 -12 -11 -10 -9 -10 -11 -11 -10 -8 -7 -5 -3 -1 0 1 -0 -2 -5 -7 -10 -12 -13 -14 -15 -16 -16 -13 -8 -9 -11 -8 -3 3 4 2 -0 -3 -5 -6 -4 -3 -2 -1 -0 1 2 2 1 1 1 2 3 3 4 4 6 7 9 10 12 12 13 14 16 18 20 21 21 21 21 20 17 14 12 9 7 5 3 1 -0 -1 -2 -3 -3 -3 -2 -2 -2 -1 0 2 3 3 3 3 3 4 4 5 5 6 7 10 14 17 19 19 20 19 18 16 13 10 7 6 5 5 5 5 3 1 -1 -1 -1 -2 -4 -4 -4 -4 -4 -3 -2 -0 1 3 3 4 4 5 6 6 6 6 7 7 8 9 9 10 11 12 13 14 15 16 16 17 18 19 19 19 19 19 20 20 20 21 21 21 21 20 20 19 18 18 18 18 19 19 18 18 17 16 16 17 18 19 20 22 24 26 26 26 24 22 20 20 20 20 20 20 20 20 19 19 17 16 14 14 14 14 13 12 11 11 12 14 15 15 15 13 12 11 10 10 11 11 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 12 12 13 13 15 16 17 18 19 19 20 20 20 20 20 20 20 20 19 19 17 16 15 14 13 12 11 11 11 10 10 11 11 13 14 16 17 18 19 19 19 19 19 19 20 20 20 21 22 23 24 25 26 27 27 27 27 26 25 24 23 22 21 20 19 18 17 16 15 16 19 21 23 23 22 21 18 15 11 8 7 9 12 13 15 16 18 17 16 15 15 16 17 16 14 12 12 12 -101 -99 -92 -80 -75 -77 -77 -73 -70 -74 -78 -80 -80 -81 -81 -81 -80 -79 -77 -74 -72 -68 -65 -64 -63 -62 -61 -61 -61 -61 -61 -59 -54 -50 -48 -45 -42 -41 -42 -45 -47 -49 -50 -52 -52 -52 -51 -50 -49 -47 -45 -44 -43 -42 -41 -40 -41 -42 -43 -43 -41 -39 -37 -37 -36 -34 -29 -23 -19 -16 -14 -12 -10 -9 -10 -11 -13 -13 -12 -10 -9 -7 -5 -4 -3 -3 -4 -6 -8 -10 -12 -15 -16 -16 -16 -14 -14 -14 -10 -7 -10 -11 -7 1 4 2 -1 -4 -6 -6 -4 -3 -3 -3 -2 -1 0 1 1 1 2 3 4 4 4 5 6 7 8 9 10 11 13 15 18 20 22 23 24 25 25 24 21 18 15 12 10 9 7 5 3 2 1 -0 -1 -1 -1 -1 0 2 4 5 4 4 4 5 6 6 6 5 6 7 11 15 18 19 20 20 20 18 16 14 11 9 7 6 6 6 6 5 3 1 0 -0 -1 -3 -4 -5 -5 -5 -4 -3 -2 -1 1 2 2 3 4 5 5 5 6 6 7 8 9 9 10 11 13 14 15 15 16 16 16 17 17 17 17 16 16 16 17 17 18 18 19 19 20 19 19 18 18 18 18 19 19 19 19 18 17 17 18 18 19 21 22 24 25 26 25 23 21 19 19 19 19 19 18 18 17 18 18 18 18 17 17 17 16 16 15 14 14 15 16 17 18 18 17 15 14 13 13 12 12 12 13 13 13 14 13 13 14 14 14 14 14 14 14 14 14 14 13 13 13 13 14 15 16 17 18 18 19 20 20 20 21 21 21 20 20 19 18 16 15 14 13 13 12 12 11 11 11 10 10 11 11 12 13 14 15 15 16 16 16 17 17 18 18 19 21 22 24 25 27 28 29 30 30 30 29 28 27 26 26 25 25 25 24 23 22 22 23 25 27 28 28 27 25 22 20 17 15 13 12 13 16 18 19 19 18 17 17 17 16 12 8 6 7 8 -100 -99 -91 -78 -70 -73 -75 -73 -71 -73 -78 -80 -82 -82 -82 -80 -79 -77 -75 -72 -69 -66 -63 -62 -61 -60 -60 -60 -61 -62 -62 -62 -60 -57 -54 -50 -44 -40 -41 -42 -45 -47 -48 -49 -49 -49 -49 -49 -48 -47 -47 -46 -44 -43 -42 -41 -42 -42 -42 -41 -40 -39 -39 -39 -37 -33 -27 -22 -19 -17 -15 -12 -10 -10 -11 -13 -15 -15 -13 -12 -10 -9 -8 -7 -7 -7 -8 -9 -11 -13 -16 -18 -19 -18 -15 -12 -11 -12 -10 -8 -10 -13 -11 -4 1 0 -3 -5 -6 -5 -4 -4 -4 -5 -4 -3 -2 -1 -0 1 3 4 4 4 5 5 6 6 6 7 9 11 14 17 20 22 23 24 26 27 28 27 24 21 18 15 13 11 9 7 6 5 4 3 2 1 1 2 4 6 8 7 6 5 6 8 10 10 8 7 8 12 16 19 20 20 20 20 18 16 14 12 10 8 7 7 6 6 6 5 3 2 0 -0 -1 -3 -4 -5 -5 -5 -4 -4 -3 -2 -0 1 2 3 3 4 4 5 6 7 8 9 10 11 12 13 14 15 15 15 15 15 16 16 16 15 15 14 14 14 14 15 15 16 17 18 18 18 17 17 18 18 19 19 20 20 19 19 18 18 18 19 20 21 22 23 24 23 22 20 18 17 17 17 17 16 16 16 16 17 18 19 19 19 19 18 18 17 16 16 17 18 19 19 19 19 18 17 16 15 15 14 14 14 14 14 14 14 14 14 14 15 15 15 15 15 15 15 15 15 15 14 14 13 13 14 15 16 17 17 18 18 19 19 20 20 20 20 20 19 18 17 15 14 14 13 13 13 12 12 12 12 11 11 11 11 11 11 11 12 12 13 13 13 14 14 15 16 18 19 21 23 25 27 28 30 31 31 31 31 30 30 29 29 29 29 29 29 28 28 28 29 30 31 31 30 29 27 26 24 22 20 18 17 17 18 19 20 19 18 17 17 16 14 12 9 5 2 -100 -98 -91 -78 -68 -69 -72 -73 -72 -74 -79 -80 -81 -81 -81 -80 -78 -75 -72 -69 -67 -65 -62 -60 -60 -60 -60 -60 -61 -62 -62 -63 -63 -62 -60 -55 -48 -43 -41 -42 -43 -44 -45 -45 -46 -47 -48 -49 -49 -49 -48 -47 -45 -44 -43 -43 -43 -42 -41 -40 -39 -40 -41 -39 -36 -31 -26 -22 -20 -18 -16 -14 -12 -12 -13 -15 -16 -15 -14 -13 -12 -11 -10 -10 -9 -10 -11 -12 -14 -16 -19 -21 -21 -18 -13 -10 -9 -11 -11 -10 -11 -14 -14 -11 -6 -4 -5 -6 -6 -5 -5 -6 -6 -6 -6 -5 -4 -3 -1 1 3 4 4 4 4 5 5 5 6 7 9 12 15 18 21 23 24 25 26 27 28 27 26 24 21 18 16 13 11 9 9 8 7 6 5 4 4 5 7 10 11 9 7 7 8 12 15 13 10 10 13 18 21 21 21 20 20 18 16 14 12 11 10 9 8 7 6 6 6 5 3 1 -0 -1 -2 -3 -5 -5 -5 -4 -4 -4 -3 -2 -1 -0 1 2 2 3 3 5 6 7 9 10 11 12 13 13 14 14 14 14 14 15 15 15 15 14 14 13 13 13 13 13 14 15 15 16 16 16 17 17 18 19 20 21 21 21 20 19 19 19 19 20 20 20 21 22 22 21 19 18 17 16 15 15 15 15 15 16 17 18 19 20 21 20 20 19 18 18 18 19 20 20 21 21 20 19 19 18 18 17 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 16 16 16 15 14 14 14 14 15 16 16 16 17 17 18 18 19 20 20 19 19 18 16 15 14 14 13 13 13 13 13 13 13 13 13 12 12 11 11 10 10 10 10 10 10 10 11 11 12 14 15 17 19 21 23 25 27 28 30 31 31 32 31 31 31 31 31 31 30 30 30 30 30 31 31 32 32 31 30 29 28 27 25 23 21 19 18 18 19 19 18 17 16 16 16 16 14 10 8 -99 -97 -91 -80 -69 -66 -69 -73 -75 -76 -80 -82 -81 -80 -79 -78 -76 -73 -70 -67 -64 -63 -61 -60 -59 -59 -60 -60 -61 -62 -62 -63 -65 -65 -63 -58 -53 -46 -43 -42 -41 -41 -42 -42 -44 -46 -48 -49 -50 -50 -50 -48 -46 -44 -44 -43 -42 -40 -39 -38 -39 -40 -39 -37 -33 -29 -26 -23 -21 -19 -17 -15 -15 -15 -16 -16 -16 -15 -14 -13 -12 -12 -11 -11 -11 -12 -13 -15 -17 -19 -21 -22 -21 -16 -11 -11 -12 -13 -13 -14 -13 -14 -15 -16 -13 -9 -7 -6 -6 -6 -6 -7 -7 -7 -7 -6 -5 -3 -1 1 2 3 3 3 3 4 4 5 6 7 10 12 15 18 21 23 24 25 25 26 26 26 26 26 24 21 18 15 13 12 11 11 10 9 8 7 7 8 10 12 13 11 10 10 12 15 17 14 14 16 21 24 23 22 21 20 18 16 14 13 12 11 10 8 7 7 7 7 6 4 2 0 -1 -1 -3 -4 -5 -5 -4 -3 -3 -3 -3 -2 -1 -1 -0 0 1 1 3 4 6 7 9 10 11 11 12 12 12 12 12 12 13 13 14 14 14 13 13 13 13 13 13 13 13 14 14 15 15 16 17 18 19 20 21 22 22 22 21 21 20 21 20 20 20 19 19 19 19 19 18 17 16 15 14 14 15 15 16 17 18 19 20 21 21 20 19 19 19 19 20 21 21 22 21 21 20 20 20 19 19 19 18 18 18 17 17 17 16 16 16 15 15 15 15 15 15 15 15 15 16 16 17 17 17 16 15 15 14 15 15 15 15 15 16 16 17 17 18 19 19 18 17 16 15 14 14 13 13 13 13 13 14 14 14 13 13 13 12 11 11 10 10 9 9 8 8 7 7 8 9 11 13 15 18 20 22 23 25 27 28 30 30 31 31 31 31 31 31 31 31 30 30 30 30 30 31 32 32 32 31 30 29 28 27 26 23 21 20 19 18 17 16 15 16 17 17 16 13 12 -98 -96 -89 -79 -69 -65 -67 -71 -75 -78 -81 -82 -81 -79 -77 -75 -74 -71 -68 -64 -62 -61 -60 -59 -59 -59 -60 -60 -60 -61 -62 -63 -65 -65 -63 -60 -55 -49 -45 -42 -40 -38 -39 -41 -44 -47 -49 -50 -50 -50 -49 -47 -45 -44 -44 -43 -41 -38 -37 -37 -38 -38 -36 -33 -30 -28 -25 -22 -20 -18 -18 -18 -19 -19 -18 -16 -15 -13 -13 -12 -12 -12 -12 -12 -12 -13 -15 -18 -20 -22 -23 -24 -21 -14 -12 -14 -15 -16 -16 -16 -15 -15 -15 -17 -18 -13 -9 -7 -6 -6 -7 -7 -8 -7 -7 -6 -4 -2 -1 1 2 2 2 2 2 3 4 5 6 8 10 13 15 17 19 21 22 23 22 22 23 24 26 26 25 23 20 17 15 14 14 13 13 12 11 10 10 11 13 14 14 13 12 13 15 17 17 16 18 22 25 25 23 21 20 18 16 15 14 13 13 11 9 7 6 6 7 6 5 2 1 -0 -1 -2 -4 -5 -5 -3 -2 -2 -3 -3 -3 -2 -1 -1 -1 -1 -1 0 2 4 5 6 7 8 9 9 9 9 9 9 9 10 11 12 13 13 13 13 13 13 12 12 13 13 13 14 14 15 16 16 17 18 20 21 22 22 23 23 22 22 22 22 22 20 19 18 18 18 18 18 17 16 15 15 14 15 15 16 17 17 18 18 18 19 19 19 18 19 19 20 21 21 22 21 21 20 20 20 20 20 20 20 20 20 20 19 19 18 17 17 16 16 16 15 15 15 15 15 15 15 16 16 17 17 18 17 17 16 15 15 15 15 15 14 14 14 15 15 16 17 17 17 17 16 16 15 14 13 13 12 12 12 13 13 13 13 13 12 12 11 11 10 9 8 8 6 5 4 4 4 5 6 9 11 14 16 19 20 22 24 25 27 28 30 31 31 31 32 32 32 32 31 31 30 30 30 31 32 33 33 33 32 32 31 31 30 28 26 24 21 19 17 15 15 16 18 18 17 15 13 -97 -93 -87 -78 -68 -64 -65 -69 -74 -78 -80 -80 -79 -77 -76 -74 -71 -69 -66 -63 -61 -60 -60 -59 -59 -59 -60 -60 -59 -60 -61 -62 -63 -63 -61 -59 -55 -51 -47 -44 -41 -38 -38 -41 -45 -47 -48 -49 -49 -48 -46 -45 -44 -45 -45 -42 -38 -36 -35 -36 -36 -34 -31 -29 -27 -25 -22 -20 -18 -18 -19 -20 -21 -20 -19 -16 -14 -13 -12 -12 -12 -13 -13 -13 -14 -14 -16 -19 -23 -24 -26 -26 -23 -15 -16 -17 -18 -17 -17 -18 -19 -17 -16 -18 -20 -17 -12 -8 -6 -6 -7 -7 -7 -6 -6 -5 -3 -1 0 1 1 2 2 2 2 3 4 5 7 8 10 12 14 15 17 18 18 18 17 18 20 22 24 26 25 23 21 19 18 17 16 16 15 15 14 14 14 15 15 16 15 15 15 15 17 18 18 20 23 26 26 24 21 20 18 16 15 15 15 14 12 10 7 6 6 7 7 5 3 1 -0 -1 -2 -3 -4 -4 -3 -1 0 -1 -2 -2 -2 -2 -2 -2 -2 -2 -1 -0 1 3 4 5 6 6 6 7 7 7 7 7 8 9 10 11 11 12 12 12 12 12 12 12 13 13 13 14 14 15 16 17 18 19 19 20 21 22 22 22 23 23 24 23 22 20 19 17 17 17 17 17 16 16 15 15 15 16 17 17 17 16 16 16 16 16 17 17 18 18 19 19 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 20 20 19 18 17 17 16 16 16 15 15 15 15 15 16 16 17 17 18 18 18 17 16 16 15 14 14 13 13 13 13 13 14 15 16 16 16 16 15 15 14 13 12 12 11 11 11 11 12 12 11 11 10 10 9 8 8 7 6 5 3 2 2 1 2 3 5 7 10 13 16 18 20 21 23 24 26 28 30 32 33 34 34 34 34 33 32 31 31 31 31 33 34 35 35 34 34 34 33 33 32 29 27 24 21 19 17 17 18 19 20 19 18 16 -96 -91 -84 -76 -69 -63 -64 -68 -72 -77 -80 -79 -77 -76 -74 -72 -69 -67 -65 -63 -61 -59 -59 -59 -58 -58 -59 -59 -58 -58 -59 -60 -61 -60 -58 -56 -54 -51 -46 -45 -44 -42 -41 -42 -44 -46 -47 -46 -45 -43 -43 -44 -45 -46 -43 -39 -36 -36 -36 -35 -33 -31 -28 -26 -24 -21 -19 -18 -17 -18 -19 -21 -21 -20 -19 -18 -16 -15 -14 -13 -13 -14 -14 -15 -16 -17 -19 -22 -25 -25 -26 -27 -25 -18 -19 -19 -19 -18 -19 -22 -24 -20 -17 -17 -21 -22 -17 -10 -6 -6 -5 -5 -4 -3 -3 -2 -1 0 1 1 2 2 2 3 3 4 5 6 7 8 9 10 12 13 14 14 13 12 11 13 16 19 22 23 23 22 21 20 20 19 18 18 17 17 17 17 17 18 18 17 16 16 16 17 18 19 20 23 26 26 24 21 19 18 17 16 16 16 15 13 10 7 6 6 6 6 5 3 1 -0 -1 -2 -3 -4 -4 -1 1 2 1 -1 -2 -2 -2 -2 -3 -3 -3 -2 -2 -1 1 2 3 3 4 4 5 5 5 6 6 6 7 7 8 9 10 11 11 12 12 12 12 12 12 12 13 14 15 16 17 17 18 18 19 19 19 20 20 21 22 23 23 23 21 19 18 17 16 16 16 16 16 15 16 16 17 17 17 17 16 15 14 14 14 14 15 16 17 17 17 17 17 18 19 19 20 21 21 21 21 21 21 22 22 23 23 22 21 21 20 19 19 18 17 17 16 16 16 16 16 16 16 16 16 17 18 18 18 18 18 17 16 15 14 13 12 11 11 12 12 13 14 15 15 15 15 15 14 13 12 11 11 10 10 10 10 10 10 9 9 8 8 7 6 5 4 3 2 1 1 0 0 1 2 4 7 10 13 16 18 20 21 23 24 26 29 31 33 35 36 36 35 35 34 33 32 32 32 33 35 36 36 35 35 35 34 34 33 31 29 26 24 22 21 21 21 21 22 22 20 18 -94 -89 -81 -74 -69 -64 -64 -67 -71 -76 -79 -78 -76 -74 -72 -71 -69 -66 -64 -63 -61 -60 -59 -58 -58 -58 -58 -58 -57 -57 -57 -58 -58 -57 -55 -53 -52 -50 -46 -47 -49 -49 -45 -41 -41 -42 -44 -43 -41 -41 -43 -45 -45 -44 -40 -37 -37 -37 -36 -34 -31 -29 -27 -24 -22 -19 -18 -17 -18 -18 -19 -20 -20 -20 -20 -19 -19 -18 -18 -17 -16 -17 -18 -19 -19 -21 -23 -25 -25 -25 -25 -26 -24 -20 -21 -21 -20 -20 -22 -27 -28 -23 -18 -16 -18 -24 -21 -13 -7 -4 -3 -1 -0 0 0 0 1 1 1 1 2 2 3 3 4 5 6 6 6 6 7 8 8 9 9 8 6 5 6 9 12 15 17 19 20 20 20 20 20 20 19 19 19 19 20 20 20 20 19 18 18 17 18 18 19 20 23 26 26 23 20 18 17 16 16 16 17 16 14 10 8 6 5 6 6 5 4 2 0 -0 -1 -2 -3 -3 -0 2 3 2 -0 -2 -2 -1 -2 -3 -3 -3 -3 -2 -1 -0 1 1 2 2 3 3 4 4 5 5 6 6 6 7 7 8 9 10 11 11 11 11 11 11 11 12 12 13 14 15 16 17 17 17 17 17 17 18 18 19 20 21 21 20 19 17 16 15 15 15 15 15 15 16 16 17 18 18 18 17 15 14 13 13 13 14 15 16 16 15 14 14 15 16 17 18 19 20 20 20 21 21 22 22 23 23 23 23 22 21 21 20 20 19 19 18 17 17 17 17 16 16 16 16 16 17 17 18 18 19 18 18 17 15 14 12 11 10 10 10 11 12 13 13 13 14 14 14 14 13 13 12 11 10 9 9 9 9 9 8 8 7 6 6 5 4 3 3 2 1 1 0 0 0 1 2 4 7 10 13 16 18 20 21 23 25 27 29 31 34 35 36 36 36 35 34 33 33 33 34 35 36 36 36 35 35 34 34 33 32 30 28 26 25 25 25 25 24 24 23 22 20 -91 -86 -79 -73 -69 -65 -64 -66 -70 -75 -77 -76 -74 -73 -71 -70 -68 -66 -64 -62 -61 -60 -59 -57 -57 -58 -57 -56 -54 -55 -56 -57 -56 -55 -54 -52 -50 -48 -47 -49 -52 -53 -49 -42 -39 -40 -41 -40 -39 -41 -43 -43 -43 -40 -37 -37 -37 -37 -34 -32 -29 -27 -25 -22 -20 -18 -18 -18 -18 -18 -18 -18 -19 -20 -20 -21 -22 -23 -23 -22 -22 -22 -22 -22 -23 -24 -26 -26 -25 -25 -26 -26 -25 -22 -24 -24 -23 -23 -27 -30 -30 -27 -22 -17 -15 -20 -19 -13 -7 -3 1 3 4 3 3 2 1 1 1 1 2 2 3 3 4 5 5 5 5 5 5 5 5 4 3 1 0 1 3 6 8 10 12 14 15 17 18 20 20 20 21 21 21 21 22 22 22 22 21 20 19 18 18 19 20 23 26 25 23 19 17 16 16 16 17 17 17 15 11 8 6 6 6 6 5 4 2 1 0 -0 -1 -1 -1 -0 2 3 2 0 -2 -2 -1 -1 -2 -3 -3 -3 -2 -2 -1 0 1 1 1 2 2 2 3 4 5 5 6 6 6 6 7 8 8 9 10 10 10 10 10 10 11 11 11 12 13 14 15 16 16 16 15 15 15 16 17 17 18 18 18 17 16 16 15 15 14 14 15 15 15 16 17 18 18 18 18 17 16 15 14 13 13 14 15 15 14 13 12 12 13 14 16 17 18 19 19 19 20 20 21 22 22 22 22 22 22 21 21 21 20 20 20 19 19 18 18 17 17 17 16 16 16 16 17 17 18 18 19 18 18 16 15 13 11 10 10 10 10 11 11 12 12 13 13 13 13 13 13 12 11 10 9 8 8 8 7 7 7 6 6 5 5 4 3 3 2 2 2 1 1 1 1 2 3 5 7 10 14 16 19 20 22 23 25 27 29 31 34 35 36 37 37 36 35 34 34 34 35 36 36 36 35 35 34 33 32 30 29 28 27 28 28 28 27 26 25 24 23 21 -87 -82 -76 -72 -68 -65 -63 -65 -69 -74 -75 -74 -73 -71 -70 -69 -68 -66 -64 -63 -62 -61 -58 -56 -55 -56 -56 -55 -53 -53 -54 -56 -56 -54 -53 -51 -49 -48 -47 -49 -52 -52 -49 -43 -39 -38 -38 -38 -39 -41 -41 -41 -39 -37 -35 -36 -36 -35 -32 -29 -27 -25 -23 -20 -18 -18 -18 -19 -19 -18 -17 -17 -18 -19 -21 -23 -26 -28 -28 -27 -26 -25 -25 -25 -25 -26 -27 -27 -26 -27 -28 -28 -27 -25 -27 -28 -27 -27 -30 -31 -32 -30 -27 -21 -14 -15 -13 -10 -7 -2 4 6 6 5 3 2 2 1 2 2 2 2 2 2 3 3 4 4 3 3 2 1 0 -1 -3 -4 -4 -2 1 3 4 5 6 8 11 14 16 18 20 21 22 22 23 23 24 24 24 24 22 21 20 19 19 20 23 26 26 23 19 16 16 16 16 17 18 17 16 12 8 6 6 6 7 6 4 2 1 1 1 0 -0 -0 0 2 2 1 -0 -2 -2 -1 -1 -1 -2 -3 -2 -2 -2 -1 -0 1 1 1 1 1 2 2 3 4 5 5 6 6 6 7 7 8 8 9 9 10 10 10 10 10 10 10 11 11 12 13 14 15 15 15 14 14 15 15 16 16 16 15 15 14 14 14 14 14 15 15 15 15 16 16 17 18 18 18 17 16 16 15 14 14 13 14 14 13 13 12 11 11 12 13 15 16 16 17 17 18 18 19 20 20 21 21 21 21 21 21 21 21 21 21 21 20 20 19 19 18 18 17 17 17 16 17 17 17 18 18 18 18 18 17 16 14 13 11 10 10 10 10 11 11 11 11 12 12 12 13 13 12 12 11 10 9 8 7 7 6 6 5 5 5 5 4 4 3 3 3 2 2 2 2 2 2 3 4 6 8 12 15 17 19 21 22 24 25 27 29 32 34 36 37 38 38 37 36 36 36 36 36 36 36 35 34 32 31 29 28 27 27 27 28 28 28 27 25 24 24 23 22 -82 -77 -73 -69 -67 -65 -64 -65 -69 -72 -74 -73 -71 -70 -70 -69 -68 -66 -64 -63 -62 -61 -59 -56 -55 -55 -56 -55 -53 -52 -53 -55 -55 -53 -52 -50 -48 -47 -47 -49 -50 -50 -48 -42 -37 -35 -35 -36 -38 -39 -38 -37 -36 -34 -34 -35 -34 -31 -28 -26 -24 -21 -19 -17 -17 -18 -19 -20 -19 -19 -18 -18 -19 -20 -23 -26 -29 -30 -29 -28 -26 -25 -25 -26 -27 -28 -28 -29 -29 -30 -30 -31 -30 -29 -30 -30 -30 -30 -31 -32 -32 -31 -29 -23 -15 -10 -7 -5 -5 -4 4 5 5 4 3 2 2 2 2 3 2 2 1 1 1 1 2 1 1 0 -1 -3 -4 -6 -7 -7 -6 -4 -2 -1 -0 1 2 5 8 11 14 17 20 22 23 24 24 25 25 26 26 26 24 22 21 20 21 23 26 27 24 20 17 16 16 17 17 18 18 17 13 9 7 6 7 7 7 4 2 1 1 1 1 0 0 1 1 2 1 -1 -2 -2 -1 -0 -1 -2 -2 -2 -2 -1 -1 -0 0 1 1 1 1 1 1 2 3 3 4 5 5 6 7 7 8 8 8 9 9 9 10 10 10 10 10 11 11 11 12 12 13 14 14 14 14 14 14 15 15 15 14 13 12 12 12 13 13 14 15 16 16 16 16 16 17 17 17 17 16 16 16 15 14 13 13 12 12 12 12 11 11 12 12 13 14 14 15 15 16 16 16 17 17 18 19 19 19 20 20 20 21 21 21 21 21 21 21 20 19 19 19 18 18 17 17 17 17 17 17 18 18 18 18 18 17 16 14 12 11 10 10 10 10 10 10 11 11 11 11 12 12 12 11 11 10 9 8 7 6 6 6 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 5 6 7 10 13 16 18 20 21 23 24 26 28 30 33 35 37 38 39 39 39 38 38 37 37 37 36 35 34 32 30 28 26 25 25 26 27 28 27 25 24 23 23 23 23 -78 -74 -69 -66 -64 -64 -65 -66 -68 -71 -72 -71 -70 -69 -68 -68 -66 -65 -63 -62 -62 -60 -59 -57 -56 -55 -55 -55 -53 -51 -51 -53 -53 -51 -50 -48 -47 -46 -46 -48 -48 -47 -45 -41 -35 -32 -32 -34 -35 -35 -34 -34 -33 -32 -32 -32 -30 -27 -25 -23 -20 -17 -15 -15 -16 -18 -19 -20 -20 -19 -19 -20 -21 -22 -25 -29 -31 -30 -28 -26 -25 -26 -27 -28 -29 -30 -31 -31 -32 -33 -33 -33 -33 -32 -32 -31 -31 -31 -31 -31 -30 -29 -27 -23 -16 -9 -3 -1 -4 -7 -0 2 3 3 3 3 3 4 3 3 2 1 -0 -1 -1 -1 -1 -1 -2 -4 -5 -7 -8 -9 -9 -9 -7 -5 -4 -3 -3 -2 -0 2 6 10 13 17 20 22 24 25 26 26 27 28 28 27 26 24 22 22 24 26 27 25 22 19 18 17 17 18 18 18 17 14 10 7 7 7 8 7 5 2 1 1 2 1 0 0 0 1 1 0 -1 -2 -2 -1 -0 -1 -2 -2 -2 -2 -2 -1 -1 -0 0 0 0 0 0 1 1 2 2 3 4 5 5 6 7 7 8 8 9 9 9 10 10 10 11 11 11 11 11 11 11 12 12 13 14 14 14 15 15 15 15 14 13 12 11 11 11 12 13 14 15 16 16 16 16 16 16 16 16 16 15 15 14 14 13 12 11 11 11 11 11 12 12 12 12 12 13 13 13 14 14 14 15 15 15 16 16 17 17 18 18 19 20 20 20 21 21 21 21 20 20 20 19 19 18 18 17 17 17 18 18 18 17 17 17 17 17 16 15 14 12 11 10 10 9 9 10 10 10 10 10 11 11 11 11 11 10 10 9 8 7 6 6 6 6 6 5 5 5 5 5 5 6 6 6 6 6 6 6 6 7 8 9 11 14 16 19 20 22 23 24 26 28 31 33 35 37 39 40 40 40 40 39 39 38 37 36 35 33 32 30 27 25 25 25 26 26 26 24 22 22 22 23 23 -75 -72 -68 -63 -60 -60 -65 -67 -69 -70 -71 -70 -69 -68 -67 -67 -66 -64 -63 -62 -61 -60 -58 -57 -56 -56 -55 -55 -53 -51 -50 -50 -50 -49 -47 -46 -45 -45 -45 -46 -47 -46 -43 -39 -34 -32 -31 -32 -32 -32 -32 -31 -30 -30 -30 -29 -27 -25 -24 -21 -18 -15 -14 -15 -16 -17 -18 -18 -19 -20 -21 -22 -23 -26 -29 -31 -32 -29 -26 -25 -27 -29 -31 -33 -33 -33 -33 -34 -34 -35 -35 -35 -34 -33 -32 -31 -31 -30 -29 -28 -27 -26 -24 -21 -18 -10 -3 1 -3 -9 -7 -3 0 2 3 4 4 4 4 3 1 -0 -2 -3 -4 -4 -4 -5 -6 -7 -9 -10 -11 -11 -11 -9 -8 -7 -6 -5 -4 -3 -1 1 5 9 13 17 20 23 24 25 26 27 29 30 30 29 27 25 25 26 28 28 27 24 21 19 18 18 18 18 18 18 15 11 8 8 8 9 8 5 2 1 2 2 1 0 -1 -1 -0 0 -0 -1 -2 -2 -1 -1 -1 -2 -3 -3 -3 -3 -2 -1 -1 -1 -1 -1 -1 -1 -1 -0 1 1 2 3 3 4 5 6 7 7 8 9 9 10 10 10 11 11 11 11 11 11 11 11 11 12 12 13 14 15 15 15 16 16 15 14 13 12 11 11 11 12 13 14 14 15 15 16 16 16 16 16 15 15 15 14 13 12 11 10 10 10 10 11 12 12 12 12 12 12 12 12 12 13 13 13 13 13 14 14 14 15 15 16 17 17 18 19 19 20 20 20 20 21 20 20 20 20 19 19 18 18 18 18 18 18 17 17 17 17 17 17 16 15 14 12 11 10 10 9 9 9 9 9 9 10 10 10 11 11 10 10 9 8 8 7 7 7 7 7 7 7 7 7 7 7 8 8 9 9 9 9 9 8 9 9 10 11 13 15 17 19 20 22 23 24 26 28 30 32 35 37 39 40 40 40 40 39 39 38 37 36 35 34 33 31 28 27 26 26 26 25 23 22 21 21 22 24 -72 -70 -67 -62 -58 -58 -64 -67 -69 -69 -70 -70 -69 -68 -67 -66 -65 -64 -62 -61 -61 -59 -57 -57 -56 -56 -55 -54 -52 -50 -48 -48 -48 -46 -45 -44 -43 -43 -43 -45 -46 -45 -41 -38 -35 -34 -32 -31 -30 -31 -29 -28 -27 -28 -28 -27 -26 -25 -24 -22 -19 -16 -15 -15 -15 -14 -15 -17 -19 -21 -23 -24 -26 -29 -32 -33 -32 -28 -27 -28 -31 -33 -35 -35 -34 -34 -35 -36 -36 -36 -36 -35 -34 -32 -31 -30 -28 -27 -26 -25 -24 -22 -21 -19 -18 -14 -6 -2 -3 -9 -13 -8 -3 2 4 4 4 3 3 1 -0 -2 -4 -5 -6 -6 -7 -7 -9 -10 -11 -12 -12 -12 -11 -10 -8 -7 -6 -5 -4 -3 -1 1 5 9 13 17 20 22 24 25 27 28 30 30 30 29 29 28 29 30 30 28 26 23 21 20 19 18 18 19 18 16 13 9 8 9 9 8 6 3 2 2 2 1 -1 -2 -2 -2 -1 -1 -1 -2 -2 -2 -1 -2 -3 -5 -5 -5 -4 -4 -3 -2 -2 -2 -2 -2 -2 -2 -2 -1 -0 1 1 2 3 3 4 5 6 7 8 9 10 10 11 11 11 11 11 11 11 11 11 11 11 12 13 14 15 16 16 17 17 17 16 15 14 13 12 12 12 12 13 13 14 14 15 15 15 15 15 15 15 14 14 13 12 11 10 10 10 10 10 11 11 12 12 12 11 11 11 11 12 12 12 12 12 13 13 13 13 14 14 15 15 16 16 17 18 18 19 19 20 20 21 21 21 21 20 20 19 19 19 18 18 18 18 17 17 17 17 17 17 16 15 14 12 11 10 9 9 9 9 9 9 9 9 10 10 10 10 10 10 9 9 8 8 8 8 8 8 8 8 9 9 10 11 11 12 12 12 11 11 11 11 11 12 13 14 15 16 18 19 20 22 23 24 26 28 30 32 34 36 38 39 39 39 39 39 38 37 37 37 37 36 34 32 30 28 27 26 25 24 22 22 21 22 23 -69 -67 -65 -62 -58 -57 -62 -65 -67 -68 -69 -69 -68 -68 -67 -66 -65 -63 -62 -61 -60 -59 -57 -57 -57 -56 -55 -53 -52 -50 -48 -46 -46 -45 -43 -42 -41 -40 -40 -42 -44 -42 -38 -36 -37 -37 -34 -30 -28 -26 -25 -26 -28 -29 -29 -28 -27 -27 -26 -24 -20 -19 -17 -16 -15 -15 -15 -17 -19 -22 -24 -27 -29 -32 -34 -34 -32 -29 -29 -31 -34 -35 -35 -35 -35 -35 -36 -37 -37 -36 -35 -33 -32 -30 -28 -27 -25 -23 -23 -23 -23 -21 -18 -17 -20 -18 -13 -8 -6 -8 -13 -13 -9 -4 1 2 2 2 1 0 -1 -3 -5 -6 -7 -8 -8 -9 -10 -11 -12 -12 -12 -11 -10 -9 -8 -6 -5 -4 -3 -2 -0 2 5 10 14 17 20 22 23 25 27 29 30 30 30 30 31 32 32 31 30 27 24 22 21 19 19 18 19 18 17 14 11 8 9 9 8 6 3 2 2 1 0 -1 -3 -3 -3 -2 -2 -2 -3 -3 -2 -2 -3 -5 -6 -7 -7 -6 -5 -5 -4 -4 -4 -4 -5 -4 -4 -4 -3 -2 -2 -1 0 1 2 3 3 4 5 6 7 8 9 10 10 10 10 10 10 10 10 10 10 10 11 12 13 14 16 17 18 19 19 18 17 16 15 14 14 14 14 13 13 13 13 14 14 14 14 14 14 14 14 14 13 12 11 11 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 13 13 13 14 14 14 15 15 16 17 17 18 19 20 21 21 22 22 22 21 21 20 19 19 18 18 18 18 17 17 17 17 17 16 16 15 13 12 11 10 9 9 8 8 8 8 9 9 10 10 10 11 11 10 10 9 9 8 8 8 9 9 9 10 11 11 12 13 13 14 13 13 13 12 12 12 13 14 15 16 17 18 19 20 21 22 23 25 26 28 29 31 33 35 37 38 38 38 38 37 37 37 38 38 38 37 35 32 30 28 27 25 24 23 22 22 23 24 -69 -66 -63 -60 -58 -57 -61 -64 -65 -66 -66 -67 -67 -66 -66 -66 -65 -64 -62 -62 -61 -60 -58 -57 -57 -56 -55 -53 -52 -50 -49 -47 -46 -44 -42 -41 -41 -40 -40 -41 -41 -39 -36 -36 -37 -35 -31 -27 -24 -24 -26 -29 -30 -31 -30 -30 -29 -28 -25 -22 -20 -21 -20 -19 -18 -18 -18 -19 -20 -23 -26 -30 -32 -34 -34 -33 -31 -30 -31 -33 -35 -35 -34 -34 -34 -35 -36 -36 -36 -34 -32 -30 -28 -26 -24 -22 -21 -21 -22 -24 -23 -19 -15 -14 -20 -22 -19 -13 -8 -7 -9 -15 -17 -13 -7 -2 -1 -0 -0 -1 -2 -3 -5 -6 -7 -7 -8 -8 -9 -10 -11 -11 -10 -10 -9 -8 -6 -5 -4 -3 -2 -0 1 4 7 10 14 17 19 21 22 25 27 28 28 28 29 31 32 33 32 30 28 26 23 21 20 19 19 19 18 17 14 11 9 8 8 7 5 3 1 1 1 0 -1 -3 -4 -4 -4 -3 -3 -4 -4 -3 -3 -4 -6 -8 -9 -8 -7 -7 -6 -6 -6 -6 -7 -7 -7 -7 -6 -6 -5 -4 -3 -2 -1 -0 1 1 2 3 4 5 6 7 8 8 9 9 9 9 8 8 8 8 8 9 9 11 12 14 16 18 19 20 20 20 19 18 17 16 16 16 15 15 14 14 14 14 14 14 14 14 14 14 13 13 13 12 12 11 11 11 10 10 10 11 11 11 10 10 10 10 10 10 11 11 11 12 12 12 12 12 13 13 13 13 13 14 14 14 15 15 16 17 18 19 20 21 22 22 22 22 22 21 20 19 18 18 18 18 18 17 17 17 17 16 16 15 14 13 12 11 10 9 9 8 8 8 8 9 9 10 10 11 11 11 11 10 10 9 9 9 9 9 9 10 11 11 12 13 14 14 14 14 13 13 13 13 14 15 16 17 18 19 19 20 21 22 23 25 26 27 28 30 32 33 35 36 37 37 37 37 37 38 38 39 39 37 35 33 31 29 28 26 25 24 24 24 24 25 -71 -67 -63 -60 -58 -58 -62 -64 -65 -64 -64 -65 -64 -65 -65 -65 -65 -64 -63 -62 -62 -61 -59 -58 -57 -56 -54 -54 -53 -52 -50 -48 -46 -44 -43 -42 -42 -41 -40 -41 -40 -38 -36 -36 -35 -33 -28 -24 -23 -26 -28 -30 -31 -32 -31 -30 -28 -25 -22 -20 -20 -21 -22 -22 -22 -21 -21 -22 -23 -25 -29 -33 -35 -35 -34 -32 -31 -32 -33 -35 -35 -34 -33 -34 -34 -34 -34 -33 -32 -30 -27 -25 -23 -20 -18 -17 -18 -20 -23 -25 -22 -16 -10 -11 -18 -22 -22 -16 -8 -6 -7 -14 -20 -21 -17 -10 -5 -2 -1 -1 -1 -2 -4 -5 -6 -6 -6 -6 -7 -8 -9 -9 -8 -8 -7 -6 -5 -4 -3 -2 -0 1 3 5 8 11 14 16 18 20 22 24 25 25 25 26 29 31 32 31 30 28 26 24 22 21 20 19 19 18 17 15 12 9 7 6 5 3 2 1 1 1 -0 -2 -3 -4 -5 -4 -4 -4 -4 -4 -4 -4 -5 -6 -8 -9 -9 -8 -7 -7 -7 -7 -8 -8 -8 -9 -9 -9 -8 -8 -7 -6 -5 -4 -3 -2 -2 -1 0 1 2 3 4 4 5 6 6 6 6 7 6 6 6 6 6 6 7 9 11 13 16 18 20 21 21 21 20 19 19 18 18 17 16 16 15 15 15 14 14 14 14 14 14 14 13 13 13 12 12 12 12 11 11 10 11 11 11 11 10 10 10 9 10 10 11 11 11 11 11 12 12 12 13 13 13 13 13 13 13 13 13 14 14 15 16 17 19 20 21 22 23 23 22 21 20 19 18 18 18 18 18 18 17 17 17 16 16 16 15 14 12 11 10 10 9 9 9 8 8 9 9 9 10 11 11 12 12 11 11 10 10 9 9 9 9 10 10 11 11 12 12 13 13 13 13 12 12 12 13 15 16 18 19 20 20 21 22 23 24 25 26 27 28 30 31 33 34 35 36 37 37 37 38 39 39 39 38 36 35 33 32 31 30 28 27 26 26 26 26 27 -73 -69 -65 -62 -60 -59 -62 -64 -64 -64 -64 -63 -64 -64 -64 -64 -64 -63 -63 -63 -63 -62 -61 -59 -59 -58 -57 -56 -55 -53 -51 -49 -46 -44 -44 -44 -43 -41 -40 -41 -40 -38 -37 -36 -34 -30 -26 -24 -25 -27 -29 -30 -31 -31 -30 -27 -24 -21 -20 -20 -22 -23 -23 -23 -23 -23 -24 -24 -26 -29 -32 -35 -35 -35 -34 -32 -32 -34 -35 -36 -35 -34 -34 -33 -32 -31 -30 -29 -27 -24 -22 -20 -18 -16 -15 -15 -17 -20 -24 -25 -20 -13 -8 -8 -13 -16 -18 -14 -8 -6 -5 -10 -17 -23 -24 -19 -11 -5 -2 -0 0 -0 -1 -2 -3 -3 -3 -3 -4 -5 -6 -6 -6 -6 -5 -5 -4 -3 -2 -1 1 3 5 7 9 12 14 16 17 19 20 21 22 22 23 26 29 30 29 28 27 25 23 22 21 20 19 19 18 17 15 12 9 6 5 4 2 1 0 -0 -0 -1 -2 -3 -4 -5 -5 -5 -5 -5 -5 -5 -4 -5 -6 -7 -9 -9 -8 -8 -7 -7 -8 -8 -9 -9 -10 -10 -10 -10 -10 -10 -9 -9 -8 -7 -6 -5 -4 -3 -3 -2 -1 0 1 2 2 3 3 4 4 4 4 4 3 3 3 4 5 6 8 10 13 16 18 20 20 20 20 20 19 19 18 18 17 17 16 16 16 15 15 14 14 14 14 14 13 13 13 13 13 12 12 11 10 10 10 11 11 10 10 10 9 9 9 10 10 11 11 11 11 11 11 12 12 12 13 13 13 13 12 12 12 12 13 13 14 15 17 18 20 21 22 22 22 21 20 19 18 18 18 18 18 18 18 17 17 17 17 16 16 15 13 12 11 11 10 10 10 9 9 9 9 9 10 10 11 12 12 12 12 11 11 10 9 9 9 9 9 10 10 10 11 11 12 12 12 12 12 12 12 13 15 17 19 20 21 21 21 22 23 25 26 28 29 31 32 33 33 34 35 36 37 38 39 39 39 38 37 36 34 33 33 32 32 31 30 29 29 29 29 29 -75 -69 -68 -67 -65 -62 -62 -62 -62 -63 -63 -62 -62 -63 -63 -63 -63 -62 -62 -62 -62 -63 -62 -61 -60 -60 -59 -58 -56 -53 -51 -49 -47 -46 -46 -45 -44 -43 -41 -42 -41 -40 -38 -36 -33 -29 -27 -27 -29 -29 -28 -28 -29 -28 -25 -22 -20 -19 -20 -22 -24 -25 -24 -24 -24 -25 -26 -27 -29 -32 -35 -38 -36 -36 -35 -35 -35 -36 -37 -37 -36 -35 -34 -32 -29 -27 -26 -23 -21 -19 -17 -16 -15 -13 -14 -16 -19 -21 -23 -24 -19 -12 -7 -6 -6 -8 -11 -10 -8 -8 -8 -8 -12 -18 -23 -22 -17 -10 -5 -1 1 2 2 1 0 -0 0 -0 -1 -2 -4 -4 -4 -4 -4 -4 -3 -2 -1 0 2 4 6 8 10 12 14 16 17 18 18 18 18 20 24 27 28 28 27 25 24 23 22 21 20 19 18 17 16 14 12 9 6 4 2 1 0 -0 -0 -1 -1 -3 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -7 -8 -8 -8 -8 -7 -8 -8 -9 -9 -10 -10 -11 -11 -11 -12 -12 -12 -12 -11 -10 -10 -9 -8 -7 -7 -6 -5 -4 -3 -2 -2 -1 -0 -0 0 1 1 0 0 0 0 1 1 2 3 5 7 10 13 15 17 18 18 18 19 19 18 18 17 17 17 16 16 16 15 15 14 14 13 13 13 13 13 13 13 13 12 11 11 10 10 10 10 10 10 9 9 9 9 9 10 10 10 11 11 11 11 11 11 11 11 12 12 12 12 12 11 11 11 11 11 12 14 15 16 18 19 20 20 20 20 20 19 18 18 18 18 18 18 18 18 17 17 17 17 17 16 15 14 13 12 12 11 11 10 10 9 9 9 10 10 11 12 12 12 12 12 11 11 10 10 9 9 9 9 9 9 9 10 10 11 11 11 11 11 11 12 13 15 17 18 19 20 20 20 21 23 24 27 29 31 32 33 33 33 34 35 36 38 38 39 38 38 36 35 35 34 34 34 34 34 33 33 32 32 31 31 -78 -72 -69 -67 -66 -63 -62 -62 -61 -60 -60 -61 -62 -62 -63 -62 -62 -62 -62 -62 -62 -63 -63 -62 -61 -60 -59 -57 -55 -52 -51 -49 -49 -48 -48 -47 -46 -45 -44 -44 -43 -42 -40 -37 -33 -30 -31 -32 -32 -30 -27 -26 -25 -23 -20 -18 -18 -19 -20 -22 -24 -25 -26 -26 -26 -26 -28 -29 -31 -34 -38 -41 -39 -38 -37 -37 -37 -37 -38 -39 -38 -37 -34 -29 -26 -23 -21 -19 -16 -15 -15 -14 -14 -14 -16 -18 -21 -22 -23 -23 -20 -13 -8 -6 -5 -3 -4 -7 -10 -14 -15 -13 -11 -10 -13 -16 -19 -17 -11 -4 1 3 4 4 3 2 2 2 1 -0 -2 -3 -3 -3 -3 -3 -2 -1 0 2 3 5 7 9 11 12 14 16 16 15 15 14 16 20 25 27 27 26 25 24 23 22 21 20 19 18 16 14 13 11 9 6 4 2 1 0 -0 -0 -1 -2 -3 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -7 -8 -8 -8 -8 -8 -8 -9 -10 -10 -11 -11 -12 -12 -13 -14 -14 -13 -13 -13 -12 -12 -12 -11 -11 -10 -9 -8 -7 -6 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -2 -1 -0 1 2 4 6 8 11 13 14 15 16 16 16 16 16 16 16 16 15 15 15 15 14 14 13 12 12 12 12 12 13 12 12 12 11 10 10 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 11 11 11 10 10 9 9 9 10 11 12 13 15 16 16 17 18 18 19 19 18 18 18 17 17 17 17 17 18 18 18 18 18 18 17 17 16 15 14 13 13 12 11 10 10 9 9 10 10 11 12 12 12 12 12 12 11 10 10 9 9 9 9 9 8 9 9 9 9 10 10 10 10 10 11 12 13 14 16 17 17 17 18 18 19 21 23 26 28 30 31 31 31 32 33 34 36 36 36 36 35 35 35 35 35 35 35 35 35 35 35 35 34 33 32 -79 -74 -69 -67 -65 -63 -61 -61 -60 -60 -59 -59 -60 -61 -62 -62 -62 -61 -62 -62 -62 -62 -62 -62 -61 -60 -58 -56 -53 -51 -50 -50 -50 -50 -50 -50 -49 -49 -48 -47 -45 -44 -41 -38 -35 -34 -35 -36 -34 -29 -26 -25 -23 -21 -18 -16 -16 -17 -18 -19 -21 -23 -24 -25 -25 -26 -28 -30 -33 -37 -41 -43 -42 -40 -38 -38 -38 -39 -41 -41 -39 -36 -31 -26 -23 -20 -18 -16 -14 -14 -14 -14 -15 -17 -19 -21 -22 -22 -22 -22 -19 -13 -8 -8 -7 -3 -4 -9 -16 -22 -22 -22 -18 -10 -4 -5 -16 -21 -18 -10 -3 1 5 6 5 4 4 4 3 2 -0 -2 -2 -2 -1 -1 -0 0 2 3 5 7 8 10 12 13 15 15 14 12 11 13 16 22 26 26 26 25 24 23 23 22 21 20 18 15 13 12 10 9 6 4 2 1 1 -0 -0 -1 -1 -2 -4 -5 -5 -5 -6 -6 -6 -6 -6 -6 -5 -6 -6 -7 -7 -8 -8 -8 -9 -9 -9 -10 -11 -11 -12 -13 -13 -14 -15 -15 -15 -15 -14 -14 -14 -14 -14 -14 -13 -13 -12 -11 -10 -9 -8 -8 -7 -7 -6 -7 -7 -7 -7 -7 -7 -6 -5 -4 -3 -2 -1 1 3 5 7 8 10 11 12 12 13 13 13 13 13 13 13 13 13 13 13 12 11 11 11 11 11 11 11 12 12 11 11 10 9 9 9 8 8 8 8 9 9 9 9 9 9 9 10 10 9 9 9 9 8 9 9 9 9 9 9 8 8 8 8 8 9 10 12 13 13 14 14 15 16 16 17 17 17 17 17 17 17 17 17 17 18 18 18 19 19 19 19 18 17 16 15 14 13 12 11 10 10 10 10 11 11 12 12 12 12 12 12 11 10 10 9 9 9 9 9 8 8 8 8 8 9 9 9 10 10 10 11 12 12 13 14 14 15 15 15 15 17 19 21 24 26 27 28 28 29 30 31 32 32 32 32 32 33 33 33 33 33 33 33 33 34 34 34 34 33 32 -80 -76 -71 -66 -63 -61 -60 -60 -60 -59 -59 -59 -59 -60 -61 -61 -61 -61 -61 -61 -61 -61 -61 -62 -61 -60 -57 -54 -53 -52 -51 -51 -52 -52 -52 -52 -53 -52 -52 -50 -47 -45 -43 -40 -38 -38 -39 -38 -34 -28 -26 -25 -24 -21 -17 -15 -14 -14 -15 -16 -17 -19 -20 -22 -23 -25 -27 -30 -35 -40 -45 -45 -43 -40 -39 -39 -40 -42 -43 -42 -39 -34 -28 -24 -21 -18 -16 -14 -13 -14 -14 -15 -16 -18 -20 -21 -22 -22 -21 -21 -19 -14 -11 -13 -13 -9 -10 -15 -22 -23 -20 -23 -24 -20 -11 -6 -14 -21 -21 -16 -12 -7 1 5 5 4 4 4 4 3 2 0 0 0 1 1 2 2 4 5 7 9 11 12 14 15 14 13 10 9 9 12 18 23 25 25 24 24 24 23 23 22 20 18 15 13 11 9 8 6 4 2 1 1 0 -0 -1 -1 -2 -3 -4 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -8 -8 -9 -9 -9 -10 -10 -11 -12 -13 -14 -15 -15 -16 -16 -16 -16 -15 -15 -16 -16 -16 -16 -16 -15 -14 -14 -13 -12 -12 -11 -10 -10 -9 -9 -10 -10 -10 -10 -10 -9 -8 -7 -6 -5 -4 -3 -2 -0 1 3 5 6 7 8 9 10 10 10 10 11 11 11 11 11 11 11 10 10 9 9 9 9 10 10 10 10 10 10 10 9 9 8 8 8 8 8 8 9 9 9 9 9 9 9 8 8 8 8 7 7 7 7 8 8 7 7 7 7 7 7 7 8 9 10 11 11 11 11 12 13 14 15 16 16 17 17 16 16 16 17 17 18 18 19 19 20 20 20 20 19 18 17 16 15 13 12 11 11 11 11 11 11 12 12 12 12 12 12 11 10 10 10 10 10 10 9 9 8 8 8 8 8 9 9 9 10 10 11 11 11 12 12 13 13 13 13 13 14 15 17 20 22 23 24 25 26 27 27 27 27 28 28 29 30 31 31 31 31 31 31 31 31 31 32 33 33 32 -80 -78 -74 -68 -62 -58 -58 -59 -60 -59 -59 -59 -59 -59 -60 -60 -60 -60 -60 -60 -60 -60 -60 -61 -61 -58 -56 -54 -54 -53 -53 -53 -53 -54 -55 -56 -56 -56 -54 -52 -48 -46 -44 -41 -39 -40 -40 -37 -33 -29 -27 -26 -24 -21 -17 -15 -15 -15 -15 -16 -17 -17 -19 -21 -23 -25 -27 -31 -38 -44 -49 -49 -44 -40 -39 -41 -43 -45 -44 -42 -37 -31 -25 -21 -19 -16 -15 -14 -14 -14 -14 -15 -17 -19 -21 -21 -21 -21 -21 -21 -19 -16 -15 -17 -18 -16 -18 -21 -24 -23 -20 -23 -28 -28 -23 -13 -10 -12 -13 -13 -18 -19 -9 -1 4 4 3 4 5 5 4 3 3 4 4 5 5 5 6 8 10 12 14 15 16 15 12 9 7 6 9 14 19 23 23 23 24 24 24 24 23 22 19 16 13 11 9 8 6 4 2 2 1 0 -0 -1 -1 -1 -2 -3 -4 -5 -5 -6 -6 -6 -6 -6 -7 -7 -7 -8 -8 -8 -9 -9 -10 -10 -11 -11 -12 -13 -14 -15 -16 -17 -17 -17 -17 -17 -16 -16 -16 -17 -17 -17 -17 -17 -16 -16 -15 -14 -14 -13 -13 -12 -12 -11 -12 -12 -13 -13 -12 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -1 0 2 3 4 5 6 7 7 7 8 8 8 8 8 9 9 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 9 9 8 8 8 7 7 7 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 7 7 8 8 8 9 9 10 11 12 13 14 15 16 16 16 16 16 17 17 18 18 18 19 19 20 20 20 20 20 19 18 16 15 14 13 12 12 11 11 12 12 12 12 12 12 12 11 10 10 10 10 10 11 10 10 9 8 8 8 8 9 9 10 10 11 11 11 12 12 12 12 12 12 12 12 12 13 15 16 18 19 21 22 24 25 25 25 25 25 25 26 27 28 29 30 30 30 30 30 30 30 30 31 32 32 -80 -77 -75 -70 -64 -58 -57 -58 -59 -59 -59 -59 -60 -60 -59 -59 -58 -59 -59 -59 -59 -59 -60 -60 -60 -57 -55 -55 -55 -54 -54 -54 -56 -57 -59 -59 -59 -57 -55 -53 -51 -47 -44 -42 -40 -40 -38 -35 -32 -30 -29 -27 -25 -21 -18 -18 -17 -17 -18 -19 -19 -20 -21 -22 -24 -26 -30 -35 -41 -48 -51 -49 -43 -40 -41 -43 -45 -46 -44 -39 -33 -27 -23 -20 -18 -16 -15 -15 -14 -14 -14 -15 -17 -19 -20 -20 -20 -21 -21 -20 -19 -18 -18 -18 -20 -20 -21 -23 -24 -22 -20 -24 -30 -33 -32 -25 -14 -8 -6 -8 -14 -19 -16 -10 -4 -0 1 3 5 7 7 7 7 8 8 9 8 8 9 11 13 15 18 18 17 13 9 6 5 6 11 16 20 20 20 22 24 25 24 23 22 21 18 14 11 9 8 6 4 3 2 1 1 -0 -1 -1 -1 -1 -2 -3 -4 -5 -6 -6 -6 -6 -7 -7 -7 -8 -8 -9 -9 -9 -10 -11 -11 -12 -13 -14 -15 -16 -17 -18 -18 -18 -18 -18 -18 -18 -17 -17 -18 -18 -18 -18 -18 -18 -17 -16 -16 -15 -15 -14 -14 -13 -13 -13 -13 -14 -14 -14 -13 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 1 2 3 4 5 5 5 6 6 6 6 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 9 9 9 9 8 8 8 8 8 8 8 7 7 6 6 6 6 6 7 7 6 6 6 6 5 5 5 5 5 5 5 5 5 6 6 6 7 7 8 9 10 12 13 14 15 16 16 16 17 17 18 18 18 18 18 18 19 20 20 21 21 20 19 18 17 16 15 14 14 13 13 13 13 13 13 12 12 12 11 11 10 10 11 11 11 11 11 10 9 9 9 9 9 10 10 10 11 11 12 12 12 12 12 12 12 12 12 12 12 13 14 15 17 18 20 21 23 24 25 25 24 24 24 24 25 26 28 29 29 30 29 29 29 30 30 31 32 -78 -75 -74 -71 -65 -58 -56 -57 -58 -58 -58 -58 -59 -60 -59 -58 -57 -57 -58 -58 -58 -58 -58 -59 -58 -56 -55 -56 -57 -55 -55 -55 -57 -60 -61 -60 -58 -56 -55 -54 -51 -48 -45 -42 -41 -40 -38 -35 -33 -32 -31 -28 -25 -22 -21 -20 -19 -19 -20 -21 -22 -23 -24 -25 -26 -30 -35 -40 -46 -50 -50 -46 -41 -41 -42 -44 -46 -45 -41 -36 -30 -26 -23 -20 -18 -16 -15 -15 -14 -13 -13 -14 -16 -17 -18 -19 -20 -21 -21 -20 -20 -19 -19 -19 -20 -21 -22 -23 -24 -24 -24 -28 -33 -37 -38 -34 -23 -12 -6 -7 -10 -12 -13 -14 -13 -10 -7 -3 1 5 8 9 10 11 11 12 12 11 12 14 16 18 20 19 15 11 8 6 6 9 13 17 18 18 19 21 24 25 24 23 21 19 16 12 10 8 7 5 3 2 2 1 -0 -1 -1 -1 -1 -1 -2 -3 -4 -5 -6 -6 -6 -6 -7 -7 -8 -9 -9 -9 -10 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -20 -20 -19 -19 -19 -18 -18 -18 -18 -19 -19 -19 -19 -18 -18 -17 -16 -16 -15 -15 -14 -14 -14 -14 -14 -14 -14 -14 -14 -13 -12 -11 -10 -9 -8 -7 -6 -6 -5 -5 -4 -2 -1 1 2 3 4 4 4 4 5 5 5 5 5 5 5 5 6 6 7 7 8 8 7 7 7 7 7 7 8 9 9 9 9 8 8 8 8 8 8 8 8 7 7 6 7 7 7 7 7 7 6 6 6 5 5 5 5 5 5 4 4 4 4 4 4 5 6 7 9 10 11 13 14 15 16 16 16 17 17 18 19 19 18 18 17 18 18 19 20 20 21 20 20 19 18 17 17 16 15 15 14 14 14 14 13 13 12 12 11 11 11 12 12 12 12 12 11 11 10 10 10 10 10 10 11 11 12 12 13 13 12 12 12 11 11 11 11 12 12 13 13 14 16 17 19 21 23 24 24 24 23 23 23 23 24 25 26 27 28 28 28 28 29 29 29 30 -76 -73 -72 -69 -64 -58 -55 -55 -56 -57 -57 -57 -57 -59 -59 -57 -56 -55 -55 -56 -56 -56 -57 -57 -57 -56 -55 -56 -57 -55 -55 -56 -58 -60 -60 -59 -57 -55 -54 -52 -51 -49 -46 -43 -41 -40 -38 -36 -34 -34 -32 -29 -26 -24 -23 -21 -20 -20 -20 -21 -23 -24 -25 -27 -30 -35 -41 -46 -49 -49 -47 -43 -41 -41 -43 -45 -45 -42 -37 -32 -28 -25 -23 -21 -18 -16 -15 -14 -13 -12 -12 -13 -14 -15 -17 -18 -20 -21 -21 -21 -20 -19 -19 -19 -20 -20 -22 -23 -25 -27 -29 -33 -37 -40 -41 -40 -30 -17 -9 -9 -10 -8 -8 -12 -16 -18 -17 -13 -9 -3 4 8 10 12 12 13 13 13 14 16 18 20 20 17 14 11 9 8 10 12 15 16 16 16 19 21 23 23 22 21 20 17 14 10 8 7 5 4 3 3 2 0 -1 -1 -1 -1 -1 -2 -3 -4 -5 -6 -6 -6 -7 -7 -7 -8 -9 -9 -10 -10 -11 -12 -13 -14 -15 -16 -18 -19 -20 -20 -21 -21 -21 -21 -20 -20 -19 -19 -19 -19 -19 -19 -20 -20 -20 -19 -19 -18 -17 -16 -16 -15 -15 -14 -14 -14 -14 -15 -15 -15 -14 -14 -13 -11 -10 -9 -8 -7 -7 -6 -6 -6 -5 -4 -2 -0 1 2 3 3 4 4 4 4 4 4 4 4 4 4 5 5 6 7 8 8 8 7 7 7 7 8 8 9 9 9 9 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 6 6 5 5 5 5 4 4 3 3 2 3 3 4 6 7 8 10 11 13 14 15 16 16 16 17 17 18 19 19 19 18 17 17 17 18 19 20 20 21 21 21 20 20 19 19 18 17 17 16 15 15 14 14 13 13 13 13 13 13 13 14 14 14 13 13 12 11 11 11 11 10 11 11 12 13 13 13 13 12 11 11 10 10 10 11 11 12 12 13 14 15 17 19 21 22 22 22 22 22 22 21 22 23 23 24 25 25 26 27 27 28 28 28 -75 -72 -69 -67 -63 -58 -55 -55 -56 -56 -56 -57 -57 -58 -57 -55 -53 -52 -53 -53 -54 -55 -55 -55 -55 -55 -55 -55 -55 -54 -54 -56 -58 -59 -58 -56 -55 -54 -52 -50 -50 -48 -46 -44 -42 -40 -38 -37 -36 -35 -32 -30 -28 -26 -24 -22 -20 -20 -20 -20 -22 -23 -24 -27 -33 -39 -47 -49 -48 -45 -42 -41 -41 -42 -43 -43 -41 -37 -33 -29 -26 -25 -23 -21 -18 -15 -13 -12 -12 -13 -13 -14 -14 -14 -16 -18 -19 -21 -21 -21 -20 -19 -19 -19 -19 -20 -22 -24 -27 -30 -33 -36 -40 -43 -44 -42 -33 -19 -11 -12 -13 -10 -9 -9 -12 -17 -19 -21 -20 -15 -7 0 7 10 11 12 14 14 15 17 18 18 18 15 13 12 11 11 12 13 14 15 15 16 19 21 22 21 21 20 18 15 11 8 6 5 4 3 3 2 1 -1 -1 -1 -1 -1 -2 -2 -3 -5 -6 -6 -7 -7 -7 -7 -8 -9 -9 -10 -11 -11 -12 -13 -14 -16 -17 -19 -20 -21 -21 -22 -22 -22 -22 -21 -21 -20 -20 -19 -19 -19 -20 -20 -20 -20 -20 -20 -19 -19 -18 -17 -16 -16 -15 -14 -14 -14 -15 -15 -15 -15 -14 -14 -13 -12 -11 -9 -9 -8 -7 -7 -7 -6 -6 -5 -3 -2 -0 1 3 3 4 4 4 4 4 4 3 3 3 3 4 5 5 6 7 8 8 8 8 7 8 8 9 9 9 9 9 9 8 8 8 8 9 9 9 9 9 9 9 9 9 8 8 8 7 7 7 7 6 6 5 5 4 4 3 3 2 2 3 4 5 7 8 10 12 13 15 16 16 16 16 16 17 18 19 19 19 18 18 18 17 18 18 19 19 20 21 22 22 22 21 21 20 20 19 18 17 16 16 15 15 15 15 15 15 15 15 15 16 16 15 15 14 13 13 12 11 11 12 12 13 14 14 14 13 13 12 11 10 10 10 10 11 11 11 12 13 15 17 18 19 20 20 21 21 20 20 20 21 21 21 21 22 23 24 25 26 26 27 27 -73 -70 -67 -65 -61 -58 -55 -55 -56 -55 -54 -54 -55 -55 -53 -51 -50 -50 -51 -52 -53 -54 -53 -53 -54 -54 -54 -53 -53 -53 -53 -55 -56 -56 -55 -54 -53 -51 -50 -49 -49 -47 -45 -43 -42 -40 -39 -38 -37 -35 -33 -31 -29 -26 -24 -22 -21 -20 -20 -21 -21 -22 -23 -27 -34 -42 -48 -47 -44 -41 -40 -40 -41 -42 -41 -39 -35 -31 -27 -25 -24 -23 -22 -20 -17 -14 -12 -12 -14 -15 -16 -15 -14 -14 -15 -17 -18 -19 -20 -20 -19 -18 -18 -18 -18 -20 -22 -25 -29 -32 -35 -38 -41 -44 -46 -45 -35 -22 -14 -15 -16 -16 -15 -13 -10 -9 -12 -18 -23 -24 -21 -14 -2 5 8 10 12 14 15 15 16 15 14 13 12 12 12 12 12 13 13 14 14 17 19 20 20 20 20 19 16 12 8 6 4 3 2 2 1 1 -0 -1 -1 -1 -2 -2 -3 -3 -4 -5 -6 -7 -8 -8 -8 -8 -9 -10 -10 -11 -12 -13 -14 -15 -17 -18 -19 -20 -21 -22 -22 -23 -23 -22 -22 -22 -21 -20 -20 -20 -20 -20 -20 -20 -20 -21 -21 -20 -20 -19 -19 -18 -17 -16 -15 -15 -15 -15 -16 -16 -15 -15 -14 -13 -13 -12 -11 -10 -10 -9 -8 -8 -7 -7 -7 -6 -4 -3 -1 0 2 3 4 4 4 4 4 4 3 3 3 3 3 4 5 5 6 7 7 8 8 8 8 8 9 9 10 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 9 9 8 8 7 8 8 8 7 7 6 6 5 5 4 3 3 3 3 4 5 7 8 10 12 14 15 16 16 16 16 16 17 17 18 19 19 19 19 18 18 18 18 19 19 20 21 22 22 23 23 23 22 22 21 19 18 18 17 17 17 16 16 16 16 16 17 17 17 18 18 17 16 16 15 14 13 13 13 14 15 15 15 15 14 14 12 11 10 10 9 10 10 10 11 11 13 15 17 18 19 19 19 19 19 19 19 19 20 20 20 20 20 21 22 24 25 26 26 26 -70 -67 -65 -62 -59 -57 -55 -53 -54 -54 -53 -52 -52 -52 -50 -48 -48 -49 -51 -52 -53 -53 -52 -52 -53 -53 -52 -52 -51 -51 -52 -53 -54 -54 -52 -52 -51 -49 -48 -49 -47 -45 -43 -41 -41 -40 -39 -38 -37 -36 -34 -32 -29 -26 -24 -22 -21 -21 -22 -23 -23 -23 -24 -28 -34 -41 -44 -41 -39 -38 -39 -38 -38 -37 -35 -31 -27 -24 -21 -21 -21 -21 -20 -18 -16 -14 -13 -15 -18 -19 -19 -18 -16 -14 -15 -16 -17 -18 -19 -20 -19 -18 -17 -17 -17 -19 -22 -26 -30 -33 -36 -39 -42 -45 -47 -46 -37 -24 -17 -18 -22 -26 -28 -27 -21 -14 -10 -10 -13 -20 -28 -27 -15 -4 4 7 9 11 12 13 12 12 11 10 11 11 11 11 11 11 12 13 14 16 18 18 18 18 18 16 12 9 6 4 3 2 1 1 0 -1 -1 -2 -2 -2 -3 -3 -4 -5 -6 -7 -8 -8 -9 -9 -9 -10 -10 -11 -11 -12 -14 -15 -16 -18 -19 -20 -21 -22 -22 -23 -23 -23 -23 -23 -22 -22 -21 -21 -21 -20 -20 -20 -20 -20 -21 -21 -21 -21 -20 -20 -19 -18 -17 -16 -15 -16 -16 -17 -17 -16 -15 -14 -14 -13 -13 -13 -12 -11 -11 -10 -9 -9 -8 -8 -7 -7 -6 -4 -3 -1 0 1 3 4 4 4 4 4 3 3 3 3 4 4 4 4 5 6 6 7 7 7 8 8 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 9 9 8 8 8 8 8 8 8 8 8 7 6 6 5 5 4 4 4 5 6 7 9 10 12 14 15 16 16 16 16 16 16 16 17 18 19 19 19 19 19 19 19 20 20 21 21 22 23 24 24 24 24 23 22 21 20 19 19 18 18 18 18 18 18 18 18 19 19 19 19 19 18 17 17 16 15 15 15 15 16 16 16 16 16 15 14 12 11 10 10 10 10 10 10 11 13 16 18 19 19 19 19 18 18 18 18 18 19 19 19 19 19 20 22 23 25 25 25 25 -68 -65 -62 -60 -58 -56 -55 -52 -51 -51 -51 -50 -50 -50 -48 -47 -48 -50 -51 -53 -53 -52 -51 -51 -52 -52 -52 -51 -51 -51 -52 -52 -52 -51 -51 -50 -49 -48 -47 -47 -45 -42 -40 -39 -38 -38 -38 -37 -36 -35 -33 -31 -29 -26 -24 -22 -22 -22 -23 -24 -24 -25 -26 -30 -35 -39 -39 -37 -36 -36 -35 -33 -31 -28 -25 -22 -19 -17 -17 -18 -19 -20 -19 -18 -17 -16 -16 -19 -22 -23 -23 -21 -19 -16 -16 -16 -17 -19 -20 -20 -19 -18 -18 -17 -17 -19 -22 -26 -29 -33 -36 -39 -42 -45 -46 -44 -36 -26 -20 -21 -27 -38 -44 -44 -39 -30 -24 -16 -12 -12 -17 -26 -26 -14 -3 2 5 8 9 10 9 8 8 8 9 10 10 9 9 10 11 12 14 15 16 17 17 16 15 12 9 6 4 2 2 1 0 -0 -1 -1 -2 -2 -3 -3 -4 -4 -5 -5 -6 -8 -9 -10 -10 -11 -11 -11 -12 -12 -13 -15 -16 -17 -19 -20 -21 -21 -22 -22 -23 -23 -24 -24 -23 -23 -22 -21 -21 -21 -21 -21 -20 -20 -20 -21 -21 -21 -21 -21 -21 -20 -19 -18 -17 -16 -17 -18 -18 -19 -18 -17 -15 -14 -14 -13 -13 -13 -13 -12 -12 -11 -10 -10 -9 -9 -8 -7 -6 -5 -4 -3 -1 -0 1 2 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 6 6 6 7 8 9 9 10 10 10 11 11 11 10 10 10 10 10 10 10 10 10 10 9 9 8 8 8 8 8 9 9 9 9 8 8 7 7 7 7 6 7 8 8 9 10 11 12 13 14 15 15 15 15 15 15 15 16 17 18 19 19 20 20 20 21 21 22 22 23 23 24 24 25 25 25 24 23 22 22 21 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 19 18 17 17 17 16 16 17 17 17 18 17 16 15 14 13 12 11 11 10 10 10 11 14 17 19 20 20 19 19 18 18 17 17 18 18 18 18 18 19 20 21 22 23 24 25 25 -65 -62 -60 -58 -56 -55 -54 -52 -49 -49 -50 -50 -49 -49 -48 -47 -48 -50 -52 -53 -52 -51 -51 -52 -52 -53 -52 -52 -51 -52 -51 -51 -50 -50 -49 -49 -48 -47 -47 -46 -43 -41 -39 -38 -38 -38 -37 -35 -34 -32 -30 -29 -27 -26 -24 -24 -24 -24 -24 -24 -24 -24 -27 -31 -35 -36 -36 -35 -34 -32 -30 -26 -21 -18 -16 -14 -13 -13 -14 -16 -18 -19 -20 -20 -19 -19 -20 -23 -26 -26 -25 -23 -20 -17 -17 -18 -19 -20 -20 -20 -20 -19 -18 -17 -17 -19 -22 -25 -28 -31 -35 -38 -41 -43 -43 -38 -31 -26 -24 -27 -33 -43 -49 -51 -50 -49 -44 -35 -26 -20 -18 -25 -29 -19 -9 -4 -1 3 5 7 7 6 6 7 8 8 8 7 7 8 10 11 13 14 15 16 15 13 10 8 5 4 2 1 0 0 -0 -0 -1 -1 -2 -3 -4 -4 -5 -5 -5 -6 -7 -9 -11 -12 -12 -13 -13 -13 -14 -15 -16 -17 -18 -20 -21 -21 -22 -22 -23 -23 -24 -24 -24 -24 -23 -22 -22 -21 -21 -21 -21 -21 -21 -21 -21 -21 -21 -21 -21 -21 -21 -20 -19 -18 -17 -17 -18 -19 -20 -20 -19 -17 -16 -15 -14 -14 -14 -14 -14 -13 -13 -12 -11 -11 -10 -9 -9 -8 -7 -6 -5 -3 -2 -1 -0 0 1 1 2 2 2 3 3 4 4 5 5 5 4 4 5 5 5 6 6 7 8 9 10 10 11 11 11 11 11 11 10 10 10 10 10 10 10 10 9 9 9 9 9 9 9 9 10 10 10 9 9 9 9 9 9 9 10 11 12 12 12 12 12 12 13 14 15 15 14 14 14 14 15 16 17 18 19 19 20 21 22 23 23 24 24 25 25 26 26 26 25 25 24 24 23 22 22 22 22 22 21 21 21 21 21 21 21 21 21 21 20 20 19 18 18 17 17 17 17 17 18 18 18 18 17 17 16 15 14 13 12 11 11 12 15 18 20 21 21 20 19 18 18 17 17 17 17 17 17 18 18 19 20 21 22 23 23 24 -64 -60 -57 -55 -55 -54 -53 -51 -49 -48 -49 -49 -48 -48 -48 -47 -48 -51 -52 -52 -51 -51 -52 -53 -53 -53 -54 -53 -52 -52 -51 -49 -49 -49 -48 -48 -47 -47 -46 -45 -43 -41 -39 -38 -38 -37 -36 -34 -32 -30 -27 -25 -24 -23 -23 -24 -25 -26 -26 -25 -25 -26 -29 -33 -34 -34 -33 -33 -32 -28 -23 -18 -13 -10 -9 -9 -9 -11 -13 -15 -18 -20 -22 -23 -22 -23 -24 -27 -29 -29 -26 -24 -21 -19 -19 -20 -21 -21 -21 -20 -20 -19 -19 -18 -18 -20 -22 -25 -28 -30 -33 -37 -39 -41 -40 -35 -30 -29 -31 -35 -43 -50 -53 -55 -56 -56 -55 -52 -45 -37 -29 -29 -29 -23 -16 -12 -8 -3 1 3 4 5 6 6 7 6 6 5 5 7 8 10 11 13 14 14 12 8 6 4 3 1 0 -0 -1 -1 -1 -0 -1 -1 -3 -4 -5 -5 -5 -5 -6 -7 -9 -11 -12 -13 -14 -14 -15 -15 -16 -17 -18 -19 -20 -21 -22 -22 -23 -23 -23 -24 -24 -24 -24 -23 -23 -22 -22 -21 -21 -21 -21 -21 -21 -21 -21 -21 -21 -21 -22 -21 -21 -20 -19 -18 -17 -18 -19 -20 -21 -20 -19 -18 -17 -16 -15 -15 -15 -15 -14 -14 -13 -12 -12 -11 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 -1 -1 -0 0 1 1 2 3 4 4 5 5 5 5 5 5 5 5 5 6 7 8 9 10 10 10 11 11 12 12 11 11 11 10 10 11 11 10 10 10 10 9 9 10 10 10 10 10 11 11 11 11 11 11 11 12 12 13 14 14 14 13 12 12 11 12 13 13 14 14 14 13 13 14 15 15 17 17 19 20 21 23 24 25 25 26 27 27 27 26 26 26 25 25 24 24 24 23 23 23 23 23 22 22 22 22 22 22 22 22 22 21 20 19 19 18 18 17 17 17 18 18 19 19 19 19 19 18 18 17 15 15 14 14 14 16 19 22 23 22 21 20 19 18 17 16 16 16 17 17 17 17 18 19 19 20 21 22 22 -63 -60 -55 -53 -53 -53 -52 -50 -49 -49 -49 -49 -48 -48 -49 -49 -49 -51 -53 -53 -52 -52 -53 -54 -55 -55 -55 -54 -53 -53 -51 -50 -48 -47 -47 -47 -47 -46 -46 -45 -42 -41 -39 -39 -38 -36 -34 -32 -29 -27 -24 -22 -21 -21 -22 -23 -25 -25 -26 -26 -28 -30 -32 -34 -33 -31 -30 -30 -28 -23 -17 -12 -8 -6 -6 -7 -7 -9 -12 -16 -19 -22 -25 -25 -25 -26 -29 -31 -31 -30 -27 -24 -22 -21 -22 -23 -23 -23 -22 -21 -20 -20 -20 -20 -20 -21 -24 -26 -28 -30 -33 -36 -38 -40 -40 -38 -37 -38 -40 -43 -50 -55 -57 -59 -60 -60 -60 -60 -58 -53 -46 -39 -30 -23 -19 -19 -17 -12 -6 -1 1 4 5 5 5 4 2 1 1 3 5 8 11 12 13 11 8 4 3 1 0 -1 -1 -2 -2 -1 -1 -1 -1 -2 -3 -5 -6 -6 -6 -6 -7 -8 -10 -12 -14 -15 -15 -16 -17 -17 -18 -20 -20 -21 -22 -22 -23 -23 -23 -23 -24 -25 -25 -24 -24 -23 -23 -22 -22 -22 -22 -21 -21 -21 -21 -21 -21 -21 -21 -22 -22 -21 -20 -19 -18 -18 -18 -19 -20 -20 -20 -20 -19 -19 -18 -17 -17 -16 -16 -16 -15 -15 -14 -13 -13 -12 -11 -10 -10 -9 -8 -6 -5 -4 -3 -2 -2 -2 -1 -1 -1 -0 0 1 2 3 4 4 5 5 5 5 5 5 6 6 6 7 7 8 9 9 10 11 11 12 12 12 12 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 13 13 14 14 14 15 15 16 16 16 16 14 13 12 11 11 12 13 13 13 13 13 13 13 14 14 15 17 18 20 21 23 24 25 26 27 28 28 28 27 27 26 25 25 25 24 24 25 25 24 24 24 23 22 22 22 22 23 23 23 23 22 21 20 19 18 18 17 18 18 18 19 19 20 20 21 21 21 20 19 19 18 18 17 17 19 21 23 24 24 23 22 20 19 17 17 16 16 16 16 16 16 17 17 17 18 19 20 21 -61 -59 -55 -52 -52 -51 -50 -49 -48 -49 -50 -51 -51 -50 -50 -51 -51 -52 -54 -54 -53 -54 -55 -56 -57 -57 -57 -55 -54 -54 -52 -51 -49 -48 -47 -46 -46 -45 -44 -42 -40 -39 -38 -38 -37 -35 -32 -29 -27 -25 -22 -21 -21 -21 -21 -22 -23 -24 -25 -27 -30 -33 -34 -34 -32 -29 -27 -26 -23 -18 -12 -7 -6 -5 -5 -6 -7 -10 -13 -17 -21 -24 -27 -26 -28 -30 -33 -34 -32 -30 -27 -25 -24 -24 -25 -26 -25 -24 -22 -21 -21 -21 -22 -23 -23 -24 -26 -28 -30 -32 -35 -37 -39 -41 -43 -44 -45 -46 -46 -48 -53 -57 -60 -62 -63 -64 -64 -64 -63 -61 -56 -48 -35 -25 -21 -22 -25 -22 -14 -7 -4 -0 2 3 2 1 -2 -3 -4 -2 1 5 9 11 10 8 5 2 1 -1 -2 -2 -3 -3 -3 -2 -2 -2 -2 -3 -4 -5 -6 -6 -7 -7 -8 -10 -12 -14 -15 -16 -17 -18 -19 -20 -21 -22 -22 -23 -23 -23 -23 -23 -23 -24 -24 -24 -24 -24 -24 -23 -23 -23 -22 -22 -21 -21 -21 -21 -21 -21 -21 -21 -21 -21 -21 -20 -19 -19 -18 -18 -18 -19 -20 -20 -20 -20 -20 -19 -19 -18 -18 -17 -17 -16 -16 -15 -14 -14 -13 -13 -12 -11 -10 -10 -8 -7 -6 -4 -3 -3 -2 -2 -1 -1 -1 -0 0 1 2 3 3 4 5 5 5 6 6 6 6 6 6 7 7 8 8 9 10 10 11 12 12 13 13 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 14 15 16 17 17 18 18 18 18 18 18 17 16 15 14 13 12 12 12 12 13 13 14 14 14 14 14 14 15 16 18 19 21 22 24 25 26 28 28 29 29 28 27 26 26 25 25 25 25 25 25 25 25 24 23 23 23 23 23 23 23 23 23 23 22 21 20 19 18 18 18 19 19 19 19 20 21 22 22 22 22 22 22 22 22 21 21 21 23 24 26 26 25 23 22 20 18 17 17 16 16 16 16 15 15 15 15 16 18 19 20 -58 -57 -54 -52 -50 -49 -48 -47 -47 -49 -51 -53 -53 -52 -52 -53 -53 -54 -55 -54 -54 -55 -56 -58 -58 -58 -57 -56 -55 -54 -53 -51 -50 -48 -47 -45 -44 -43 -42 -39 -37 -36 -36 -35 -33 -31 -28 -27 -25 -24 -22 -22 -23 -23 -21 -20 -22 -23 -24 -27 -31 -33 -32 -31 -29 -28 -25 -22 -18 -13 -9 -6 -6 -6 -6 -7 -9 -14 -17 -20 -23 -26 -27 -28 -30 -33 -35 -34 -32 -29 -27 -27 -27 -28 -28 -27 -26 -24 -23 -22 -23 -24 -25 -26 -28 -29 -29 -31 -33 -35 -38 -40 -42 -44 -46 -47 -47 -47 -47 -50 -54 -57 -61 -63 -65 -66 -66 -65 -63 -59 -54 -47 -36 -27 -22 -22 -25 -24 -18 -14 -11 -9 -4 -2 -2 -4 -5 -7 -8 -6 -3 1 6 8 7 5 3 1 -1 -2 -3 -4 -4 -4 -4 -4 -4 -3 -3 -4 -5 -6 -7 -7 -8 -9 -10 -12 -14 -15 -16 -17 -19 -20 -21 -22 -23 -23 -24 -24 -23 -23 -23 -23 -23 -24 -24 -24 -24 -23 -23 -23 -23 -22 -22 -21 -21 -21 -21 -21 -21 -21 -21 -21 -21 -21 -20 -19 -19 -18 -18 -18 -19 -19 -19 -19 -19 -20 -20 -20 -19 -19 -18 -18 -18 -17 -16 -16 -15 -14 -14 -13 -13 -12 -11 -11 -10 -8 -7 -6 -5 -4 -3 -2 -1 -1 -0 0 1 2 2 3 4 4 5 5 6 6 6 6 6 6 6 7 7 8 8 9 9 10 11 12 12 13 13 13 13 13 13 13 13 13 13 14 14 15 15 15 15 15 16 17 18 19 20 21 21 21 21 20 20 19 18 17 16 15 14 13 13 12 12 13 13 14 15 15 15 15 15 16 17 18 19 21 22 23 25 26 27 28 29 29 29 28 27 26 26 25 25 25 26 26 26 25 25 24 23 23 23 23 24 24 24 24 23 23 22 21 20 20 19 19 20 19 19 19 19 21 21 22 22 23 24 24 25 24 24 24 24 25 26 27 27 26 25 23 22 20 19 18 17 17 16 16 15 14 14 14 15 17 18 20 -56 -54 -52 -49 -48 -47 -46 -46 -47 -50 -52 -54 -54 -54 -55 -55 -54 -54 -55 -55 -56 -57 -58 -59 -59 -59 -58 -57 -56 -54 -52 -51 -49 -48 -46 -45 -43 -41 -39 -36 -35 -34 -33 -30 -27 -24 -23 -24 -25 -25 -24 -25 -25 -24 -22 -20 -22 -23 -26 -28 -31 -31 -28 -26 -25 -25 -23 -19 -15 -11 -8 -8 -8 -8 -9 -12 -16 -21 -23 -25 -27 -28 -28 -29 -32 -35 -36 -35 -32 -30 -29 -29 -30 -30 -29 -27 -25 -24 -24 -24 -25 -26 -28 -30 -33 -33 -34 -35 -37 -39 -40 -43 -45 -47 -49 -47 -46 -46 -48 -51 -54 -57 -60 -63 -66 -67 -67 -63 -57 -49 -41 -35 -28 -24 -22 -22 -21 -20 -18 -18 -20 -20 -15 -12 -9 -8 -9 -10 -10 -9 -7 -3 1 3 4 3 1 -1 -2 -3 -4 -4 -5 -6 -6 -6 -5 -5 -5 -6 -6 -7 -8 -9 -10 -11 -12 -14 -15 -16 -18 -19 -20 -22 -23 -24 -24 -24 -24 -24 -23 -23 -23 -23 -23 -24 -24 -23 -23 -23 -23 -23 -22 -22 -21 -21 -20 -20 -21 -21 -21 -21 -20 -20 -20 -19 -19 -18 -18 -18 -18 -18 -18 -18 -18 -19 -20 -20 -20 -20 -19 -19 -19 -19 -18 -18 -17 -16 -15 -15 -14 -13 -13 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 -0 1 1 2 3 3 4 5 5 5 6 6 6 6 6 6 7 7 8 8 8 8 9 10 10 11 12 13 14 14 14 14 14 14 14 14 15 16 17 18 18 18 18 18 19 20 21 22 23 23 23 23 23 22 21 20 19 18 17 16 16 15 14 14 13 13 14 15 16 16 17 17 17 17 18 19 20 21 22 23 24 26 27 28 28 29 29 29 28 27 27 26 26 26 26 26 26 25 25 24 24 24 24 24 24 24 24 24 23 23 22 22 21 21 21 21 21 20 20 19 20 20 21 21 22 23 24 25 26 25 25 25 25 26 27 28 28 27 26 24 23 22 20 19 18 17 17 16 15 14 13 13 14 16 18 19 -55 -52 -50 -48 -47 -46 -46 -47 -49 -52 -54 -55 -55 -56 -56 -55 -54 -54 -55 -57 -58 -60 -61 -61 -60 -59 -59 -57 -56 -55 -53 -50 -48 -47 -45 -44 -42 -40 -37 -34 -33 -31 -28 -24 -21 -19 -20 -22 -25 -26 -26 -26 -24 -23 -21 -20 -23 -25 -27 -30 -32 -29 -24 -21 -21 -22 -20 -17 -14 -12 -11 -11 -12 -13 -15 -19 -22 -24 -25 -26 -27 -28 -29 -32 -35 -37 -37 -36 -34 -32 -31 -31 -31 -30 -28 -26 -25 -24 -25 -26 -27 -30 -32 -35 -37 -37 -37 -38 -39 -39 -40 -43 -46 -49 -48 -43 -43 -45 -49 -52 -55 -57 -60 -62 -65 -66 -64 -58 -46 -33 -23 -21 -22 -23 -24 -24 -21 -19 -18 -18 -22 -27 -27 -24 -19 -15 -12 -12 -11 -10 -8 -6 -4 -2 -1 -1 -2 -3 -3 -4 -4 -5 -6 -6 -7 -7 -7 -7 -7 -7 -8 -8 -9 -11 -12 -13 -14 -15 -17 -18 -19 -21 -22 -23 -24 -25 -25 -25 -24 -24 -23 -22 -22 -22 -23 -23 -23 -23 -23 -23 -23 -23 -22 -21 -21 -20 -20 -20 -21 -21 -20 -20 -19 -19 -19 -18 -18 -18 -18 -18 -17 -17 -17 -17 -18 -19 -20 -21 -20 -20 -19 -19 -19 -19 -18 -18 -17 -16 -15 -15 -14 -14 -13 -13 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 -0 1 2 3 4 4 5 5 5 6 6 6 6 7 7 7 8 8 8 8 8 9 9 10 11 12 13 14 15 15 15 15 15 15 16 17 18 20 21 21 21 21 22 22 23 24 24 24 24 24 23 23 22 22 21 20 20 19 18 17 17 16 15 15 15 15 16 17 18 19 20 20 20 20 20 20 21 22 23 24 25 26 27 27 28 28 29 29 28 28 28 28 28 27 27 27 26 25 25 25 25 25 25 25 24 24 24 24 23 23 23 23 23 23 23 22 21 21 20 20 20 20 21 22 23 25 26 26 26 25 25 26 27 28 28 28 27 26 25 24 23 22 21 20 18 18 17 15 14 13 13 14 15 17 19 -54 -51 -50 -48 -47 -47 -47 -48 -51 -54 -56 -56 -57 -57 -57 -56 -55 -55 -57 -60 -62 -63 -63 -63 -62 -61 -59 -58 -57 -55 -53 -50 -48 -47 -46 -44 -42 -39 -35 -32 -30 -26 -24 -22 -21 -20 -22 -25 -26 -26 -25 -24 -23 -22 -21 -22 -26 -30 -32 -33 -31 -26 -20 -19 -20 -21 -19 -17 -15 -14 -14 -14 -14 -15 -17 -20 -22 -21 -23 -25 -28 -29 -32 -34 -37 -38 -39 -38 -36 -34 -33 -31 -29 -27 -25 -24 -24 -25 -26 -28 -31 -34 -37 -39 -40 -39 -39 -38 -38 -38 -38 -42 -46 -49 -46 -39 -40 -46 -51 -54 -57 -59 -60 -61 -62 -61 -56 -45 -34 -24 -21 -21 -22 -24 -25 -24 -23 -21 -17 -14 -14 -19 -29 -33 -30 -24 -18 -16 -14 -11 -10 -8 -7 -7 -6 -6 -6 -5 -5 -5 -5 -5 -6 -7 -7 -8 -8 -8 -8 -9 -9 -10 -11 -12 -14 -15 -16 -17 -18 -19 -21 -22 -23 -24 -25 -25 -25 -25 -24 -23 -22 -22 -22 -22 -23 -23 -23 -23 -23 -23 -23 -22 -22 -21 -21 -20 -21 -21 -21 -21 -20 -19 -18 -18 -17 -17 -17 -17 -17 -17 -17 -16 -16 -17 -19 -20 -21 -21 -20 -19 -19 -19 -19 -19 -18 -18 -17 -16 -16 -15 -14 -14 -14 -14 -13 -12 -11 -10 -9 -8 -7 -7 -6 -6 -5 -4 -3 -2 -0 1 2 3 3 4 4 5 5 6 6 6 7 7 7 7 7 7 8 8 9 9 10 11 12 13 14 15 16 16 17 17 17 18 19 21 22 24 25 25 25 26 26 26 26 26 25 24 23 23 22 22 22 22 21 21 21 20 19 18 18 18 17 17 16 17 18 19 21 22 22 22 21 21 21 22 23 24 25 25 26 26 26 27 28 28 29 29 29 29 29 29 28 28 28 27 27 26 26 26 26 26 26 26 25 25 25 24 24 24 24 24 24 24 23 23 22 21 21 21 21 21 22 23 24 25 25 25 25 25 26 27 28 29 28 27 26 25 24 24 23 22 21 20 19 18 17 15 14 14 14 15 16 18 -53 -51 -50 -50 -49 -48 -48 -50 -53 -55 -57 -58 -58 -57 -56 -56 -57 -58 -60 -63 -65 -65 -65 -64 -62 -61 -59 -59 -57 -56 -53 -51 -49 -47 -46 -43 -40 -36 -32 -28 -25 -24 -23 -24 -25 -26 -27 -28 -26 -24 -23 -23 -22 -22 -23 -26 -32 -36 -37 -35 -29 -22 -19 -18 -19 -20 -20 -18 -17 -16 -15 -14 -14 -16 -18 -20 -20 -19 -23 -26 -29 -31 -33 -36 -39 -41 -41 -40 -36 -34 -32 -29 -26 -24 -23 -23 -25 -27 -29 -32 -35 -38 -40 -41 -40 -40 -40 -40 -39 -38 -39 -43 -47 -49 -47 -42 -43 -48 -52 -56 -59 -61 -61 -59 -54 -47 -40 -32 -26 -24 -25 -25 -24 -23 -22 -20 -19 -18 -17 -14 -12 -11 -14 -21 -28 -31 -28 -25 -20 -16 -14 -11 -10 -11 -11 -11 -11 -10 -8 -7 -6 -6 -7 -7 -8 -8 -9 -9 -10 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -21 -22 -23 -24 -25 -25 -25 -25 -25 -24 -23 -22 -22 -22 -23 -23 -23 -23 -23 -23 -22 -22 -21 -21 -21 -21 -21 -21 -21 -21 -21 -20 -19 -18 -17 -17 -17 -17 -17 -17 -17 -16 -16 -16 -18 -19 -20 -21 -21 -20 -19 -19 -19 -19 -19 -18 -18 -17 -16 -16 -15 -15 -15 -15 -14 -13 -12 -11 -10 -10 -9 -8 -8 -7 -7 -7 -6 -5 -3 -2 -1 -0 1 2 2 3 4 4 5 5 6 6 6 6 6 6 7 7 8 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 25 27 28 29 29 30 30 29 28 27 26 24 23 23 22 22 22 22 22 22 22 22 21 20 20 20 19 19 19 19 19 20 22 23 23 23 23 22 22 23 24 24 25 25 25 25 26 26 27 28 29 29 29 29 29 29 29 29 29 29 28 28 28 28 28 28 28 28 27 27 26 26 26 26 26 26 26 25 24 23 23 22 22 22 22 22 22 23 24 25 25 25 25 26 26 27 28 29 28 28 27 26 25 24 24 23 22 21 20 19 18 17 16 15 15 16 16 18 -54 -52 -51 -52 -50 -49 -49 -51 -55 -57 -59 -59 -58 -57 -57 -58 -59 -62 -65 -66 -66 -66 -64 -63 -62 -61 -60 -59 -58 -56 -53 -51 -49 -47 -44 -41 -37 -33 -29 -26 -24 -25 -26 -27 -29 -30 -29 -28 -26 -23 -22 -22 -22 -23 -26 -31 -37 -39 -37 -32 -26 -21 -18 -17 -18 -20 -20 -19 -17 -16 -15 -15 -16 -17 -19 -20 -20 -20 -25 -29 -31 -33 -36 -40 -43 -44 -43 -40 -38 -35 -32 -28 -24 -22 -23 -24 -27 -30 -33 -36 -39 -40 -41 -41 -40 -41 -41 -41 -41 -41 -42 -45 -48 -49 -47 -46 -47 -50 -53 -57 -59 -61 -61 -56 -45 -30 -26 -24 -24 -26 -29 -30 -29 -26 -22 -19 -17 -18 -18 -18 -18 -20 -18 -18 -20 -25 -30 -32 -30 -27 -24 -19 -15 -15 -15 -15 -15 -15 -13 -11 -9 -8 -7 -8 -8 -9 -10 -10 -10 -11 -12 -13 -14 -15 -15 -16 -18 -19 -20 -22 -23 -24 -24 -25 -25 -25 -25 -25 -24 -23 -22 -22 -23 -23 -23 -24 -23 -23 -23 -22 -22 -21 -21 -21 -21 -21 -21 -21 -21 -21 -20 -19 -18 -18 -17 -17 -17 -17 -17 -16 -16 -16 -17 -18 -19 -20 -21 -20 -20 -19 -19 -19 -19 -19 -18 -18 -17 -17 -16 -16 -16 -15 -15 -14 -13 -12 -11 -10 -10 -9 -9 -9 -9 -9 -8 -7 -6 -5 -4 -3 -2 -2 -1 0 1 2 3 3 4 4 4 5 5 5 5 6 6 7 8 8 9 10 11 13 14 15 16 18 19 20 22 23 24 26 27 29 31 32 33 33 33 32 30 29 27 26 25 24 23 23 23 23 23 23 23 23 23 22 22 22 22 21 21 21 21 22 22 23 23 23 23 23 23 24 24 25 25 25 25 25 26 26 27 28 29 29 29 29 29 29 29 30 30 30 30 30 29 29 29 29 29 30 30 29 29 29 28 28 28 28 27 26 25 24 23 23 23 23 23 23 23 24 24 25 25 26 26 27 27 28 28 29 29 28 27 26 25 24 23 23 22 22 20 20 19 18 18 17 17 17 17 18 -54 -53 -53 -54 -51 -49 -49 -52 -55 -58 -59 -60 -60 -60 -59 -60 -62 -64 -66 -66 -65 -64 -64 -63 -63 -62 -61 -60 -58 -56 -53 -50 -48 -45 -41 -37 -34 -30 -28 -27 -27 -29 -30 -31 -31 -30 -28 -26 -24 -23 -21 -22 -22 -24 -29 -35 -39 -38 -32 -27 -23 -20 -18 -17 -18 -19 -20 -19 -17 -15 -16 -17 -18 -19 -21 -21 -21 -23 -29 -32 -35 -37 -41 -45 -47 -47 -45 -43 -41 -37 -33 -28 -25 -23 -24 -27 -30 -33 -37 -39 -40 -41 -41 -40 -41 -41 -42 -43 -44 -45 -46 -47 -47 -47 -47 -48 -50 -52 -54 -56 -59 -60 -59 -54 -41 -23 -20 -21 -25 -29 -34 -36 -34 -29 -24 -20 -17 -16 -19 -23 -28 -34 -33 -28 -24 -23 -23 -27 -32 -38 -39 -32 -22 -21 -20 -19 -18 -19 -18 -17 -14 -11 -9 -9 -9 -9 -10 -10 -11 -12 -13 -15 -15 -16 -16 -17 -19 -20 -22 -23 -24 -24 -25 -25 -25 -25 -25 -25 -24 -23 -23 -23 -23 -24 -24 -24 -24 -23 -23 -22 -21 -21 -21 -22 -22 -22 -22 -22 -22 -21 -21 -20 -19 -18 -18 -17 -17 -17 -17 -17 -16 -16 -17 -18 -19 -20 -20 -20 -20 -19 -19 -19 -19 -19 -18 -18 -17 -17 -16 -16 -16 -15 -15 -13 -12 -11 -11 -10 -10 -10 -10 -10 -10 -10 -9 -8 -7 -7 -6 -6 -5 -4 -3 -2 -1 -1 0 1 1 2 2 2 3 3 3 4 5 5 6 7 8 9 11 12 13 15 16 17 19 21 22 23 25 27 28 30 32 34 35 35 35 34 33 31 29 28 27 26 26 25 24 24 24 24 25 24 24 24 23 24 24 24 23 23 23 23 23 23 23 23 23 23 24 24 25 25 26 26 26 26 26 27 28 28 29 29 29 29 29 29 30 30 31 32 32 31 31 31 31 31 31 31 31 32 31 31 31 30 30 29 28 27 26 25 24 24 24 24 24 24 24 25 25 26 27 27 28 28 28 28 28 28 28 28 27 26 25 24 23 23 22 22 21 20 19 19 19 18 18 18 19 19 -53 -52 -54 -55 -52 -50 -50 -53 -57 -60 -61 -62 -61 -60 -60 -62 -63 -64 -65 -64 -64 -64 -64 -65 -64 -63 -61 -59 -57 -55 -52 -49 -46 -42 -38 -35 -33 -31 -31 -31 -32 -34 -34 -33 -30 -27 -26 -24 -23 -22 -22 -22 -24 -27 -32 -37 -37 -33 -27 -22 -20 -20 -19 -19 -19 -20 -20 -18 -16 -16 -17 -19 -21 -22 -23 -24 -24 -27 -33 -37 -41 -44 -47 -50 -51 -51 -50 -49 -45 -40 -34 -30 -27 -26 -27 -29 -32 -35 -38 -39 -39 -40 -40 -40 -41 -42 -43 -45 -47 -48 -47 -45 -45 -45 -47 -50 -51 -53 -54 -56 -57 -58 -56 -50 -38 -23 -23 -24 -29 -35 -40 -38 -33 -30 -29 -29 -22 -19 -20 -27 -37 -44 -44 -40 -36 -31 -26 -28 -34 -42 -44 -36 -25 -26 -26 -25 -24 -22 -22 -21 -20 -17 -14 -12 -10 -10 -10 -11 -12 -13 -14 -15 -16 -16 -17 -19 -20 -21 -23 -24 -25 -25 -25 -25 -25 -25 -25 -24 -24 -24 -23 -24 -24 -24 -24 -24 -24 -24 -23 -22 -22 -22 -22 -22 -22 -22 -22 -22 -22 -22 -22 -22 -21 -20 -18 -18 -18 -18 -18 -17 -17 -17 -17 -18 -18 -19 -19 -19 -19 -19 -19 -18 -18 -18 -18 -18 -17 -17 -17 -17 -16 -15 -14 -12 -11 -11 -10 -10 -10 -10 -11 -11 -11 -11 -10 -9 -9 -8 -8 -8 -7 -7 -6 -5 -4 -3 -2 -1 -1 0 0 1 1 1 2 2 3 4 5 6 7 8 10 11 13 14 15 17 18 20 22 23 25 26 28 30 32 34 35 36 36 35 34 33 32 31 30 29 28 28 27 26 26 26 26 26 25 25 25 25 25 25 25 25 25 24 24 23 23 23 23 23 23 24 25 25 26 27 27 27 28 28 29 29 30 30 30 30 30 30 30 31 32 32 33 33 33 33 32 32 32 33 33 33 33 33 32 32 31 30 29 28 27 26 26 25 25 25 25 26 26 26 27 27 28 29 29 29 29 28 28 28 28 27 27 26 25 24 23 23 22 22 21 21 20 20 20 20 20 20 20 21 -53 -53 -54 -55 -53 -51 -52 -55 -59 -62 -63 -62 -61 -60 -61 -62 -63 -63 -63 -63 -64 -65 -65 -65 -64 -62 -60 -58 -56 -53 -51 -47 -44 -40 -38 -36 -35 -35 -36 -36 -36 -36 -35 -32 -28 -26 -24 -23 -23 -24 -24 -25 -28 -32 -35 -36 -32 -27 -23 -20 -18 -19 -21 -21 -20 -20 -20 -19 -18 -18 -20 -23 -26 -27 -28 -28 -28 -33 -40 -45 -49 -52 -54 -55 -54 -54 -53 -51 -45 -38 -33 -30 -29 -29 -30 -32 -34 -36 -37 -38 -38 -39 -40 -41 -42 -43 -45 -48 -49 -49 -45 -43 -43 -45 -48 -50 -52 -52 -53 -54 -56 -56 -51 -41 -29 -23 -28 -31 -35 -40 -43 -38 -31 -32 -37 -40 -33 -26 -24 -29 -38 -47 -49 -48 -46 -43 -38 -38 -42 -46 -46 -37 -24 -23 -27 -31 -33 -28 -24 -24 -24 -23 -20 -17 -14 -12 -11 -11 -12 -13 -14 -15 -16 -18 -19 -20 -21 -22 -23 -25 -25 -26 -26 -26 -25 -25 -25 -24 -24 -24 -24 -24 -24 -24 -25 -25 -25 -24 -24 -23 -22 -22 -22 -22 -22 -22 -23 -23 -23 -23 -23 -23 -22 -21 -20 -19 -19 -19 -19 -18 -17 -17 -17 -17 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -18 -17 -17 -17 -17 -16 -15 -12 -11 -10 -10 -11 -11 -11 -11 -12 -12 -12 -11 -10 -10 -10 -10 -10 -10 -9 -8 -7 -6 -6 -5 -4 -3 -2 -2 -1 -1 -0 -0 -0 0 1 2 3 4 6 7 9 10 12 13 15 16 18 19 21 23 24 26 27 29 31 32 33 35 35 36 36 35 35 34 33 32 31 30 30 29 29 29 28 27 27 26 26 26 26 27 27 27 27 26 25 24 24 23 23 23 23 24 25 25 26 27 28 28 29 29 30 30 30 30 30 30 30 30 31 31 32 33 33 34 34 34 34 34 34 34 34 35 35 34 34 33 32 31 31 30 29 28 28 27 26 26 27 27 28 28 28 29 29 30 30 30 29 28 28 27 27 27 26 26 25 24 24 23 23 22 22 21 21 21 21 21 21 21 22 22 -53 -53 -55 -55 -54 -53 -54 -57 -61 -63 -63 -62 -61 -60 -61 -62 -62 -62 -62 -63 -64 -65 -65 -65 -63 -60 -59 -57 -54 -51 -48 -46 -43 -41 -40 -40 -39 -39 -39 -38 -37 -36 -33 -30 -27 -25 -25 -25 -27 -28 -30 -31 -33 -35 -35 -32 -27 -24 -22 -20 -19 -20 -22 -23 -22 -21 -21 -21 -21 -21 -23 -27 -31 -32 -33 -33 -35 -41 -48 -53 -54 -54 -54 -54 -53 -51 -48 -44 -37 -33 -32 -32 -32 -33 -34 -35 -36 -37 -38 -38 -39 -40 -41 -43 -44 -46 -48 -50 -50 -48 -45 -43 -43 -45 -47 -49 -51 -52 -52 -53 -55 -53 -43 -30 -19 -21 -30 -36 -39 -41 -42 -39 -36 -38 -43 -47 -44 -38 -32 -31 -35 -46 -50 -51 -50 -49 -48 -48 -48 -49 -47 -40 -27 -24 -26 -31 -36 -34 -28 -26 -27 -27 -26 -23 -19 -17 -14 -13 -13 -13 -14 -15 -17 -19 -21 -22 -23 -23 -24 -25 -26 -26 -26 -26 -25 -25 -24 -24 -24 -24 -24 -24 -24 -25 -25 -25 -25 -25 -24 -24 -23 -23 -23 -23 -23 -23 -23 -24 -24 -24 -24 -23 -22 -21 -21 -20 -20 -20 -19 -19 -18 -17 -17 -17 -17 -17 -17 -17 -17 -17 -17 -17 -17 -18 -18 -17 -17 -17 -17 -17 -16 -13 -11 -10 -10 -10 -11 -12 -12 -12 -13 -12 -12 -11 -11 -11 -11 -12 -12 -11 -10 -9 -8 -7 -7 -6 -6 -5 -4 -3 -3 -2 -2 -2 -2 -2 -1 -0 1 2 4 5 7 8 10 12 13 15 17 19 21 22 24 26 27 28 29 30 32 33 34 35 36 37 37 36 36 35 34 33 32 32 31 31 30 29 28 28 27 27 28 28 29 29 28 28 27 26 26 25 24 24 23 24 24 25 26 27 28 29 29 30 30 30 30 30 30 31 31 31 31 32 32 33 33 34 35 35 36 36 36 36 36 36 36 35 35 34 34 33 33 32 32 31 30 29 28 28 28 29 29 30 30 30 30 30 30 30 29 28 27 27 26 26 26 26 25 25 24 24 23 23 23 23 22 22 22 22 22 22 22 23 -53 -53 -55 -56 -55 -54 -55 -58 -61 -63 -63 -62 -61 -61 -62 -62 -62 -61 -62 -63 -65 -66 -65 -63 -61 -59 -57 -54 -51 -48 -45 -45 -46 -46 -45 -44 -42 -40 -39 -38 -38 -36 -32 -29 -27 -27 -28 -30 -33 -34 -35 -34 -34 -33 -31 -27 -25 -24 -23 -22 -21 -22 -24 -24 -23 -23 -22 -23 -24 -26 -29 -33 -36 -37 -38 -39 -43 -49 -53 -53 -52 -51 -51 -50 -46 -43 -40 -36 -32 -33 -36 -38 -38 -37 -37 -38 -39 -40 -40 -40 -41 -43 -44 -46 -47 -49 -49 -50 -51 -50 -46 -44 -43 -44 -45 -47 -49 -50 -50 -51 -51 -47 -38 -29 -24 -27 -32 -36 -37 -38 -40 -43 -44 -44 -44 -47 -49 -49 -46 -42 -40 -47 -51 -51 -50 -49 -49 -48 -48 -48 -48 -46 -40 -35 -32 -31 -34 -34 -30 -29 -30 -31 -31 -29 -26 -23 -20 -17 -15 -14 -15 -16 -18 -20 -22 -23 -24 -24 -25 -26 -26 -26 -26 -26 -25 -25 -24 -24 -24 -24 -24 -24 -25 -25 -26 -26 -26 -26 -25 -25 -24 -23 -23 -23 -23 -24 -24 -24 -24 -24 -24 -24 -23 -22 -22 -21 -21 -21 -20 -19 -18 -17 -17 -17 -16 -16 -16 -16 -16 -16 -17 -17 -17 -17 -17 -17 -17 -17 -17 -16 -15 -12 -10 -10 -10 -11 -12 -12 -13 -13 -13 -13 -12 -11 -11 -12 -12 -13 -13 -11 -10 -8 -7 -7 -7 -7 -7 -6 -5 -5 -4 -4 -3 -3 -3 -3 -2 -1 -1 1 2 3 4 6 7 9 12 14 16 18 20 22 23 24 25 26 27 28 29 31 33 35 36 37 37 37 37 36 35 35 34 34 34 33 32 31 30 29 29 29 29 30 30 30 30 30 29 29 28 27 26 25 24 24 25 26 27 27 28 29 29 29 29 29 29 30 30 30 31 31 32 32 32 32 33 34 35 36 37 37 38 38 38 37 37 37 36 36 35 35 35 34 34 33 32 31 31 30 30 31 31 31 31 31 31 31 30 30 29 28 28 27 26 26 26 26 25 25 24 24 24 24 24 24 24 23 23 23 23 23 23 23 -53 -54 -55 -56 -55 -55 -56 -59 -61 -62 -63 -62 -62 -62 -62 -62 -61 -61 -62 -63 -66 -66 -64 -61 -59 -56 -53 -49 -47 -45 -46 -48 -50 -50 -48 -45 -42 -39 -39 -40 -41 -36 -32 -30 -29 -30 -32 -34 -36 -36 -35 -34 -32 -30 -28 -26 -26 -26 -25 -23 -23 -24 -25 -25 -25 -25 -25 -25 -26 -29 -33 -36 -37 -39 -43 -48 -52 -54 -53 -51 -50 -49 -47 -42 -39 -36 -35 -33 -33 -38 -41 -41 -39 -38 -40 -41 -42 -42 -41 -41 -43 -45 -46 -48 -48 -48 -48 -50 -52 -51 -46 -43 -42 -43 -43 -45 -46 -47 -47 -47 -48 -47 -44 -41 -40 -41 -39 -38 -37 -37 -40 -43 -43 -43 -44 -46 -49 -51 -51 -50 -49 -50 -52 -52 -50 -47 -45 -44 -45 -46 -48 -51 -52 -51 -47 -41 -37 -34 -33 -34 -35 -37 -38 -37 -34 -30 -27 -24 -20 -18 -17 -17 -19 -21 -23 -24 -25 -25 -25 -26 -26 -26 -26 -26 -25 -25 -24 -24 -24 -24 -24 -25 -25 -25 -26 -26 -27 -26 -26 -25 -25 -25 -24 -24 -24 -24 -24 -25 -24 -24 -24 -24 -23 -23 -22 -22 -22 -21 -20 -19 -18 -17 -16 -16 -16 -15 -15 -15 -15 -16 -16 -17 -17 -17 -17 -17 -17 -17 -17 -16 -14 -11 -10 -10 -10 -11 -12 -13 -13 -13 -13 -12 -12 -11 -12 -12 -13 -13 -12 -10 -8 -7 -6 -6 -6 -6 -7 -7 -6 -6 -5 -5 -4 -4 -3 -3 -3 -2 -1 -1 0 1 2 4 6 8 10 12 15 17 18 19 21 21 22 23 24 25 27 29 31 33 35 36 37 37 37 37 36 36 36 36 36 35 35 34 33 32 31 30 30 31 31 31 31 31 31 31 31 30 29 27 26 25 25 26 27 27 28 28 28 28 28 28 29 29 29 30 30 31 31 32 32 32 33 34 35 36 37 38 39 39 39 39 38 38 38 38 37 37 37 36 36 35 34 33 32 32 32 32 32 32 32 32 31 31 31 30 29 29 28 27 27 26 26 26 26 25 25 24 24 25 25 25 25 25 24 24 24 24 23 23 -53 -53 -55 -55 -55 -56 -57 -59 -61 -62 -63 -63 -63 -63 -62 -61 -60 -60 -61 -64 -65 -64 -62 -59 -56 -52 -48 -45 -44 -45 -49 -52 -53 -51 -47 -44 -42 -42 -43 -44 -41 -35 -32 -31 -32 -34 -35 -37 -37 -36 -34 -33 -31 -29 -27 -27 -28 -27 -26 -24 -24 -25 -26 -27 -28 -28 -28 -27 -28 -31 -35 -39 -40 -43 -48 -53 -56 -55 -52 -50 -48 -45 -41 -36 -35 -34 -34 -33 -36 -41 -42 -40 -38 -40 -42 -43 -42 -41 -41 -42 -45 -47 -48 -48 -46 -45 -46 -48 -51 -49 -44 -42 -41 -42 -42 -43 -43 -44 -45 -46 -46 -46 -45 -44 -46 -47 -44 -40 -38 -38 -40 -41 -41 -42 -43 -46 -49 -52 -52 -51 -51 -51 -52 -52 -49 -43 -37 -38 -42 -46 -49 -52 -55 -57 -59 -58 -55 -48 -47 -47 -47 -49 -50 -48 -44 -40 -36 -32 -28 -25 -22 -20 -20 -22 -23 -24 -25 -25 -25 -25 -25 -26 -26 -26 -26 -25 -24 -24 -24 -24 -25 -25 -25 -26 -26 -27 -27 -27 -27 -26 -26 -26 -26 -26 -26 -25 -25 -25 -24 -24 -24 -24 -24 -23 -23 -22 -21 -21 -20 -19 -18 -17 -16 -15 -15 -14 -14 -15 -15 -15 -16 -16 -17 -17 -17 -16 -16 -16 -16 -15 -13 -11 -10 -10 -10 -11 -12 -13 -14 -13 -13 -12 -11 -11 -12 -12 -13 -12 -10 -8 -7 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -5 -4 -4 -3 -3 -2 -2 -2 -1 -1 -0 1 2 5 7 9 11 12 14 15 16 17 17 18 19 20 22 24 27 29 31 32 34 35 36 36 37 37 37 37 37 37 37 37 37 36 34 33 32 32 32 32 32 32 32 32 32 32 32 31 29 28 27 26 26 27 27 27 27 27 26 27 27 28 28 29 29 30 30 31 31 32 33 33 34 35 36 37 38 39 40 40 40 40 40 40 40 39 39 38 38 37 37 36 35 34 34 33 33 33 33 33 32 32 31 31 30 30 29 28 27 27 27 26 26 26 25 25 25 25 25 25 26 26 26 26 25 25 25 24 24 -53 -53 -54 -54 -55 -56 -58 -60 -61 -63 -64 -64 -64 -63 -61 -60 -60 -60 -61 -63 -63 -61 -58 -55 -52 -47 -44 -43 -45 -48 -52 -55 -54 -51 -46 -43 -43 -45 -46 -44 -38 -33 -32 -34 -36 -38 -38 -38 -37 -36 -35 -34 -31 -29 -28 -29 -31 -29 -26 -24 -24 -25 -28 -29 -30 -31 -30 -29 -30 -34 -39 -44 -45 -47 -51 -54 -55 -53 -50 -48 -44 -41 -37 -34 -35 -35 -35 -35 -39 -40 -39 -38 -39 -43 -44 -44 -43 -42 -43 -45 -47 -49 -49 -46 -43 -42 -44 -48 -49 -45 -42 -41 -41 -42 -41 -41 -41 -42 -43 -45 -46 -45 -44 -44 -47 -49 -46 -43 -40 -39 -40 -40 -41 -42 -44 -46 -49 -52 -52 -52 -52 -52 -52 -52 -49 -41 -32 -33 -40 -48 -52 -54 -55 -58 -61 -64 -66 -66 -66 -66 -66 -67 -67 -65 -60 -53 -48 -42 -38 -34 -29 -25 -22 -22 -24 -25 -25 -25 -25 -24 -25 -26 -26 -26 -26 -25 -24 -24 -24 -25 -25 -25 -26 -26 -26 -27 -27 -28 -28 -28 -27 -27 -27 -27 -27 -26 -26 -25 -25 -24 -24 -24 -23 -23 -22 -22 -21 -20 -19 -18 -17 -16 -15 -14 -14 -14 -14 -14 -15 -15 -16 -16 -16 -16 -16 -16 -16 -15 -15 -14 -12 -10 -10 -10 -11 -12 -13 -13 -13 -13 -12 -11 -11 -11 -12 -12 -12 -11 -9 -7 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -5 -4 -4 -3 -2 -2 -2 -2 -2 -2 -1 0 2 4 6 8 9 10 11 12 13 13 14 15 16 17 19 22 24 26 27 29 31 33 34 35 36 36 37 37 38 38 39 39 39 38 37 36 35 34 33 33 32 32 32 33 33 33 32 32 30 29 28 27 26 26 26 26 26 26 25 26 26 27 28 28 28 29 29 29 30 32 33 34 35 35 36 37 38 39 39 40 40 40 41 40 40 39 39 38 38 38 38 37 36 36 35 35 34 34 34 33 33 33 32 32 31 30 30 29 28 27 27 27 26 26 26 25 25 25 25 26 26 27 27 26 26 27 26 25 24 -53 -52 -52 -54 -55 -57 -58 -60 -61 -63 -64 -64 -63 -62 -60 -58 -58 -58 -59 -62 -62 -60 -56 -52 -48 -44 -43 -44 -47 -50 -54 -56 -54 -49 -44 -42 -44 -47 -46 -42 -36 -33 -33 -35 -37 -38 -38 -38 -37 -36 -36 -34 -31 -29 -30 -32 -32 -30 -27 -25 -24 -26 -29 -31 -32 -32 -31 -30 -34 -39 -44 -48 -51 -51 -52 -53 -52 -49 -47 -44 -40 -37 -35 -36 -37 -37 -36 -38 -40 -39 -38 -40 -44 -47 -47 -47 -47 -47 -48 -49 -50 -50 -49 -44 -40 -41 -44 -47 -46 -42 -40 -41 -42 -42 -41 -40 -40 -40 -42 -45 -46 -45 -44 -45 -47 -49 -47 -45 -42 -41 -41 -41 -42 -43 -45 -47 -50 -52 -53 -53 -53 -53 -53 -53 -52 -48 -44 -45 -48 -52 -54 -56 -58 -60 -63 -65 -68 -70 -71 -72 -72 -72 -73 -74 -74 -71 -66 -55 -48 -44 -39 -33 -27 -25 -24 -24 -25 -24 -24 -24 -25 -26 -27 -27 -26 -25 -25 -25 -25 -25 -25 -25 -26 -26 -27 -27 -28 -29 -29 -29 -29 -29 -29 -28 -28 -27 -26 -25 -25 -24 -24 -23 -23 -22 -21 -20 -19 -18 -17 -17 -15 -14 -14 -13 -13 -14 -14 -14 -15 -15 -15 -16 -16 -16 -15 -15 -15 -15 -14 -13 -11 -10 -10 -10 -11 -12 -13 -13 -13 -12 -11 -11 -11 -11 -11 -11 -10 -9 -7 -6 -5 -5 -5 -5 -6 -6 -7 -7 -7 -6 -6 -5 -5 -4 -3 -2 -2 -2 -2 -2 -2 -1 1 3 4 6 7 7 8 9 10 10 11 12 13 14 16 18 20 21 22 23 25 27 29 31 32 33 35 36 37 38 39 40 40 41 41 40 39 38 36 35 34 33 33 33 33 32 32 32 32 31 29 28 27 26 26 26 26 26 25 25 25 26 26 27 28 28 28 28 28 29 31 32 34 35 36 37 37 38 38 38 39 40 40 40 40 39 39 38 38 38 38 38 38 38 37 36 35 35 34 34 34 34 33 33 33 32 32 31 30 28 27 27 27 27 26 26 26 25 25 26 26 27 27 27 27 27 27 27 26 25 -52 -51 -52 -54 -57 -59 -60 -60 -60 -61 -62 -62 -61 -60 -58 -56 -55 -56 -59 -62 -62 -58 -54 -50 -46 -44 -44 -47 -49 -52 -55 -57 -53 -48 -43 -42 -46 -47 -44 -39 -35 -33 -34 -36 -37 -38 -39 -39 -38 -36 -35 -33 -31 -31 -33 -34 -33 -31 -28 -26 -26 -26 -28 -31 -31 -31 -30 -32 -37 -42 -47 -50 -53 -53 -53 -51 -48 -46 -45 -42 -38 -36 -36 -38 -39 -39 -39 -41 -40 -40 -42 -46 -49 -51 -52 -54 -54 -54 -54 -54 -54 -52 -48 -44 -41 -42 -45 -46 -44 -41 -41 -41 -42 -43 -43 -41 -40 -40 -42 -45 -46 -46 -46 -47 -48 -50 -48 -47 -45 -44 -43 -44 -44 -45 -46 -48 -50 -52 -53 -53 -54 -54 -54 -54 -54 -54 -53 -54 -55 -56 -58 -59 -61 -63 -66 -68 -70 -70 -71 -72 -72 -73 -75 -77 -78 -78 -77 -72 -63 -57 -51 -44 -37 -30 -26 -24 -24 -23 -23 -24 -25 -26 -27 -27 -27 -26 -26 -25 -25 -25 -25 -25 -25 -26 -27 -28 -29 -30 -30 -30 -30 -30 -30 -29 -29 -28 -27 -26 -25 -24 -23 -23 -22 -21 -19 -18 -17 -16 -15 -14 -14 -13 -13 -13 -13 -14 -14 -14 -15 -15 -15 -15 -15 -15 -15 -14 -14 -13 -13 -11 -10 -10 -9 -10 -10 -11 -12 -12 -11 -11 -10 -10 -10 -10 -10 -10 -8 -7 -6 -5 -5 -5 -5 -6 -6 -7 -7 -7 -7 -7 -6 -6 -5 -4 -3 -3 -2 -2 -2 -2 -2 -0 1 3 4 5 6 6 7 8 9 9 9 10 11 13 14 16 17 18 19 20 21 23 25 27 29 31 32 34 35 37 38 39 40 41 41 41 41 40 39 38 36 35 34 33 33 32 32 32 31 30 29 28 27 26 26 26 26 27 26 26 25 25 26 27 27 27 27 27 27 29 30 32 33 34 36 36 37 37 37 37 38 39 40 40 39 39 38 38 38 38 38 39 39 39 38 36 36 35 35 35 34 34 34 34 34 34 34 33 31 29 28 27 27 27 27 27 27 26 26 26 26 27 27 28 28 28 28 28 27 26 -51 -52 -54 -57 -59 -59 -59 -58 -58 -58 -59 -59 -59 -57 -54 -52 -52 -55 -59 -63 -61 -56 -53 -49 -46 -45 -46 -49 -52 -54 -57 -57 -52 -46 -43 -43 -46 -46 -42 -37 -35 -35 -36 -37 -37 -38 -39 -38 -37 -36 -35 -33 -33 -34 -36 -36 -35 -33 -31 -29 -27 -26 -28 -30 -30 -30 -30 -33 -38 -43 -48 -52 -52 -51 -50 -47 -44 -42 -41 -39 -38 -37 -36 -40 -41 -40 -41 -43 -42 -44 -48 -52 -55 -57 -59 -61 -62 -61 -60 -60 -57 -53 -48 -46 -45 -47 -47 -47 -45 -43 -42 -43 -43 -44 -44 -42 -41 -41 -42 -45 -47 -48 -48 -49 -50 -51 -50 -49 -48 -47 -47 -46 -46 -46 -47 -49 -51 -53 -53 -54 -54 -54 -55 -55 -55 -56 -57 -58 -59 -60 -61 -62 -65 -67 -69 -70 -72 -72 -72 -72 -72 -74 -76 -78 -79 -80 -82 -82 -79 -75 -68 -59 -52 -42 -33 -27 -23 -23 -23 -24 -25 -27 -28 -28 -27 -27 -26 -26 -26 -26 -26 -26 -26 -27 -28 -29 -30 -31 -31 -31 -30 -30 -30 -30 -29 -28 -27 -25 -24 -23 -23 -22 -20 -19 -18 -16 -15 -14 -13 -12 -12 -12 -12 -12 -13 -14 -14 -15 -15 -15 -15 -15 -15 -14 -14 -13 -13 -12 -11 -10 -9 -9 -9 -9 -10 -10 -11 -11 -10 -9 -9 -9 -9 -9 -8 -8 -6 -6 -5 -5 -5 -5 -6 -6 -7 -8 -8 -8 -8 -8 -7 -6 -6 -5 -4 -3 -2 -2 -2 -1 -0 1 2 3 4 4 5 6 7 7 7 8 8 9 10 11 13 14 15 16 16 17 18 19 21 23 25 28 30 32 33 35 36 37 38 39 40 40 41 40 40 39 39 37 36 34 32 31 31 31 30 30 29 28 27 26 26 27 27 28 28 27 26 26 26 26 26 26 26 26 27 28 29 30 32 33 35 35 36 36 35 36 37 38 39 38 38 38 37 37 37 37 38 38 39 39 38 37 35 35 35 35 35 35 35 35 35 35 35 35 33 31 29 28 28 28 28 28 28 28 27 27 27 27 27 28 28 28 28 28 28 27 -52 -54 -56 -58 -58 -58 -57 -55 -55 -55 -56 -57 -56 -54 -51 -50 -52 -55 -59 -62 -59 -56 -52 -50 -47 -46 -48 -50 -53 -55 -58 -56 -50 -45 -43 -44 -45 -44 -40 -37 -36 -37 -37 -37 -38 -39 -38 -36 -36 -36 -36 -34 -34 -37 -39 -38 -36 -35 -33 -32 -29 -27 -28 -30 -31 -31 -32 -35 -39 -43 -47 -48 -47 -47 -46 -45 -44 -42 -41 -39 -38 -38 -38 -42 -41 -40 -42 -43 -44 -48 -51 -54 -57 -59 -61 -63 -64 -64 -64 -63 -59 -53 -50 -52 -54 -54 -51 -48 -45 -45 -44 -44 -44 -45 -45 -43 -42 -43 -44 -46 -48 -50 -51 -52 -53 -52 -51 -50 -50 -51 -50 -49 -48 -48 -49 -50 -51 -52 -53 -53 -54 -55 -56 -57 -57 -57 -58 -60 -62 -63 -64 -66 -68 -70 -71 -73 -74 -74 -74 -74 -74 -75 -76 -78 -79 -81 -84 -86 -86 -85 -82 -77 -70 -60 -48 -37 -27 -23 -24 -26 -27 -27 -28 -28 -28 -28 -27 -27 -26 -26 -26 -27 -27 -28 -29 -30 -31 -32 -32 -31 -31 -30 -30 -29 -29 -27 -26 -25 -23 -22 -21 -20 -19 -18 -16 -15 -13 -12 -11 -11 -11 -11 -11 -12 -12 -13 -14 -14 -14 -14 -14 -14 -14 -13 -13 -12 -11 -11 -10 -9 -8 -8 -8 -8 -9 -10 -10 -9 -9 -8 -8 -8 -7 -7 -7 -6 -5 -5 -5 -6 -6 -6 -7 -7 -8 -9 -9 -9 -9 -9 -8 -7 -6 -5 -4 -3 -3 -2 -1 -0 1 2 3 3 3 3 4 5 6 6 6 6 7 8 9 10 11 12 13 13 14 14 15 16 18 20 22 25 27 29 31 32 33 34 34 35 36 37 38 39 39 39 38 37 35 33 31 30 29 29 29 29 28 28 27 27 27 27 28 29 29 29 28 28 27 26 26 26 26 26 27 27 28 29 30 32 33 33 34 34 34 35 36 37 37 37 37 36 36 36 36 36 37 37 38 38 37 36 35 34 34 35 35 36 36 36 36 36 37 36 35 33 31 29 29 29 29 30 30 29 29 28 27 27 28 28 28 28 28 28 28 28 -54 -56 -57 -57 -56 -55 -53 -52 -51 -52 -54 -55 -53 -51 -49 -50 -53 -56 -58 -59 -58 -55 -53 -50 -48 -47 -48 -50 -52 -56 -58 -54 -48 -43 -42 -43 -45 -43 -40 -37 -37 -37 -37 -37 -38 -38 -37 -36 -37 -38 -37 -35 -38 -41 -41 -38 -37 -36 -34 -31 -28 -27 -28 -31 -34 -35 -35 -36 -38 -41 -43 -44 -44 -45 -46 -47 -46 -44 -42 -40 -39 -38 -40 -41 -38 -38 -41 -44 -47 -50 -53 -56 -59 -62 -63 -63 -63 -64 -65 -62 -57 -55 -57 -61 -61 -57 -53 -49 -47 -47 -47 -46 -46 -45 -45 -44 -45 -45 -47 -48 -50 -52 -54 -55 -55 -50 -47 -48 -51 -53 -52 -51 -51 -51 -51 -51 -52 -52 -53 -53 -54 -56 -58 -58 -58 -59 -60 -62 -63 -65 -67 -69 -71 -72 -73 -75 -77 -78 -77 -77 -76 -76 -77 -78 -79 -81 -84 -86 -88 -89 -88 -87 -83 -77 -69 -56 -40 -29 -27 -27 -28 -29 -28 -28 -28 -28 -27 -27 -27 -27 -27 -28 -29 -30 -31 -32 -33 -33 -33 -32 -31 -30 -30 -29 -28 -26 -25 -24 -22 -21 -20 -19 -17 -16 -15 -14 -12 -11 -10 -10 -10 -10 -10 -11 -12 -13 -13 -14 -14 -14 -14 -13 -13 -12 -11 -11 -10 -9 -9 -8 -7 -7 -7 -8 -8 -9 -9 -8 -8 -8 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -9 -9 -10 -10 -10 -10 -10 -9 -8 -7 -6 -5 -4 -3 -2 -0 1 1 2 2 2 2 2 3 4 5 5 5 5 6 6 7 8 9 10 10 11 12 12 13 14 16 18 20 23 25 27 28 29 30 30 31 32 32 34 34 35 36 36 36 34 32 30 28 27 27 27 27 27 27 27 26 26 27 27 28 29 29 30 30 30 29 28 27 27 26 26 26 27 28 29 29 30 30 30 31 31 32 34 35 36 36 35 35 34 34 34 34 35 35 35 36 36 36 35 34 34 34 34 35 36 37 37 37 37 38 37 36 34 32 31 30 30 31 32 32 31 31 29 28 28 28 28 28 28 28 28 28 28 -55 -57 -57 -56 -54 -52 -51 -49 -49 -50 -52 -53 -52 -50 -49 -52 -54 -55 -56 -58 -58 -55 -53 -50 -48 -47 -47 -49 -53 -56 -56 -51 -45 -42 -42 -44 -45 -43 -39 -37 -36 -37 -38 -38 -38 -38 -38 -39 -40 -41 -40 -41 -44 -43 -40 -37 -35 -34 -31 -28 -25 -25 -29 -34 -37 -38 -37 -37 -39 -39 -39 -39 -41 -43 -46 -48 -48 -47 -45 -42 -39 -38 -39 -38 -37 -39 -42 -47 -51 -54 -57 -61 -63 -63 -62 -61 -61 -62 -61 -56 -54 -57 -62 -64 -60 -55 -51 -49 -50 -51 -50 -49 -47 -47 -47 -47 -48 -49 -51 -52 -54 -56 -57 -58 -56 -49 -43 -44 -50 -55 -54 -54 -53 -53 -53 -52 -53 -53 -54 -54 -55 -57 -58 -59 -59 -59 -60 -62 -64 -66 -69 -71 -73 -74 -75 -77 -79 -80 -80 -79 -78 -78 -78 -79 -80 -81 -83 -85 -87 -89 -89 -89 -88 -87 -83 -74 -59 -43 -33 -30 -30 -30 -29 -29 -28 -28 -27 -27 -27 -28 -29 -29 -30 -31 -32 -33 -34 -34 -34 -33 -31 -30 -29 -28 -27 -25 -24 -22 -21 -19 -18 -17 -16 -15 -14 -13 -12 -11 -10 -10 -9 -9 -10 -10 -11 -12 -13 -13 -13 -13 -13 -12 -12 -11 -10 -10 -9 -8 -7 -6 -6 -6 -6 -7 -7 -8 -8 -8 -7 -7 -7 -7 -6 -6 -6 -6 -6 -7 -7 -8 -8 -8 -9 -10 -10 -11 -12 -11 -11 -10 -10 -9 -8 -7 -6 -5 -3 -2 -1 -0 -0 -0 -0 -1 -0 0 1 2 2 2 2 3 4 5 6 6 7 7 8 9 9 10 11 12 14 16 18 20 22 24 25 26 26 27 27 28 28 29 30 31 32 32 32 30 29 27 26 25 24 24 25 25 25 25 25 25 25 25 26 27 28 29 30 31 30 30 29 28 27 26 26 26 27 28 28 28 28 27 27 28 30 32 33 34 34 33 33 32 31 31 31 32 32 33 33 34 34 34 33 33 33 34 35 36 38 38 38 38 38 38 37 35 34 33 32 32 33 34 34 34 33 31 30 29 28 28 29 28 28 28 28 28 -55 -56 -56 -54 -52 -51 -49 -48 -47 -49 -51 -52 -52 -51 -53 -55 -55 -54 -55 -57 -57 -55 -53 -50 -47 -45 -46 -50 -53 -54 -53 -47 -42 -40 -41 -43 -43 -41 -39 -38 -38 -39 -39 -39 -39 -39 -42 -43 -45 -45 -46 -47 -45 -40 -36 -33 -33 -31 -28 -25 -24 -25 -30 -36 -39 -40 -39 -38 -39 -38 -36 -35 -36 -39 -43 -47 -51 -52 -49 -43 -38 -36 -37 -37 -39 -42 -45 -49 -54 -57 -60 -63 -63 -60 -57 -55 -55 -55 -51 -48 -50 -57 -62 -60 -54 -50 -49 -50 -51 -52 -52 -51 -50 -50 -51 -52 -52 -53 -54 -56 -57 -59 -59 -59 -58 -55 -52 -52 -55 -56 -56 -56 -55 -54 -54 -54 -54 -54 -54 -55 -56 -57 -58 -59 -59 -59 -61 -62 -64 -67 -70 -73 -74 -75 -77 -79 -81 -82 -82 -81 -81 -81 -81 -81 -81 -81 -82 -85 -87 -88 -89 -89 -89 -89 -89 -86 -78 -63 -47 -36 -31 -31 -30 -29 -28 -28 -28 -28 -28 -29 -30 -30 -31 -32 -33 -34 -35 -35 -34 -33 -32 -31 -29 -28 -26 -25 -23 -22 -20 -18 -17 -16 -15 -15 -14 -13 -12 -11 -10 -9 -9 -9 -9 -10 -10 -11 -12 -13 -13 -13 -12 -11 -10 -10 -9 -8 -8 -7 -6 -5 -5 -5 -5 -6 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -7 -7 -8 -8 -9 -9 -10 -10 -11 -12 -13 -13 -12 -11 -11 -10 -10 -10 -9 -8 -6 -5 -4 -3 -3 -3 -3 -3 -3 -3 -2 -1 -0 -0 -0 0 1 2 3 4 4 5 5 6 6 7 8 9 10 12 13 15 17 19 20 22 22 23 23 23 24 25 25 27 27 28 28 27 27 26 25 25 24 23 23 23 23 22 22 22 22 22 22 22 23 24 26 27 29 30 30 29 28 27 26 25 25 25 26 26 26 26 25 24 25 27 29 31 32 31 31 30 29 28 28 28 28 29 29 30 31 31 32 32 32 32 32 34 36 39 40 40 40 39 38 37 37 36 35 34 34 35 36 36 36 35 33 31 30 29 29 29 28 28 28 28 29 -55 -56 -54 -52 -51 -50 -48 -46 -45 -47 -50 -52 -54 -56 -59 -58 -55 -54 -54 -55 -56 -56 -53 -50 -47 -44 -46 -50 -52 -52 -50 -44 -40 -38 -38 -39 -39 -39 -40 -41 -42 -42 -42 -42 -42 -43 -45 -47 -49 -49 -48 -46 -41 -36 -32 -31 -30 -28 -26 -24 -24 -26 -32 -36 -38 -39 -38 -39 -40 -38 -35 -33 -34 -37 -41 -46 -52 -55 -50 -44 -38 -35 -36 -38 -42 -44 -47 -50 -55 -57 -59 -59 -57 -53 -48 -46 -45 -44 -42 -45 -52 -58 -59 -52 -48 -46 -47 -49 -51 -52 -53 -53 -54 -55 -56 -56 -56 -57 -57 -58 -59 -61 -61 -60 -59 -58 -59 -59 -58 -57 -57 -56 -56 -56 -56 -56 -56 -56 -56 -56 -57 -58 -58 -59 -59 -60 -61 -63 -65 -68 -71 -73 -75 -76 -77 -79 -82 -83 -84 -83 -83 -83 -83 -83 -83 -83 -84 -85 -86 -87 -88 -88 -89 -90 -91 -91 -90 -82 -65 -48 -36 -31 -31 -30 -29 -28 -28 -28 -29 -30 -31 -31 -32 -33 -34 -35 -36 -35 -34 -33 -32 -31 -29 -28 -26 -24 -23 -21 -19 -18 -16 -15 -15 -14 -13 -13 -12 -11 -10 -9 -9 -8 -9 -9 -10 -11 -12 -12 -12 -12 -11 -10 -9 -9 -8 -8 -7 -6 -5 -4 -4 -4 -5 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -9 -9 -10 -10 -10 -11 -12 -13 -14 -13 -12 -11 -10 -10 -11 -11 -10 -9 -8 -7 -6 -6 -6 -7 -7 -7 -6 -5 -4 -3 -3 -3 -3 -2 -1 0 1 2 3 3 3 4 4 5 6 7 8 10 11 13 14 16 17 18 19 19 19 20 20 21 22 23 23 24 24 24 24 24 24 23 23 22 21 20 20 20 19 19 19 18 17 17 17 18 20 22 25 26 27 27 26 25 23 22 21 21 22 23 23 23 23 22 22 24 26 28 28 28 27 27 26 25 24 24 24 25 25 26 27 28 29 30 30 30 31 32 35 39 42 42 42 40 39 39 38 38 37 37 37 37 37 37 37 36 35 33 31 30 29 29 28 28 28 28 29 -55 -54 -52 -50 -49 -48 -45 -44 -44 -47 -51 -56 -59 -61 -60 -57 -53 -51 -50 -52 -54 -55 -53 -50 -46 -43 -46 -49 -50 -49 -46 -41 -38 -36 -36 -37 -38 -40 -43 -46 -47 -46 -45 -45 -46 -47 -48 -49 -50 -48 -45 -40 -36 -32 -30 -29 -28 -27 -26 -24 -24 -27 -33 -36 -36 -36 -37 -38 -39 -37 -36 -35 -35 -36 -40 -45 -52 -54 -50 -44 -38 -35 -36 -41 -44 -45 -46 -49 -52 -52 -51 -50 -47 -43 -39 -38 -38 -37 -39 -48 -57 -59 -54 -44 -43 -45 -47 -49 -50 -51 -54 -56 -58 -59 -60 -60 -60 -59 -59 -59 -61 -62 -61 -60 -59 -60 -61 -61 -60 -58 -57 -57 -57 -57 -58 -58 -58 -58 -58 -58 -59 -59 -59 -59 -59 -60 -61 -63 -66 -69 -71 -74 -75 -76 -77 -79 -82 -84 -84 -85 -85 -85 -85 -85 -85 -86 -88 -88 -87 -86 -86 -88 -91 -93 -95 -95 -95 -93 -82 -64 -45 -33 -32 -31 -30 -29 -29 -29 -30 -31 -32 -32 -33 -34 -35 -36 -36 -35 -34 -33 -32 -30 -29 -27 -26 -24 -22 -21 -19 -17 -16 -15 -14 -13 -13 -12 -12 -11 -10 -9 -9 -8 -8 -9 -10 -11 -11 -12 -12 -11 -10 -9 -9 -8 -7 -7 -6 -5 -4 -4 -4 -4 -5 -6 -6 -7 -7 -7 -7 -7 -8 -7 -7 -7 -7 -8 -9 -10 -10 -10 -11 -11 -12 -13 -14 -14 -13 -11 -10 -9 -9 -10 -11 -11 -11 -10 -9 -9 -9 -10 -10 -10 -9 -8 -7 -6 -5 -5 -5 -5 -4 -2 -1 -0 0 1 1 2 2 3 4 4 5 6 7 9 10 11 13 14 15 15 15 16 16 16 17 18 19 19 19 20 20 21 21 21 21 20 19 17 16 15 15 15 14 13 12 10 10 10 10 12 15 18 20 22 22 22 21 20 18 17 17 17 18 19 20 20 20 20 21 22 24 24 24 24 23 23 22 21 21 21 21 22 22 23 24 26 26 27 27 28 30 33 37 41 43 43 42 40 40 40 40 39 39 38 38 37 37 37 36 35 34 32 30 29 28 28 28 28 28 29 -54 -52 -50 -49 -47 -45 -42 -43 -46 -51 -56 -60 -61 -60 -57 -53 -50 -47 -47 -48 -51 -54 -53 -49 -44 -42 -44 -47 -48 -46 -43 -39 -36 -36 -37 -39 -40 -43 -47 -49 -50 -48 -47 -47 -48 -49 -49 -48 -47 -43 -39 -35 -33 -31 -30 -29 -29 -27 -26 -25 -26 -29 -33 -33 -32 -31 -33 -35 -35 -36 -36 -36 -35 -35 -38 -43 -47 -49 -48 -44 -38 -35 -38 -41 -43 -43 -43 -45 -44 -41 -40 -40 -39 -37 -37 -38 -38 -38 -41 -52 -60 -57 -48 -40 -42 -45 -47 -48 -49 -52 -56 -59 -61 -62 -63 -63 -62 -61 -60 -60 -62 -63 -62 -61 -60 -60 -61 -61 -59 -58 -57 -57 -58 -58 -59 -60 -60 -60 -60 -61 -61 -61 -60 -60 -60 -61 -62 -64 -66 -69 -72 -74 -75 -76 -78 -80 -83 -84 -85 -85 -85 -87 -88 -88 -88 -88 -89 -89 -88 -88 -89 -90 -92 -95 -97 -98 -98 -97 -91 -77 -57 -37 -34 -32 -31 -30 -30 -30 -30 -31 -32 -33 -34 -35 -36 -36 -36 -35 -34 -32 -31 -30 -28 -27 -25 -23 -22 -20 -18 -17 -15 -14 -13 -13 -13 -12 -12 -11 -10 -9 -9 -8 -8 -9 -10 -11 -11 -11 -11 -10 -9 -9 -8 -8 -7 -6 -5 -5 -4 -4 -4 -5 -5 -6 -7 -7 -7 -7 -7 -8 -8 -8 -7 -7 -8 -9 -10 -11 -11 -11 -11 -12 -13 -14 -14 -14 -12 -10 -8 -8 -8 -9 -10 -11 -11 -11 -11 -11 -12 -12 -12 -12 -11 -10 -9 -8 -7 -7 -7 -6 -5 -4 -3 -2 -1 -1 -0 1 1 2 2 3 3 4 5 6 8 9 10 11 12 12 12 12 12 13 13 13 13 13 14 14 15 16 16 16 16 15 13 12 10 9 8 7 6 4 3 1 -0 -0 1 3 6 9 12 14 16 16 15 14 13 12 12 12 13 13 14 15 16 16 17 18 19 19 20 19 19 20 19 19 18 18 18 18 19 20 21 22 23 24 24 24 26 29 34 38 42 43 42 41 40 41 41 41 40 39 38 37 36 36 35 35 34 32 30 29 28 28 28 28 29 30 -53 -51 -49 -47 -46 -43 -42 -45 -50 -55 -59 -60 -58 -56 -52 -49 -46 -44 -44 -46 -48 -53 -52 -48 -42 -40 -42 -45 -46 -45 -42 -38 -36 -37 -39 -42 -44 -46 -48 -49 -48 -48 -47 -46 -46 -46 -45 -45 -42 -39 -35 -34 -32 -31 -30 -30 -29 -27 -25 -26 -28 -31 -32 -30 -28 -27 -28 -28 -29 -33 -36 -35 -33 -33 -36 -40 -42 -45 -45 -43 -38 -35 -35 -35 -35 -34 -35 -36 -34 -33 -34 -37 -39 -40 -43 -45 -44 -44 -47 -56 -59 -52 -42 -37 -42 -45 -47 -47 -50 -54 -58 -61 -64 -65 -66 -66 -65 -63 -61 -61 -62 -63 -63 -63 -61 -61 -60 -59 -58 -58 -58 -58 -59 -60 -61 -61 -61 -61 -61 -62 -63 -63 -62 -61 -61 -61 -62 -64 -67 -70 -72 -74 -75 -76 -78 -81 -83 -84 -84 -85 -86 -88 -90 -90 -90 -89 -89 -90 -90 -91 -91 -92 -93 -95 -97 -99 -101 -100 -95 -83 -65 -44 -39 -36 -34 -32 -31 -31 -31 -32 -33 -34 -35 -36 -36 -37 -36 -35 -33 -31 -30 -29 -27 -26 -24 -23 -21 -19 -18 -16 -15 -14 -13 -12 -12 -12 -12 -11 -10 -10 -9 -9 -9 -9 -10 -10 -10 -10 -10 -9 -9 -8 -8 -7 -7 -6 -5 -5 -4 -5 -5 -6 -6 -7 -7 -7 -7 -7 -7 -8 -8 -7 -7 -7 -8 -9 -10 -11 -11 -11 -11 -12 -13 -14 -14 -13 -11 -8 -7 -6 -7 -8 -10 -10 -11 -11 -12 -12 -13 -13 -13 -13 -12 -11 -10 -9 -8 -8 -8 -7 -6 -5 -4 -4 -3 -2 -2 -1 -0 0 1 1 2 3 4 5 6 7 8 9 9 9 9 9 9 8 8 7 7 7 7 7 8 8 8 8 7 6 5 4 2 -0 -2 -3 -5 -6 -8 -10 -11 -11 -10 -8 -5 -2 2 5 7 8 8 8 8 7 7 7 7 7 7 7 8 10 11 12 13 14 15 15 16 16 16 16 16 15 15 15 16 17 18 19 20 21 20 20 21 23 27 33 37 40 41 40 39 40 40 41 40 38 37 36 35 34 34 34 33 32 30 29 29 28 29 29 29 30 -51 -50 -48 -46 -45 -43 -44 -48 -53 -57 -58 -57 -54 -52 -49 -46 -43 -43 -43 -45 -47 -51 -51 -46 -41 -40 -42 -44 -45 -45 -42 -39 -38 -40 -43 -45 -44 -43 -44 -43 -43 -42 -42 -42 -41 -40 -39 -40 -39 -37 -35 -34 -31 -30 -29 -29 -28 -25 -25 -27 -30 -32 -31 -27 -24 -23 -24 -23 -26 -31 -34 -33 -31 -32 -34 -36 -38 -40 -40 -36 -31 -27 -26 -27 -28 -30 -33 -37 -38 -38 -40 -44 -48 -49 -52 -56 -58 -58 -59 -62 -57 -46 -37 -38 -44 -47 -48 -49 -52 -55 -58 -61 -65 -68 -69 -69 -68 -65 -62 -62 -62 -63 -63 -63 -61 -60 -58 -58 -58 -57 -58 -59 -60 -61 -61 -61 -61 -61 -62 -64 -64 -63 -62 -62 -62 -62 -63 -65 -68 -71 -73 -74 -75 -76 -79 -82 -84 -84 -85 -85 -87 -90 -91 -91 -91 -90 -90 -91 -93 -95 -95 -94 -94 -96 -98 -101 -102 -102 -99 -90 -75 -57 -51 -46 -40 -34 -34 -33 -32 -32 -33 -34 -35 -36 -37 -37 -36 -34 -32 -30 -29 -27 -26 -24 -23 -21 -20 -18 -17 -15 -14 -13 -12 -12 -12 -11 -11 -11 -10 -10 -9 -9 -10 -10 -10 -10 -10 -9 -9 -9 -8 -8 -7 -7 -6 -6 -5 -5 -5 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -10 -11 -11 -11 -11 -12 -12 -13 -14 -13 -11 -9 -6 -5 -5 -7 -8 -9 -10 -10 -11 -12 -13 -13 -13 -12 -12 -12 -11 -10 -10 -9 -9 -9 -8 -7 -6 -6 -5 -5 -4 -3 -2 -2 -1 -1 0 1 2 3 4 5 6 6 6 6 6 5 5 4 3 2 0 -0 -1 -1 -1 -1 -1 -1 -2 -3 -3 -4 -6 -8 -10 -12 -14 -15 -17 -19 -20 -21 -21 -20 -18 -15 -12 -8 -5 -2 -1 0 1 1 2 2 1 1 0 -0 -1 -0 1 3 5 7 9 10 11 12 13 13 13 13 13 12 12 13 13 14 15 16 17 16 15 15 15 18 24 29 34 37 37 37 37 38 39 38 37 35 34 33 33 33 33 32 31 30 29 29 29 29 29 29 30 -48 -47 -45 -44 -44 -45 -48 -51 -54 -55 -54 -53 -51 -49 -47 -44 -42 -42 -44 -46 -47 -49 -49 -46 -42 -41 -43 -45 -45 -44 -43 -42 -43 -44 -45 -43 -39 -37 -37 -37 -37 -37 -37 -37 -37 -37 -38 -39 -38 -36 -34 -32 -29 -28 -27 -27 -25 -26 -27 -29 -31 -32 -29 -24 -20 -19 -20 -21 -25 -30 -31 -28 -26 -27 -30 -32 -34 -34 -33 -30 -25 -23 -24 -27 -29 -34 -41 -47 -49 -49 -49 -52 -56 -59 -61 -66 -68 -67 -64 -60 -52 -43 -38 -41 -45 -48 -49 -51 -53 -56 -58 -61 -65 -69 -71 -71 -69 -65 -62 -62 -62 -63 -63 -63 -61 -59 -58 -57 -57 -56 -58 -60 -61 -61 -61 -61 -61 -61 -63 -64 -64 -64 -64 -64 -64 -63 -64 -66 -68 -71 -73 -74 -75 -77 -80 -83 -84 -85 -86 -86 -88 -90 -91 -91 -91 -91 -92 -94 -96 -98 -98 -97 -97 -98 -100 -102 -103 -102 -101 -97 -88 -74 -64 -58 -48 -38 -37 -37 -35 -34 -34 -35 -37 -38 -38 -37 -35 -32 -30 -28 -27 -25 -24 -22 -21 -20 -18 -17 -16 -15 -14 -13 -12 -11 -11 -11 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -8 -8 -8 -7 -7 -6 -6 -6 -6 -7 -7 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -9 -10 -11 -11 -11 -11 -12 -12 -13 -13 -13 -10 -7 -5 -4 -5 -7 -8 -9 -10 -10 -11 -12 -12 -12 -12 -11 -11 -11 -11 -11 -11 -10 -10 -10 -9 -8 -8 -7 -6 -6 -5 -4 -4 -3 -3 -2 -1 -0 1 2 2 3 4 4 3 2 2 0 -1 -2 -4 -6 -7 -8 -9 -9 -9 -9 -9 -10 -11 -12 -13 -14 -15 -17 -20 -22 -23 -25 -26 -27 -28 -28 -28 -27 -25 -22 -20 -17 -14 -12 -10 -8 -7 -5 -4 -4 -5 -6 -7 -8 -8 -9 -8 -6 -4 -0 3 5 7 8 9 10 10 10 10 9 9 9 10 10 11 11 12 11 9 7 5 6 11 18 25 30 32 33 34 35 36 36 36 34 33 32 31 31 31 31 30 29 28 28 29 30 30 29 29 -45 -43 -42 -42 -44 -47 -50 -53 -54 -53 -51 -50 -49 -48 -45 -43 -42 -43 -45 -46 -46 -47 -47 -46 -45 -44 -44 -45 -45 -44 -44 -45 -45 -43 -40 -36 -33 -34 -35 -36 -36 -35 -36 -36 -36 -36 -37 -37 -36 -33 -30 -28 -25 -25 -25 -26 -27 -29 -30 -31 -31 -31 -27 -20 -16 -15 -16 -18 -23 -26 -26 -23 -20 -21 -24 -27 -28 -29 -28 -27 -26 -26 -28 -30 -33 -40 -48 -54 -58 -59 -58 -57 -59 -63 -66 -70 -70 -65 -54 -50 -46 -42 -40 -43 -46 -48 -50 -52 -55 -56 -58 -61 -64 -67 -70 -69 -66 -63 -62 -63 -63 -63 -63 -62 -61 -59 -58 -57 -56 -56 -58 -60 -61 -61 -61 -60 -60 -61 -62 -64 -65 -65 -66 -66 -65 -65 -65 -67 -69 -71 -73 -73 -74 -77 -81 -85 -86 -86 -86 -86 -87 -89 -90 -91 -91 -93 -95 -97 -99 -100 -100 -99 -100 -101 -102 -103 -103 -102 -102 -101 -96 -85 -72 -63 -52 -41 -40 -41 -40 -39 -38 -38 -39 -39 -39 -37 -34 -31 -28 -26 -25 -23 -22 -20 -19 -18 -17 -16 -15 -14 -13 -13 -12 -11 -11 -10 -10 -10 -10 -10 -11 -11 -11 -11 -11 -10 -10 -9 -9 -8 -8 -7 -7 -7 -7 -7 -7 -7 -8 -8 -9 -9 -9 -8 -8 -8 -8 -8 -7 -7 -7 -7 -8 -8 -9 -10 -10 -10 -10 -10 -11 -12 -13 -13 -11 -8 -6 -4 -4 -6 -8 -9 -9 -10 -10 -11 -12 -12 -11 -11 -10 -10 -10 -10 -11 -11 -11 -11 -10 -10 -9 -9 -8 -7 -7 -6 -5 -5 -4 -4 -3 -3 -2 -1 0 1 1 1 1 -1 -2 -4 -6 -7 -9 -11 -13 -14 -15 -16 -16 -16 -16 -16 -17 -18 -19 -20 -21 -22 -24 -26 -28 -29 -30 -31 -32 -33 -33 -32 -31 -29 -27 -25 -23 -21 -19 -17 -15 -13 -12 -11 -10 -11 -13 -15 -16 -16 -17 -16 -15 -12 -8 -4 -0 3 4 5 6 7 7 6 6 5 5 5 6 6 6 5 4 1 -2 -7 -10 -6 3 10 20 26 29 30 32 34 35 35 33 31 30 30 30 30 30 29 28 27 27 28 29 30 30 29 -42 -40 -40 -42 -44 -48 -50 -52 -51 -48 -47 -47 -47 -45 -43 -42 -43 -43 -44 -44 -44 -46 -45 -45 -44 -45 -45 -45 -43 -42 -44 -45 -43 -39 -34 -31 -31 -35 -37 -36 -34 -33 -34 -34 -34 -33 -33 -33 -31 -28 -25 -22 -21 -22 -24 -27 -30 -31 -32 -32 -31 -29 -23 -15 -11 -11 -13 -16 -21 -23 -21 -18 -15 -17 -21 -24 -26 -26 -28 -29 -30 -31 -33 -36 -40 -47 -53 -58 -61 -62 -61 -58 -58 -62 -67 -69 -66 -56 -42 -42 -42 -42 -43 -45 -47 -48 -51 -54 -56 -57 -58 -60 -62 -64 -66 -64 -63 -62 -63 -64 -63 -63 -63 -62 -61 -59 -58 -57 -56 -57 -58 -60 -61 -61 -61 -60 -60 -61 -63 -65 -66 -66 -67 -66 -66 -66 -67 -68 -70 -72 -73 -73 -76 -79 -83 -86 -85 -85 -85 -86 -87 -89 -90 -90 -92 -95 -98 -99 -100 -100 -100 -101 -102 -103 -104 -104 -104 -103 -102 -102 -100 -93 -78 -63 -51 -44 -44 -46 -47 -46 -45 -43 -42 -41 -39 -36 -33 -29 -26 -24 -23 -21 -20 -18 -17 -17 -16 -16 -15 -15 -14 -13 -13 -12 -11 -10 -10 -10 -10 -11 -11 -12 -12 -11 -11 -10 -10 -9 -9 -8 -8 -7 -7 -7 -7 -7 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -10 -11 -12 -13 -13 -11 -7 -5 -4 -4 -7 -8 -9 -9 -10 -11 -11 -11 -11 -11 -10 -10 -10 -10 -11 -11 -12 -12 -11 -11 -10 -10 -9 -8 -8 -7 -6 -5 -5 -5 -5 -5 -5 -4 -3 -2 -1 -1 -2 -3 -4 -6 -8 -10 -12 -14 -16 -18 -19 -20 -21 -21 -21 -21 -21 -22 -23 -24 -25 -25 -26 -27 -29 -30 -31 -32 -33 -34 -34 -34 -34 -33 -31 -30 -29 -28 -27 -25 -22 -20 -19 -18 -17 -17 -19 -21 -25 -27 -27 -25 -24 -24 -21 -14 -9 -5 -2 1 1 2 3 3 2 2 1 1 1 1 1 0 -1 -3 -6 -12 -22 -28 -27 -18 -10 4 15 23 27 29 32 34 34 32 30 28 27 28 28 28 27 26 26 26 27 29 30 30 29 -39 -39 -40 -41 -44 -45 -47 -48 -46 -44 -44 -45 -44 -43 -43 -43 -42 -43 -44 -44 -43 -44 -43 -44 -45 -46 -44 -43 -41 -42 -43 -43 -39 -33 -30 -29 -33 -38 -37 -34 -31 -30 -31 -31 -30 -29 -28 -27 -25 -22 -20 -18 -19 -21 -24 -27 -30 -31 -31 -31 -29 -25 -16 -9 -7 -8 -11 -16 -21 -20 -16 -13 -12 -16 -20 -23 -25 -27 -32 -34 -35 -36 -39 -43 -48 -52 -55 -57 -57 -59 -60 -59 -59 -62 -64 -65 -59 -49 -36 -39 -42 -44 -45 -49 -50 -51 -53 -55 -56 -57 -57 -58 -60 -62 -61 -60 -60 -61 -63 -64 -63 -63 -62 -61 -61 -60 -58 -57 -57 -58 -60 -61 -62 -61 -60 -60 -60 -61 -63 -65 -66 -67 -67 -67 -67 -67 -68 -69 -71 -72 -73 -74 -77 -80 -83 -83 -82 -83 -84 -86 -87 -89 -89 -91 -93 -97 -99 -100 -100 -100 -101 -103 -105 -106 -106 -106 -106 -104 -103 -102 -102 -99 -85 -67 -55 -51 -50 -50 -53 -55 -54 -50 -47 -44 -41 -36 -31 -26 -24 -22 -21 -20 -18 -17 -17 -16 -16 -16 -16 -15 -15 -14 -13 -12 -11 -11 -10 -10 -11 -11 -12 -12 -12 -12 -11 -11 -10 -9 -9 -8 -8 -8 -7 -8 -8 -8 -9 -10 -10 -10 -10 -11 -11 -11 -11 -11 -10 -9 -9 -9 -9 -8 -8 -7 -7 -7 -7 -7 -8 -9 -11 -12 -13 -12 -10 -7 -4 -3 -5 -7 -8 -9 -9 -10 -11 -11 -11 -12 -12 -11 -11 -11 -11 -11 -12 -12 -12 -11 -11 -10 -10 -9 -8 -8 -7 -6 -6 -5 -6 -6 -7 -7 -7 -6 -6 -5 -4 -4 -5 -6 -8 -10 -12 -14 -16 -17 -19 -21 -23 -24 -25 -25 -25 -25 -26 -26 -26 -26 -27 -27 -28 -30 -32 -33 -34 -35 -35 -36 -35 -35 -34 -34 -34 -33 -33 -32 -31 -29 -26 -24 -23 -24 -25 -27 -29 -34 -41 -40 -36 -33 -34 -33 -22 -16 -11 -6 -3 -2 -2 -1 -1 -2 -3 -3 -4 -4 -4 -4 -5 -5 -8 -12 -21 -35 -43 -43 -36 -29 -15 -0 13 22 25 29 32 32 31 28 25 24 24 25 26 26 25 25 25 25 27 29 29 29 -39 -40 -41 -41 -42 -42 -44 -44 -43 -42 -43 -43 -43 -43 -43 -42 -42 -44 -44 -43 -41 -41 -42 -45 -47 -47 -43 -41 -40 -40 -41 -38 -35 -30 -28 -31 -37 -39 -36 -32 -30 -30 -29 -27 -25 -24 -23 -22 -20 -19 -17 -17 -20 -23 -26 -28 -30 -31 -30 -29 -24 -16 -7 -4 -5 -9 -13 -19 -22 -18 -13 -9 -11 -18 -21 -23 -25 -30 -36 -38 -39 -40 -43 -47 -52 -56 -57 -55 -52 -55 -60 -64 -64 -61 -57 -58 -56 -48 -37 -38 -41 -45 -48 -52 -53 -55 -56 -57 -56 -56 -57 -58 -59 -60 -59 -58 -59 -61 -62 -63 -63 -63 -62 -61 -60 -60 -59 -58 -58 -60 -61 -62 -63 -62 -61 -60 -60 -61 -63 -65 -67 -67 -67 -67 -67 -68 -69 -71 -72 -73 -73 -75 -77 -80 -80 -80 -79 -81 -83 -86 -88 -89 -90 -92 -93 -96 -99 -100 -101 -102 -104 -105 -107 -109 -110 -110 -109 -107 -105 -104 -103 -102 -92 -79 -69 -64 -60 -57 -59 -63 -66 -60 -54 -50 -44 -38 -31 -25 -22 -21 -20 -19 -18 -17 -17 -17 -17 -17 -16 -16 -15 -15 -14 -13 -12 -12 -11 -11 -12 -12 -13 -13 -13 -12 -12 -11 -10 -9 -9 -9 -8 -8 -8 -9 -9 -10 -10 -11 -11 -11 -12 -12 -13 -13 -13 -12 -11 -11 -11 -10 -9 -8 -7 -5 -4 -4 -5 -6 -7 -9 -10 -12 -12 -12 -9 -6 -4 -3 -4 -6 -7 -8 -9 -9 -10 -11 -11 -12 -13 -13 -13 -13 -12 -12 -12 -12 -12 -11 -10 -10 -9 -9 -8 -8 -7 -7 -6 -6 -6 -7 -8 -9 -10 -9 -9 -8 -7 -7 -7 -8 -9 -11 -12 -14 -15 -17 -19 -22 -24 -26 -27 -27 -28 -27 -27 -27 -26 -26 -26 -27 -29 -31 -33 -35 -37 -38 -38 -39 -39 -38 -38 -38 -39 -40 -40 -40 -39 -37 -35 -32 -28 -32 -37 -39 -40 -44 -52 -53 -49 -46 -46 -45 -33 -25 -19 -12 -7 -5 -5 -5 -5 -5 -6 -8 -8 -9 -9 -9 -9 -9 -11 -16 -28 -42 -50 -48 -41 -31 -26 -16 0 16 20 24 28 29 28 25 22 21 21 22 23 24 24 24 24 24 25 27 29 29 -41 -42 -41 -40 -40 -41 -42 -43 -43 -43 -42 -42 -42 -43 -42 -42 -43 -45 -43 -40 -38 -40 -43 -47 -49 -48 -42 -38 -37 -37 -37 -34 -31 -29 -29 -33 -38 -36 -33 -31 -32 -33 -29 -25 -22 -21 -21 -20 -19 -19 -19 -20 -23 -25 -27 -30 -32 -33 -29 -23 -15 -6 -1 -2 -7 -12 -17 -23 -23 -17 -10 -7 -12 -18 -21 -23 -27 -34 -39 -41 -42 -43 -45 -49 -53 -55 -55 -52 -53 -59 -65 -67 -62 -52 -49 -54 -57 -51 -37 -36 -40 -46 -50 -51 -53 -54 -55 -55 -55 -58 -59 -60 -59 -58 -57 -58 -58 -59 -61 -62 -63 -62 -62 -61 -60 -60 -60 -59 -59 -60 -63 -64 -64 -63 -62 -61 -61 -62 -63 -65 -66 -67 -68 -69 -69 -69 -70 -72 -73 -74 -74 -76 -77 -78 -78 -78 -79 -81 -83 -86 -88 -90 -91 -92 -94 -96 -97 -99 -101 -103 -105 -106 -108 -111 -114 -115 -113 -110 -107 -105 -104 -102 -97 -90 -86 -85 -80 -70 -64 -67 -73 -72 -65 -59 -51 -42 -33 -26 -22 -20 -19 -19 -18 -18 -18 -18 -18 -17 -17 -16 -16 -15 -14 -14 -13 -12 -12 -12 -12 -13 -13 -13 -13 -13 -12 -11 -10 -10 -9 -9 -9 -9 -10 -10 -11 -11 -11 -12 -12 -13 -13 -14 -14 -14 -14 -13 -13 -12 -12 -11 -9 -6 -4 -2 -1 -2 -3 -5 -7 -8 -10 -11 -11 -11 -8 -5 -3 -2 -3 -5 -7 -8 -8 -9 -9 -10 -11 -13 -14 -15 -15 -15 -14 -14 -13 -13 -12 -11 -10 -9 -9 -8 -8 -8 -8 -7 -7 -7 -8 -8 -10 -11 -11 -12 -12 -11 -10 -9 -9 -9 -10 -11 -12 -13 -15 -17 -19 -21 -24 -26 -27 -28 -28 -27 -27 -26 -26 -26 -27 -28 -30 -33 -35 -38 -40 -41 -42 -43 -44 -44 -43 -44 -46 -48 -49 -49 -48 -49 -48 -44 -36 -40 -48 -52 -52 -50 -47 -48 -53 -58 -61 -56 -45 -38 -32 -22 -14 -10 -8 -8 -8 -8 -9 -10 -11 -12 -13 -12 -12 -12 -13 -17 -31 -43 -49 -46 -42 -27 -21 -16 -5 10 14 18 22 25 25 22 19 17 17 18 20 22 23 23 23 23 23 25 27 28 -42 -41 -40 -39 -40 -40 -41 -42 -43 -43 -42 -41 -42 -41 -41 -43 -46 -44 -41 -38 -37 -39 -44 -50 -51 -47 -40 -35 -34 -34 -33 -30 -29 -28 -29 -31 -33 -31 -31 -33 -36 -37 -32 -26 -23 -22 -22 -22 -22 -24 -24 -25 -26 -26 -28 -30 -33 -32 -24 -14 -5 -1 -2 -7 -12 -17 -22 -28 -24 -15 -8 -8 -14 -19 -21 -25 -29 -34 -38 -40 -42 -45 -49 -52 -55 -57 -56 -55 -58 -65 -67 -60 -44 -36 -45 -56 -58 -49 -35 -34 -39 -44 -47 -48 -50 -51 -52 -54 -57 -62 -63 -61 -58 -56 -57 -57 -57 -57 -59 -61 -62 -62 -62 -61 -60 -60 -60 -60 -60 -61 -63 -65 -65 -64 -63 -62 -62 -63 -64 -66 -66 -67 -68 -70 -70 -71 -72 -73 -74 -74 -75 -76 -77 -78 -78 -79 -80 -82 -84 -86 -88 -90 -92 -93 -94 -95 -96 -98 -101 -103 -104 -105 -108 -111 -115 -116 -115 -113 -109 -107 -105 -103 -100 -100 -102 -105 -105 -90 -70 -59 -65 -77 -77 -73 -64 -51 -39 -29 -23 -19 -19 -19 -19 -19 -19 -19 -19 -18 -17 -16 -15 -15 -14 -14 -13 -13 -13 -13 -13 -14 -14 -14 -14 -13 -12 -11 -10 -10 -10 -10 -10 -11 -11 -12 -12 -12 -13 -13 -14 -14 -15 -15 -16 -15 -15 -14 -14 -14 -12 -10 -7 -4 -1 1 1 -0 -2 -4 -6 -8 -9 -10 -11 -9 -7 -4 -1 -1 -3 -5 -6 -7 -8 -8 -9 -10 -11 -13 -14 -16 -17 -16 -16 -15 -14 -13 -13 -12 -10 -9 -9 -8 -8 -8 -8 -8 -8 -8 -9 -9 -10 -11 -12 -13 -13 -13 -12 -11 -11 -11 -11 -12 -13 -14 -15 -17 -19 -22 -24 -26 -27 -27 -27 -27 -27 -27 -27 -28 -29 -31 -32 -35 -37 -39 -42 -44 -46 -48 -49 -51 -51 -52 -54 -58 -62 -61 -60 -62 -63 -60 -47 -50 -54 -55 -52 -47 -39 -38 -44 -55 -62 -60 -56 -52 -47 -37 -24 -16 -11 -10 -11 -11 -11 -12 -14 -15 -16 -16 -16 -15 -15 -18 -29 -39 -43 -39 -42 -28 -15 -5 -0 6 9 13 17 20 21 19 16 14 13 14 16 19 21 23 23 22 22 22 24 26 -41 -39 -39 -39 -39 -39 -40 -42 -43 -43 -41 -41 -41 -40 -41 -44 -47 -43 -38 -36 -36 -40 -47 -51 -51 -46 -38 -33 -32 -31 -30 -27 -26 -25 -25 -25 -24 -27 -30 -34 -36 -38 -36 -32 -28 -25 -24 -24 -25 -26 -27 -28 -26 -23 -22 -24 -25 -20 -9 -3 -2 -3 -6 -11 -18 -24 -28 -30 -23 -14 -8 -9 -16 -19 -20 -23 -27 -31 -34 -37 -41 -45 -50 -54 -56 -57 -57 -56 -59 -65 -59 -45 -31 -36 -52 -60 -57 -44 -32 -34 -38 -42 -44 -46 -48 -50 -52 -55 -60 -63 -61 -57 -54 -54 -58 -58 -56 -56 -57 -59 -60 -61 -61 -61 -60 -60 -60 -60 -60 -62 -64 -66 -66 -65 -63 -63 -63 -64 -65 -67 -67 -67 -69 -71 -72 -72 -73 -73 -73 -74 -75 -76 -77 -78 -79 -81 -82 -84 -86 -88 -90 -91 -93 -94 -95 -95 -96 -98 -100 -101 -102 -103 -106 -110 -113 -115 -115 -113 -111 -109 -106 -103 -100 -100 -102 -106 -108 -98 -81 -63 -56 -65 -80 -87 -83 -67 -50 -38 -27 -20 -19 -20 -20 -20 -20 -20 -19 -18 -17 -16 -15 -15 -15 -14 -14 -14 -14 -14 -14 -14 -15 -15 -14 -13 -12 -12 -11 -11 -11 -11 -12 -12 -13 -13 -14 -14 -14 -15 -15 -16 -16 -16 -16 -16 -15 -15 -15 -14 -12 -8 -4 -1 2 3 2 1 -1 -3 -6 -8 -9 -10 -10 -8 -5 -3 -1 -1 -3 -5 -6 -8 -8 -9 -9 -10 -11 -12 -14 -16 -17 -17 -16 -15 -15 -14 -14 -13 -11 -10 -9 -8 -8 -8 -9 -9 -9 -10 -10 -10 -11 -11 -12 -13 -13 -14 -14 -13 -13 -13 -13 -14 -15 -16 -17 -19 -21 -23 -25 -27 -28 -28 -29 -29 -30 -31 -32 -33 -34 -35 -36 -37 -39 -41 -43 -45 -48 -51 -55 -60 -64 -65 -67 -73 -79 -76 -71 -72 -75 -72 -63 -60 -56 -50 -46 -42 -39 -39 -43 -51 -60 -59 -54 -52 -55 -53 -39 -25 -16 -13 -13 -13 -13 -14 -15 -17 -18 -19 -20 -21 -21 -20 -25 -33 -37 -31 -42 -35 -17 1 4 5 7 9 13 16 17 16 14 12 11 11 12 15 18 21 22 21 20 19 20 23 -38 -38 -38 -38 -38 -38 -39 -41 -42 -42 -41 -41 -40 -40 -42 -45 -46 -41 -37 -36 -38 -43 -48 -49 -48 -43 -34 -30 -30 -30 -28 -26 -22 -19 -18 -17 -18 -22 -27 -31 -33 -35 -36 -34 -31 -28 -25 -23 -22 -21 -21 -20 -15 -12 -13 -16 -15 -5 2 2 -2 -5 -7 -14 -22 -28 -31 -28 -20 -12 -8 -10 -15 -17 -19 -22 -26 -28 -30 -32 -36 -42 -47 -50 -51 -52 -53 -53 -57 -58 -48 -34 -28 -41 -55 -58 -50 -37 -29 -32 -37 -41 -43 -45 -47 -49 -52 -56 -60 -59 -55 -52 -53 -59 -63 -60 -56 -55 -56 -58 -60 -60 -60 -60 -60 -60 -60 -60 -62 -64 -66 -66 -66 -64 -63 -63 -64 -65 -66 -67 -67 -68 -68 -70 -72 -72 -72 -72 -72 -73 -75 -77 -78 -80 -81 -82 -84 -86 -88 -90 -92 -93 -94 -95 -95 -95 -97 -99 -101 -101 -100 -102 -104 -107 -110 -112 -113 -113 -112 -110 -108 -105 -102 -100 -100 -102 -105 -104 -95 -81 -65 -59 -68 -80 -87 -84 -69 -55 -39 -25 -20 -22 -22 -22 -22 -21 -20 -18 -17 -16 -15 -15 -15 -15 -14 -14 -14 -14 -15 -15 -15 -15 -15 -14 -13 -12 -12 -12 -13 -13 -14 -14 -15 -15 -15 -15 -16 -16 -17 -17 -17 -17 -16 -16 -16 -16 -16 -14 -11 -6 -2 1 4 4 4 2 0 -2 -5 -7 -8 -9 -8 -7 -4 -2 -1 -1 -3 -5 -7 -8 -9 -10 -10 -11 -11 -12 -14 -15 -16 -16 -16 -15 -15 -15 -14 -13 -12 -10 -9 -8 -8 -8 -9 -9 -10 -10 -11 -11 -12 -12 -13 -13 -13 -14 -14 -14 -15 -15 -16 -17 -18 -19 -20 -22 -24 -26 -28 -30 -31 -32 -33 -34 -35 -36 -38 -39 -39 -39 -40 -41 -42 -43 -44 -46 -49 -53 -59 -68 -78 -83 -85 -87 -89 -79 -68 -69 -78 -82 -77 -70 -60 -50 -44 -43 -48 -52 -55 -57 -62 -60 -54 -51 -58 -60 -53 -37 -22 -16 -15 -15 -15 -15 -17 -19 -22 -23 -25 -27 -33 -33 -34 -36 -38 -30 -42 -39 -22 -0 4 5 5 7 10 13 15 15 13 10 9 8 9 11 14 19 20 20 18 17 17 18 -36 -37 -37 -37 -37 -37 -38 -39 -41 -41 -41 -40 -40 -40 -43 -46 -45 -39 -37 -38 -41 -45 -46 -46 -45 -40 -32 -28 -28 -29 -27 -22 -16 -15 -16 -16 -18 -20 -22 -23 -25 -28 -29 -28 -26 -23 -20 -17 -14 -13 -11 -9 -5 -7 -10 -12 -8 2 4 1 -3 -5 -6 -14 -24 -30 -30 -22 -14 -9 -8 -11 -14 -15 -18 -21 -23 -25 -26 -29 -33 -36 -38 -39 -41 -43 -45 -47 -49 -46 -36 -28 -29 -41 -51 -51 -43 -31 -27 -31 -36 -40 -41 -43 -46 -48 -51 -54 -55 -52 -50 -51 -58 -67 -67 -59 -54 -54 -55 -57 -58 -59 -59 -59 -60 -59 -60 -61 -63 -65 -66 -66 -65 -64 -63 -64 -64 -65 -66 -66 -67 -67 -68 -68 -70 -71 -71 -71 -73 -75 -77 -78 -80 -81 -82 -84 -86 -89 -91 -92 -95 -97 -98 -98 -97 -96 -99 -102 -102 -101 -101 -102 -104 -106 -108 -109 -111 -112 -112 -111 -111 -109 -107 -103 -100 -99 -101 -103 -102 -96 -82 -68 -64 -68 -75 -80 -83 -79 -63 -41 -25 -24 -25 -25 -24 -22 -21 -19 -17 -16 -16 -16 -15 -15 -15 -15 -15 -15 -16 -16 -16 -16 -15 -14 -14 -13 -13 -14 -14 -15 -16 -16 -16 -16 -16 -17 -17 -18 -18 -18 -18 -17 -17 -17 -17 -17 -16 -13 -9 -4 -0 3 5 5 5 3 1 -1 -4 -6 -7 -8 -7 -5 -3 -1 -1 -1 -3 -6 -8 -10 -11 -12 -12 -12 -13 -13 -13 -14 -14 -14 -14 -15 -15 -15 -14 -13 -12 -11 -10 -9 -9 -9 -9 -9 -10 -11 -12 -13 -13 -13 -14 -14 -14 -14 -15 -15 -16 -18 -19 -20 -22 -23 -24 -26 -28 -31 -33 -35 -37 -38 -39 -40 -41 -42 -43 -43 -43 -43 -43 -44 -45 -45 -46 -47 -50 -53 -60 -72 -88 -96 -97 -95 -91 -80 -68 -68 -79 -85 -82 -78 -71 -62 -53 -52 -60 -67 -69 -67 -68 -66 -62 -59 -61 -62 -58 -48 -33 -22 -19 -18 -18 -18 -19 -22 -28 -31 -32 -33 -44 -48 -49 -48 -46 -38 -42 -37 -21 -4 2 3 4 5 7 10 12 13 12 10 7 7 6 6 8 16 19 18 17 14 14 14 -34 -35 -36 -36 -36 -36 -37 -38 -39 -40 -40 -39 -39 -40 -43 -46 -43 -39 -39 -41 -42 -41 -41 -43 -43 -40 -31 -26 -25 -24 -21 -17 -15 -17 -19 -20 -19 -18 -17 -18 -20 -21 -20 -19 -17 -15 -12 -9 -8 -7 -5 -2 -2 -6 -9 -9 -4 2 1 -3 -5 -5 -6 -16 -26 -30 -26 -14 -8 -6 -8 -10 -12 -13 -16 -18 -19 -21 -24 -28 -30 -30 -28 -28 -31 -34 -37 -39 -39 -35 -29 -26 -29 -38 -46 -46 -38 -27 -24 -29 -34 -38 -39 -41 -45 -48 -49 -49 -48 -46 -48 -55 -64 -70 -63 -55 -51 -53 -55 -57 -57 -57 -57 -58 -58 -59 -60 -62 -65 -65 -66 -66 -65 -64 -64 -64 -64 -64 -64 -65 -66 -66 -67 -67 -69 -70 -72 -73 -75 -77 -78 -79 -80 -82 -83 -86 -88 -91 -93 -95 -100 -102 -103 -101 -99 -100 -103 -104 -104 -103 -103 -104 -105 -106 -107 -107 -109 -110 -111 -112 -113 -113 -111 -106 -102 -98 -98 -100 -102 -101 -95 -84 -74 -67 -61 -56 -69 -83 -79 -61 -38 -28 -27 -27 -26 -24 -23 -21 -19 -18 -17 -17 -16 -16 -16 -16 -16 -17 -17 -16 -16 -16 -15 -15 -15 -15 -15 -16 -17 -17 -18 -18 -17 -17 -17 -17 -18 -19 -19 -19 -18 -17 -17 -17 -17 -17 -15 -11 -7 -2 1 4 5 6 5 4 2 -0 -3 -5 -6 -7 -6 -4 -2 -1 -0 -1 -4 -6 -9 -11 -13 -14 -14 -15 -15 -15 -14 -13 -13 -13 -13 -14 -14 -15 -14 -13 -12 -12 -11 -11 -11 -10 -10 -10 -10 -12 -13 -14 -15 -15 -15 -16 -16 -16 -16 -17 -18 -20 -22 -24 -25 -27 -28 -31 -33 -36 -39 -41 -42 -43 -45 -46 -47 -47 -48 -47 -47 -46 -46 -46 -46 -47 -48 -49 -50 -53 -57 -69 -87 -98 -99 -94 -85 -77 -68 -69 -81 -86 -85 -80 -72 -60 -54 -60 -70 -76 -76 -75 -74 -73 -71 -68 -63 -58 -58 -55 -47 -34 -27 -24 -23 -24 -24 -27 -36 -43 -43 -40 -51 -55 -56 -55 -53 -50 -47 -36 -20 -13 -4 0 1 2 4 7 10 11 10 8 6 5 4 2 1 13 17 17 15 12 9 9 -34 -34 -35 -35 -36 -36 -36 -37 -38 -38 -38 -37 -37 -38 -41 -43 -41 -38 -38 -38 -38 -38 -38 -41 -41 -38 -29 -22 -20 -19 -18 -18 -20 -22 -21 -20 -17 -15 -15 -15 -15 -14 -13 -12 -10 -8 -6 -5 -6 -5 -3 -1 -2 -5 -6 -5 -3 0 -3 -7 -9 -9 -12 -21 -28 -28 -19 -6 -4 -5 -6 -8 -10 -13 -14 -14 -14 -17 -22 -26 -26 -23 -19 -23 -27 -30 -31 -32 -29 -27 -25 -25 -29 -36 -42 -44 -39 -28 -22 -27 -31 -35 -37 -41 -45 -47 -46 -45 -44 -46 -51 -60 -66 -65 -54 -49 -50 -53 -57 -58 -57 -55 -55 -56 -57 -58 -60 -63 -64 -65 -65 -65 -64 -64 -63 -63 -63 -63 -63 -64 -65 -66 -66 -67 -68 -70 -72 -75 -76 -77 -78 -79 -81 -83 -84 -87 -89 -92 -94 -98 -101 -104 -104 -103 -102 -103 -104 -105 -105 -105 -104 -105 -106 -107 -107 -107 -108 -108 -110 -112 -114 -114 -112 -109 -105 -101 -99 -99 -99 -100 -99 -94 -87 -73 -55 -37 -52 -72 -78 -70 -50 -34 -31 -30 -29 -27 -25 -23 -22 -21 -19 -18 -17 -17 -17 -17 -18 -18 -17 -17 -16 -16 -16 -16 -16 -17 -17 -18 -19 -19 -19 -19 -18 -18 -18 -18 -19 -19 -19 -19 -18 -18 -18 -18 -17 -16 -14 -9 -4 -0 2 4 6 6 5 4 2 0 -2 -4 -6 -7 -6 -4 -2 -1 -1 -2 -4 -7 -10 -12 -14 -16 -17 -17 -17 -17 -16 -14 -13 -12 -12 -13 -14 -14 -14 -14 -13 -13 -13 -13 -13 -13 -12 -12 -12 -13 -14 -16 -17 -17 -18 -17 -17 -17 -18 -18 -19 -21 -24 -27 -29 -32 -34 -36 -38 -40 -43 -45 -46 -47 -49 -50 -51 -51 -51 -51 -50 -49 -48 -48 -48 -48 -49 -51 -52 -53 -55 -62 -78 -90 -94 -86 -74 -69 -68 -72 -84 -88 -87 -82 -70 -55 -57 -70 -81 -83 -81 -80 -79 -78 -76 -73 -63 -51 -50 -53 -50 -42 -38 -34 -32 -33 -35 -35 -44 -53 -54 -49 -54 -57 -58 -57 -57 -56 -53 -45 -34 -30 -16 -7 -3 -2 -0 3 6 8 8 7 5 4 3 1 -3 9 14 15 13 8 3 1 -32 -33 -34 -35 -35 -35 -35 -36 -36 -36 -36 -35 -34 -35 -36 -38 -37 -35 -34 -35 -36 -36 -37 -39 -38 -33 -24 -17 -14 -15 -18 -23 -26 -23 -18 -14 -12 -12 -12 -12 -11 -9 -9 -8 -7 -6 -5 -6 -7 -5 -2 -1 -1 -1 -0 -1 -1 -1 -4 -8 -12 -15 -19 -25 -28 -22 -11 -1 -3 -5 -6 -7 -9 -12 -12 -12 -12 -16 -21 -24 -21 -17 -16 -22 -25 -26 -25 -24 -23 -25 -25 -27 -29 -33 -38 -44 -44 -35 -23 -25 -29 -34 -39 -43 -45 -44 -43 -44 -47 -51 -56 -61 -61 -53 -45 -46 -51 -56 -59 -58 -55 -53 -53 -54 -56 -58 -60 -62 -63 -64 -64 -64 -64 -63 -62 -62 -62 -61 -61 -62 -64 -66 -67 -67 -68 -70 -72 -74 -76 -76 -77 -79 -82 -83 -85 -86 -88 -91 -94 -97 -100 -102 -102 -102 -102 -102 -102 -102 -102 -101 -101 -103 -104 -106 -106 -106 -106 -107 -108 -110 -111 -111 -111 -110 -108 -105 -102 -99 -97 -96 -95 -96 -92 -78 -54 -30 -40 -54 -63 -64 -55 -40 -35 -33 -32 -30 -28 -27 -26 -24 -22 -20 -19 -18 -18 -18 -19 -19 -18 -18 -17 -16 -17 -17 -18 -18 -19 -20 -20 -21 -20 -20 -19 -18 -18 -18 -19 -19 -19 -19 -18 -18 -18 -18 -17 -15 -11 -6 -2 1 3 4 5 5 4 3 2 0 -2 -4 -6 -7 -6 -5 -3 -2 -2 -3 -5 -7 -10 -13 -15 -17 -18 -19 -19 -19 -17 -16 -15 -14 -14 -13 -14 -14 -15 -15 -14 -14 -15 -15 -16 -16 -16 -15 -15 -15 -16 -17 -18 -19 -19 -19 -19 -19 -19 -20 -21 -23 -26 -29 -32 -36 -38 -40 -41 -43 -44 -46 -47 -49 -50 -52 -53 -54 -54 -54 -53 -52 -51 -50 -50 -50 -51 -52 -53 -54 -55 -57 -66 -78 -86 -77 -66 -65 -71 -79 -88 -89 -89 -85 -76 -60 -61 -73 -82 -84 -83 -83 -81 -79 -77 -75 -63 -47 -42 -46 -47 -43 -43 -43 -44 -45 -48 -45 -50 -57 -59 -56 -55 -55 -57 -58 -57 -56 -56 -55 -52 -48 -32 -17 -8 -7 -5 -2 2 5 6 5 3 2 2 1 0 6 11 13 10 3 -5 -9 -32 -33 -34 -35 -35 -35 -35 -35 -34 -33 -33 -32 -31 -31 -33 -35 -34 -32 -31 -33 -35 -36 -36 -36 -33 -27 -19 -12 -10 -13 -20 -28 -26 -17 -10 -6 -7 -8 -8 -7 -7 -6 -6 -7 -6 -6 -7 -9 -7 -3 -1 -0 2 6 6 4 0 -1 -4 -7 -11 -15 -19 -21 -20 -13 -5 -2 -5 -6 -7 -7 -8 -11 -12 -14 -17 -20 -23 -22 -18 -15 -16 -20 -21 -20 -19 -19 -21 -24 -25 -26 -28 -31 -37 -48 -52 -45 -29 -27 -30 -36 -42 -45 -44 -44 -45 -48 -54 -56 -56 -55 -52 -45 -42 -46 -53 -60 -62 -56 -52 -50 -51 -53 -55 -57 -59 -61 -63 -63 -63 -63 -62 -62 -62 -61 -60 -59 -59 -61 -64 -66 -67 -68 -69 -70 -71 -73 -74 -75 -77 -80 -82 -83 -83 -84 -86 -89 -92 -95 -97 -98 -99 -100 -100 -100 -99 -99 -98 -97 -97 -99 -101 -102 -103 -103 -103 -104 -105 -106 -106 -107 -108 -108 -108 -108 -106 -101 -96 -92 -91 -93 -90 -78 -55 -29 -32 -40 -50 -58 -62 -49 -40 -36 -34 -32 -31 -30 -29 -28 -26 -23 -21 -20 -19 -19 -20 -20 -19 -18 -18 -17 -17 -18 -19 -20 -21 -21 -22 -22 -21 -20 -19 -19 -18 -19 -19 -19 -19 -19 -18 -19 -19 -18 -16 -13 -8 -3 -1 1 2 3 3 3 2 2 1 -0 -2 -4 -6 -7 -7 -6 -5 -4 -4 -4 -6 -8 -10 -13 -15 -17 -18 -19 -19 -19 -18 -18 -17 -17 -16 -15 -15 -15 -16 -17 -17 -17 -17 -17 -19 -20 -20 -20 -20 -19 -19 -19 -20 -20 -20 -21 -21 -21 -21 -21 -23 -24 -27 -31 -35 -39 -42 -44 -44 -44 -45 -46 -47 -48 -49 -51 -53 -54 -55 -55 -55 -54 -53 -52 -52 -52 -53 -54 -54 -55 -56 -58 -63 -70 -77 -72 -73 -77 -83 -89 -91 -91 -91 -89 -84 -74 -70 -75 -78 -76 -76 -81 -81 -77 -73 -75 -66 -50 -42 -45 -50 -45 -44 -46 -51 -55 -54 -54 -56 -59 -59 -57 -52 -51 -56 -58 -56 -53 -54 -58 -61 -56 -41 -24 -12 -12 -11 -7 -3 1 3 3 1 -1 -2 -3 -5 -2 3 7 4 -5 -13 -14 -33 -33 -34 -34 -34 -34 -34 -32 -31 -31 -30 -30 -29 -30 -32 -33 -32 -30 -30 -31 -33 -34 -34 -31 -27 -21 -15 -9 -8 -13 -21 -26 -16 -5 -1 -2 -4 -4 -4 -4 -4 -4 -6 -7 -6 -5 -7 -8 -5 -2 -0 0 6 10 8 5 3 1 -2 -3 -5 -8 -10 -10 -10 -9 -7 -9 -10 -8 -7 -6 -8 -12 -14 -16 -18 -21 -21 -17 -14 -13 -16 -19 -19 -19 -19 -20 -23 -24 -25 -27 -31 -35 -44 -52 -53 -41 -25 -26 -31 -38 -43 -45 -45 -47 -48 -51 -53 -50 -48 -47 -47 -44 -43 -49 -59 -65 -62 -52 -49 -49 -51 -53 -55 -57 -59 -61 -62 -62 -62 -62 -62 -62 -62 -61 -59 -57 -56 -59 -62 -65 -67 -69 -70 -70 -71 -72 -73 -75 -77 -79 -80 -81 -81 -82 -85 -87 -91 -93 -94 -96 -96 -97 -97 -97 -97 -97 -96 -94 -95 -96 -98 -99 -99 -99 -99 -99 -100 -101 -102 -103 -104 -104 -104 -104 -104 -102 -97 -92 -89 -90 -87 -76 -55 -30 -31 -38 -51 -66 -78 -66 -52 -42 -38 -36 -34 -33 -32 -31 -29 -27 -25 -23 -22 -22 -21 -21 -20 -19 -19 -18 -19 -19 -20 -21 -22 -22 -22 -22 -21 -20 -20 -19 -19 -19 -19 -19 -18 -18 -19 -19 -19 -17 -14 -9 -5 -2 -1 0 1 1 1 1 0 0 -0 -1 -2 -4 -6 -7 -8 -8 -8 -7 -7 -7 -8 -9 -10 -12 -15 -16 -18 -18 -19 -19 -19 -18 -18 -19 -18 -17 -16 -16 -17 -19 -20 -20 -20 -20 -21 -23 -25 -26 -26 -25 -23 -22 -21 -21 -21 -21 -21 -22 -22 -23 -24 -26 -29 -33 -37 -41 -44 -47 -47 -47 -45 -44 -45 -46 -47 -49 -51 -53 -54 -55 -55 -55 -54 -54 -54 -54 -55 -55 -56 -58 -61 -62 -65 -68 -72 -76 -88 -95 -97 -96 -94 -92 -92 -92 -91 -87 -82 -80 -76 -68 -70 -78 -80 -75 -69 -75 -70 -58 -49 -53 -62 -55 -47 -45 -50 -56 -55 -57 -60 -61 -60 -56 -50 -50 -56 -59 -56 -50 -50 -57 -61 -57 -43 -27 -15 -15 -15 -13 -8 -4 0 0 -4 -8 -10 -11 -16 -12 -6 -3 -6 -14 -16 -9 -34 -33 -32 -32 -33 -33 -32 -30 -29 -29 -29 -29 -29 -30 -32 -33 -31 -29 -29 -29 -30 -30 -29 -24 -19 -14 -10 -7 -7 -12 -15 -14 -4 1 1 -1 -3 -3 -3 -3 -3 -4 -6 -5 -3 -3 -3 -4 -2 -0 0 2 7 9 8 5 3 1 2 2 1 -0 -2 -4 -7 -9 -11 -14 -13 -10 -8 -8 -10 -12 -14 -15 -17 -19 -18 -15 -14 -16 -19 -21 -20 -21 -22 -24 -25 -27 -30 -33 -37 -39 -46 -51 -46 -30 -17 -23 -32 -38 -41 -43 -45 -45 -45 -46 -47 -45 -45 -44 -44 -43 -48 -57 -65 -66 -58 -49 -48 -50 -52 -54 -55 -56 -58 -60 -61 -61 -61 -61 -61 -62 -63 -61 -57 -54 -54 -57 -60 -63 -66 -68 -70 -70 -70 -71 -72 -74 -76 -77 -78 -79 -80 -82 -84 -87 -90 -91 -93 -94 -95 -95 -94 -95 -95 -95 -94 -93 -94 -96 -97 -97 -96 -95 -94 -94 -95 -96 -98 -99 -99 -98 -98 -98 -99 -100 -98 -94 -89 -85 -79 -67 -50 -32 -31 -35 -44 -60 -79 -79 -68 -55 -46 -43 -39 -37 -35 -34 -32 -30 -29 -27 -26 -25 -24 -23 -22 -21 -20 -20 -20 -20 -21 -22 -23 -23 -23 -22 -21 -20 -20 -20 -19 -19 -19 -18 -18 -18 -19 -19 -17 -14 -10 -6 -3 -2 -1 -1 -1 -1 -2 -2 -2 -1 -1 -2 -3 -5 -6 -8 -10 -11 -12 -12 -11 -11 -10 -10 -11 -13 -15 -16 -18 -19 -20 -20 -19 -19 -19 -20 -20 -19 -18 -18 -19 -21 -23 -24 -24 -24 -24 -26 -28 -31 -32 -32 -29 -27 -24 -22 -22 -22 -22 -22 -23 -24 -25 -28 -31 -35 -39 -43 -46 -49 -51 -50 -47 -44 -43 -43 -45 -47 -49 -51 -52 -53 -53 -54 -55 -55 -56 -56 -56 -57 -58 -61 -66 -71 -75 -77 -78 -84 -95 -102 -102 -99 -96 -95 -93 -93 -93 -92 -91 -87 -81 -74 -75 -81 -83 -81 -77 -79 -75 -67 -60 -63 -71 -67 -56 -48 -49 -55 -58 -62 -64 -63 -61 -59 -57 -56 -59 -61 -57 -51 -48 -54 -54 -52 -43 -29 -17 -18 -19 -18 -14 -9 -4 -4 -11 -19 -21 -22 -25 -20 -14 -15 -17 -19 -15 -1 -35 -32 -31 -32 -32 -33 -31 -30 -30 -30 -30 -30 -31 -32 -32 -31 -28 -26 -26 -25 -25 -24 -22 -17 -12 -7 -5 -4 -5 -6 -7 -6 -0 2 1 -1 -4 -3 -1 -0 -2 -3 -4 -1 1 2 1 0 1 1 1 2 7 8 6 3 1 0 2 3 3 2 1 -3 -6 -9 -12 -15 -16 -15 -13 -12 -12 -12 -12 -14 -16 -19 -18 -18 -20 -24 -27 -28 -27 -27 -29 -29 -29 -33 -37 -40 -39 -37 -43 -47 -40 -25 -14 -22 -30 -36 -39 -42 -42 -41 -40 -42 -43 -45 -44 -42 -41 -45 -54 -63 -67 -62 -51 -47 -48 -50 -52 -53 -54 -55 -57 -59 -60 -61 -61 -60 -60 -61 -61 -58 -54 -53 -53 -55 -58 -60 -64 -67 -69 -70 -70 -71 -73 -74 -76 -77 -77 -78 -80 -83 -86 -88 -89 -90 -91 -92 -93 -92 -92 -92 -93 -93 -92 -93 -94 -96 -96 -95 -94 -92 -90 -89 -90 -91 -93 -94 -94 -93 -92 -92 -94 -96 -97 -95 -88 -78 -64 -48 -35 -32 -33 -34 -36 -42 -56 -72 -77 -73 -62 -57 -50 -45 -41 -37 -35 -34 -32 -31 -30 -29 -28 -26 -25 -24 -23 -22 -22 -22 -23 -23 -24 -25 -24 -23 -22 -21 -21 -20 -20 -20 -20 -19 -19 -19 -18 -17 -13 -10 -7 -4 -3 -3 -2 -2 -2 -3 -4 -4 -4 -3 -3 -4 -5 -7 -8 -10 -13 -15 -16 -16 -16 -14 -13 -13 -13 -14 -15 -17 -19 -21 -22 -22 -21 -20 -20 -20 -21 -21 -20 -20 -20 -22 -25 -27 -28 -28 -28 -29 -31 -34 -37 -37 -36 -32 -28 -24 -23 -22 -22 -22 -23 -24 -27 -30 -33 -38 -42 -45 -48 -51 -54 -56 -53 -48 -43 -41 -43 -46 -48 -50 -52 -52 -53 -54 -55 -57 -57 -58 -59 -59 -61 -65 -72 -82 -90 -94 -95 -98 -102 -105 -104 -101 -98 -97 -95 -94 -94 -94 -93 -92 -89 -85 -84 -85 -86 -85 -82 -81 -80 -78 -77 -77 -78 -74 -67 -59 -57 -60 -65 -68 -68 -65 -63 -61 -60 -60 -61 -62 -60 -55 -49 -48 -43 -45 -42 -32 -20 -22 -26 -25 -21 -17 -12 -11 -19 -30 -32 -32 -31 -26 -21 -22 -21 -18 -10 4 -35 -32 -32 -32 -34 -34 -34 -33 -33 -32 -32 -33 -33 -33 -30 -27 -24 -23 -23 -22 -20 -19 -16 -11 -6 -3 -1 -0 0 -1 -3 -3 0 2 1 -0 0 2 3 1 -1 -1 1 4 6 7 5 3 3 2 1 2 5 7 5 2 0 1 3 4 3 2 -0 -4 -7 -10 -14 -18 -21 -22 -22 -21 -20 -18 -18 -19 -21 -24 -25 -27 -31 -36 -38 -37 -36 -35 -34 -32 -33 -38 -42 -41 -36 -32 -40 -45 -41 -27 -16 -21 -28 -35 -39 -41 -39 -38 -38 -41 -45 -46 -43 -40 -41 -47 -57 -65 -64 -56 -46 -46 -49 -51 -52 -53 -53 -54 -56 -58 -60 -60 -60 -60 -59 -59 -58 -54 -52 -51 -52 -54 -55 -58 -61 -64 -67 -68 -70 -71 -73 -75 -76 -77 -77 -78 -81 -84 -86 -87 -87 -87 -88 -89 -89 -89 -89 -89 -90 -90 -90 -91 -92 -93 -93 -91 -89 -86 -85 -85 -86 -88 -90 -91 -91 -91 -89 -88 -89 -92 -93 -89 -81 -71 -55 -39 -30 -34 -37 -38 -38 -39 -42 -52 -64 -72 -74 -73 -68 -60 -52 -43 -39 -38 -36 -35 -34 -33 -32 -30 -29 -28 -26 -26 -26 -25 -25 -26 -26 -27 -26 -25 -24 -23 -22 -22 -21 -21 -21 -21 -20 -19 -17 -13 -9 -7 -5 -5 -4 -4 -3 -3 -4 -5 -5 -6 -5 -5 -5 -6 -8 -10 -12 -13 -16 -18 -20 -21 -20 -18 -17 -16 -15 -15 -17 -19 -22 -24 -26 -26 -24 -23 -22 -22 -23 -23 -23 -22 -22 -23 -25 -28 -30 -31 -31 -32 -34 -37 -40 -42 -41 -38 -34 -28 -24 -22 -22 -22 -22 -24 -27 -31 -35 -40 -44 -47 -51 -54 -59 -63 -64 -58 -48 -42 -43 -46 -49 -51 -52 -53 -55 -56 -58 -60 -60 -61 -62 -63 -65 -69 -78 -92 -105 -109 -108 -108 -108 -107 -105 -103 -101 -99 -97 -96 -96 -95 -94 -93 -92 -89 -88 -87 -86 -85 -83 -82 -82 -83 -83 -83 -82 -80 -77 -74 -72 -71 -72 -72 -71 -68 -66 -63 -62 -61 -63 -62 -57 -49 -39 -36 -31 -36 -40 -38 -28 -30 -35 -36 -31 -29 -25 -24 -28 -36 -37 -36 -35 -32 -27 -23 -15 -9 -1 11 -36 -33 -34 -35 -37 -39 -41 -39 -36 -35 -35 -36 -35 -31 -27 -23 -21 -21 -21 -19 -16 -13 -10 -6 -3 -1 1 4 4 2 -1 -1 3 5 5 4 5 5 4 2 2 3 5 8 9 8 5 3 3 1 -0 0 4 5 3 1 0 2 2 2 0 -1 -3 -6 -9 -13 -17 -22 -27 -30 -31 -33 -33 -33 -32 -32 -32 -34 -36 -38 -42 -45 -45 -43 -41 -38 -34 -32 -37 -41 -42 -38 -32 -31 -40 -46 -44 -32 -20 -21 -28 -34 -38 -39 -36 -37 -40 -44 -50 -46 -40 -39 -43 -50 -58 -64 -61 -51 -44 -47 -50 -52 -52 -53 -53 -55 -57 -59 -60 -59 -59 -58 -57 -57 -54 -52 -50 -50 -52 -53 -54 -56 -58 -62 -64 -66 -68 -70 -72 -75 -76 -77 -77 -78 -81 -83 -84 -84 -83 -82 -83 -84 -85 -85 -85 -85 -86 -86 -86 -86 -87 -87 -86 -85 -83 -81 -81 -82 -84 -86 -89 -90 -90 -90 -88 -86 -87 -87 -84 -76 -67 -61 -52 -40 -31 -35 -40 -43 -44 -44 -43 -44 -48 -52 -57 -66 -76 -77 -67 -52 -45 -44 -42 -40 -37 -36 -35 -34 -33 -32 -31 -31 -30 -30 -29 -29 -29 -29 -29 -28 -27 -25 -24 -23 -22 -22 -23 -23 -22 -19 -15 -11 -8 -7 -6 -6 -6 -4 -4 -4 -5 -6 -7 -8 -8 -8 -8 -9 -11 -13 -15 -16 -18 -21 -22 -23 -23 -22 -20 -19 -18 -17 -19 -21 -25 -28 -30 -30 -29 -27 -25 -25 -26 -26 -27 -26 -24 -24 -26 -28 -31 -33 -35 -36 -38 -40 -42 -44 -45 -44 -41 -35 -29 -24 -22 -21 -22 -24 -28 -32 -37 -42 -47 -51 -55 -60 -68 -75 -80 -75 -61 -48 -46 -48 -51 -53 -54 -55 -57 -61 -64 -66 -67 -68 -69 -70 -72 -76 -85 -98 -110 -113 -111 -110 -109 -108 -107 -104 -103 -101 -99 -98 -97 -97 -96 -95 -93 -91 -89 -88 -86 -84 -83 -83 -83 -83 -84 -84 -84 -83 -81 -79 -77 -76 -75 -74 -74 -72 -68 -65 -63 -63 -64 -61 -51 -37 -25 -25 -27 -35 -45 -48 -42 -41 -44 -46 -43 -42 -40 -37 -36 -38 -38 -38 -37 -34 -29 -18 -4 3 8 15 -36 -36 -38 -40 -44 -48 -51 -46 -41 -39 -38 -37 -32 -27 -23 -21 -21 -22 -20 -16 -11 -8 -6 -3 -1 2 4 5 2 -1 -1 2 8 8 8 8 8 7 6 6 7 8 8 9 8 5 2 1 0 -3 -3 -1 3 3 0 -2 -2 -1 -3 -3 -4 -4 -6 -9 -13 -18 -23 -29 -34 -36 -38 -41 -44 -48 -48 -47 -46 -47 -46 -46 -46 -45 -42 -40 -37 -33 -32 -35 -42 -41 -37 -32 -30 -34 -41 -46 -45 -38 -27 -25 -29 -34 -37 -36 -37 -40 -44 -49 -51 -43 -39 -41 -48 -54 -61 -63 -58 -49 -45 -49 -51 -52 -52 -54 -54 -56 -58 -60 -60 -59 -57 -57 -56 -55 -52 -50 -49 -50 -51 -52 -54 -55 -57 -60 -62 -64 -66 -68 -71 -73 -75 -76 -76 -77 -79 -80 -79 -79 -78 -78 -79 -80 -81 -82 -81 -81 -81 -81 -81 -81 -81 -81 -81 -80 -79 -79 -80 -83 -85 -88 -90 -91 -90 -89 -87 -87 -87 -85 -78 -61 -45 -43 -42 -38 -31 -35 -40 -46 -51 -55 -54 -51 -48 -47 -50 -58 -69 -73 -69 -58 -52 -53 -53 -49 -44 -41 -39 -37 -36 -36 -35 -35 -35 -35 -35 -34 -33 -32 -31 -30 -29 -27 -26 -24 -23 -23 -25 -25 -23 -20 -16 -12 -10 -9 -8 -7 -6 -5 -4 -5 -7 -8 -9 -10 -11 -11 -11 -12 -13 -15 -16 -18 -20 -22 -24 -25 -24 -24 -23 -22 -21 -20 -21 -23 -27 -31 -34 -36 -35 -32 -29 -29 -29 -30 -31 -30 -28 -27 -27 -29 -32 -36 -39 -42 -43 -45 -47 -48 -49 -50 -48 -44 -36 -29 -24 -21 -21 -23 -28 -33 -40 -45 -51 -57 -64 -71 -82 -89 -95 -93 -82 -64 -54 -52 -53 -55 -56 -57 -60 -65 -71 -76 -78 -80 -81 -82 -83 -88 -98 -108 -113 -113 -111 -110 -110 -110 -108 -106 -104 -103 -101 -99 -98 -98 -97 -96 -95 -93 -91 -89 -87 -85 -84 -83 -82 -82 -82 -84 -84 -84 -83 -81 -79 -78 -77 -76 -76 -74 -70 -67 -64 -64 -65 -59 -46 -31 -24 -26 -31 -41 -54 -59 -54 -51 -51 -51 -51 -51 -49 -44 -39 -40 -41 -40 -38 -34 -25 -8 5 12 13 15 -38 -36 -39 -43 -51 -57 -57 -50 -43 -41 -39 -36 -29 -24 -22 -22 -24 -24 -19 -12 -7 -4 -3 -1 2 4 4 -1 -7 -9 -5 5 12 10 9 9 10 10 11 12 12 10 10 8 4 1 -1 -2 -4 -7 -6 -2 1 -0 -3 -6 -7 -9 -9 -7 -6 -7 -9 -12 -18 -24 -31 -37 -41 -42 -43 -43 -46 -51 -53 -54 -53 -50 -47 -43 -39 -35 -33 -34 -33 -33 -37 -45 -47 -38 -30 -28 -32 -37 -41 -44 -46 -44 -37 -31 -30 -33 -37 -39 -42 -45 -50 -52 -47 -40 -41 -47 -54 -57 -62 -62 -57 -49 -46 -50 -52 -53 -53 -54 -55 -57 -59 -61 -61 -59 -57 -56 -55 -53 -50 -49 -48 -49 -50 -52 -53 -55 -56 -59 -61 -63 -65 -68 -70 -73 -74 -74 -74 -75 -76 -75 -75 -74 -73 -74 -76 -77 -78 -79 -78 -78 -77 -77 -76 -76 -76 -77 -77 -78 -78 -80 -83 -86 -88 -90 -90 -89 -89 -89 -88 -88 -89 -87 -77 -53 -27 -22 -24 -27 -29 -33 -39 -47 -56 -67 -72 -69 -62 -56 -55 -55 -57 -58 -59 -60 -60 -66 -68 -64 -56 -52 -48 -44 -42 -40 -39 -39 -40 -41 -40 -38 -36 -35 -33 -32 -31 -28 -26 -25 -24 -24 -26 -26 -24 -21 -17 -14 -12 -10 -9 -8 -6 -5 -5 -7 -9 -10 -12 -13 -14 -15 -15 -15 -15 -16 -17 -18 -20 -22 -24 -25 -25 -25 -25 -25 -24 -23 -23 -25 -28 -33 -37 -40 -41 -39 -36 -34 -34 -35 -36 -35 -33 -32 -31 -31 -34 -39 -45 -49 -51 -53 -54 -55 -56 -57 -57 -55 -48 -40 -31 -24 -22 -24 -28 -34 -42 -50 -58 -67 -76 -83 -91 -96 -99 -100 -95 -81 -67 -58 -55 -57 -58 -59 -63 -69 -77 -89 -94 -97 -98 -98 -100 -104 -109 -113 -115 -114 -112 -111 -111 -111 -110 -108 -106 -104 -102 -101 -99 -98 -97 -96 -95 -94 -93 -91 -89 -87 -85 -84 -82 -81 -82 -82 -83 -83 -83 -82 -81 -79 -78 -77 -77 -74 -71 -67 -65 -65 -65 -60 -47 -32 -32 -34 -38 -46 -57 -60 -58 -55 -53 -52 -53 -54 -51 -45 -39 -42 -43 -42 -39 -32 -15 1 9 11 11 12 -37 -34 -39 -49 -59 -63 -57 -48 -41 -39 -38 -33 -26 -22 -22 -26 -30 -28 -17 -8 -2 -2 -2 1 4 5 -0 -11 -18 -17 -8 6 14 11 9 10 13 15 16 15 13 10 10 7 2 -2 -3 -4 -5 -5 -4 -2 -1 -4 -8 -12 -15 -14 -11 -9 -9 -11 -13 -17 -24 -32 -39 -43 -44 -43 -41 -41 -42 -46 -49 -50 -47 -42 -37 -34 -32 -32 -35 -39 -41 -45 -48 -50 -42 -30 -24 -26 -33 -38 -39 -42 -46 -48 -46 -37 -31 -31 -37 -43 -45 -47 -47 -46 -40 -39 -44 -51 -55 -57 -62 -62 -55 -48 -47 -51 -53 -54 -54 -55 -56 -58 -61 -62 -61 -59 -57 -56 -54 -52 -50 -48 -48 -48 -49 -51 -53 -54 -56 -59 -61 -63 -66 -69 -71 -72 -72 -72 -72 -72 -71 -71 -70 -70 -71 -73 -75 -76 -77 -77 -76 -75 -75 -74 -74 -73 -74 -75 -76 -77 -79 -81 -84 -86 -87 -87 -87 -87 -88 -88 -89 -89 -91 -90 -82 -61 -33 -24 -24 -27 -29 -32 -37 -44 -56 -72 -83 -84 -80 -73 -71 -65 -57 -55 -60 -68 -73 -78 -79 -76 -71 -67 -61 -55 -51 -47 -44 -43 -43 -44 -43 -42 -39 -37 -35 -33 -31 -28 -26 -24 -24 -24 -26 -26 -25 -22 -19 -16 -14 -11 -10 -8 -7 -6 -7 -8 -10 -12 -14 -16 -18 -20 -20 -19 -18 -17 -16 -17 -19 -22 -24 -26 -26 -26 -27 -27 -28 -27 -27 -28 -31 -35 -39 -43 -45 -45 -43 -41 -41 -41 -42 -42 -41 -39 -38 -38 -40 -45 -53 -59 -62 -63 -64 -64 -65 -66 -67 -66 -61 -54 -45 -33 -28 -27 -29 -34 -43 -57 -67 -76 -86 -92 -95 -96 -97 -95 -90 -80 -71 -63 -58 -57 -59 -61 -65 -71 -81 -99 -108 -111 -111 -111 -111 -112 -114 -115 -116 -115 -114 -113 -111 -110 -109 -108 -106 -105 -103 -101 -99 -97 -96 -95 -95 -94 -93 -92 -91 -89 -87 -85 -83 -82 -81 -81 -81 -82 -82 -83 -82 -81 -79 -77 -76 -72 -68 -64 -63 -65 -66 -63 -53 -38 -38 -40 -45 -52 -58 -56 -54 -52 -52 -52 -52 -52 -50 -46 -41 -45 -45 -43 -38 -26 -8 2 6 7 8 9 -36 -33 -40 -53 -62 -64 -56 -45 -36 -35 -35 -30 -23 -21 -24 -31 -36 -30 -14 -3 1 -1 -2 3 5 1 -9 -21 -22 -16 -4 10 14 9 8 10 13 15 13 12 12 11 9 4 -0 -2 -1 -0 -1 -1 -2 -2 -5 -11 -16 -18 -17 -13 -9 -9 -11 -14 -18 -24 -30 -35 -39 -40 -38 -37 -36 -36 -37 -39 -38 -34 -31 -30 -32 -34 -36 -39 -42 -46 -50 -52 -51 -45 -32 -23 -22 -27 -32 -35 -39 -42 -45 -47 -48 -44 -37 -32 -31 -34 -35 -36 -37 -39 -40 -43 -48 -53 -56 -60 -65 -62 -54 -46 -47 -52 -54 -55 -56 -56 -57 -60 -63 -64 -62 -59 -58 -56 -54 -51 -49 -49 -49 -49 -50 -51 -53 -55 -57 -60 -63 -66 -68 -71 -72 -72 -71 -69 -68 -68 -67 -67 -68 -68 -70 -72 -74 -75 -75 -75 -74 -73 -73 -73 -72 -73 -73 -74 -75 -76 -78 -80 -82 -84 -85 -85 -85 -86 -87 -88 -89 -89 -91 -91 -85 -64 -38 -29 -28 -29 -30 -33 -35 -39 -46 -58 -74 -86 -90 -90 -89 -83 -74 -70 -74 -81 -83 -84 -83 -81 -80 -79 -75 -70 -65 -58 -53 -50 -47 -46 -45 -44 -42 -39 -37 -34 -31 -28 -25 -23 -23 -23 -24 -24 -24 -23 -21 -18 -15 -12 -10 -10 -9 -8 -8 -9 -10 -12 -15 -19 -22 -25 -26 -25 -22 -19 -17 -17 -19 -22 -25 -27 -28 -28 -29 -30 -32 -33 -33 -33 -34 -37 -41 -45 -48 -49 -49 -49 -50 -52 -55 -56 -55 -54 -53 -52 -52 -56 -63 -69 -72 -71 -71 -70 -71 -71 -72 -71 -70 -67 -61 -49 -42 -38 -36 -36 -42 -60 -71 -77 -84 -91 -93 -92 -87 -82 -76 -66 -62 -59 -58 -59 -62 -64 -67 -72 -82 -100 -110 -114 -114 -114 -114 -114 -115 -115 -116 -116 -115 -112 -108 -106 -106 -106 -106 -105 -102 -100 -97 -95 -94 -94 -94 -94 -93 -93 -92 -90 -88 -86 -85 -83 -81 -80 -80 -81 -82 -83 -82 -81 -79 -78 -75 -70 -63 -57 -57 -63 -66 -65 -59 -47 -39 -39 -46 -55 -57 -49 -46 -47 -51 -52 -50 -49 -49 -50 -49 -50 -49 -46 -38 -22 -10 -3 2 4 5 6 -35 -35 -43 -54 -62 -62 -55 -41 -31 -31 -31 -26 -19 -21 -29 -38 -40 -28 -9 -0 -1 -4 -1 5 3 -5 -17 -25 -21 -11 2 12 14 9 7 7 9 10 7 10 12 11 7 2 1 2 4 4 2 1 -1 -3 -8 -15 -17 -16 -14 -13 -12 -13 -16 -20 -23 -27 -31 -34 -35 -34 -32 -32 -32 -33 -33 -31 -27 -24 -25 -30 -37 -42 -46 -49 -51 -53 -55 -53 -47 -37 -26 -21 -23 -28 -33 -36 -41 -43 -43 -41 -45 -48 -42 -33 -26 -26 -28 -31 -35 -40 -46 -49 -51 -54 -58 -63 -66 -61 -52 -46 -49 -53 -54 -56 -59 -60 -61 -63 -64 -65 -63 -61 -60 -58 -55 -51 -49 -50 -51 -51 -51 -52 -54 -56 -59 -61 -64 -68 -71 -73 -73 -72 -69 -67 -65 -65 -65 -66 -67 -68 -70 -72 -73 -74 -73 -72 -71 -71 -71 -72 -72 -73 -74 -74 -75 -75 -76 -78 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -90 -85 -66 -44 -35 -34 -33 -32 -34 -36 -39 -42 -47 -59 -76 -88 -93 -92 -91 -89 -88 -87 -87 -86 -84 -83 -82 -83 -83 -83 -81 -77 -71 -66 -60 -55 -51 -48 -47 -45 -43 -40 -37 -33 -29 -26 -23 -22 -22 -22 -22 -22 -23 -22 -19 -16 -13 -12 -12 -11 -10 -9 -9 -10 -12 -16 -21 -26 -31 -32 -32 -29 -26 -22 -21 -21 -24 -27 -29 -30 -31 -32 -34 -36 -37 -37 -37 -37 -39 -43 -47 -50 -51 -53 -56 -59 -64 -71 -75 -76 -76 -75 -74 -71 -69 -70 -73 -74 -73 -73 -72 -72 -72 -72 -72 -73 -73 -71 -64 -55 -46 -40 -36 -33 -45 -54 -61 -69 -81 -85 -81 -73 -64 -61 -56 -55 -57 -58 -61 -65 -68 -72 -76 -87 -100 -109 -112 -112 -112 -112 -113 -114 -115 -115 -116 -115 -111 -104 -99 -101 -104 -104 -103 -99 -96 -94 -93 -92 -92 -92 -93 -92 -92 -91 -90 -88 -87 -86 -84 -82 -81 -80 -80 -81 -81 -80 -79 -78 -78 -76 -71 -63 -54 -53 -61 -66 -67 -65 -55 -37 -33 -42 -55 -55 -45 -39 -41 -49 -50 -48 -47 -48 -50 -53 -53 -52 -49 -41 -27 -20 -11 -4 -0 1 2 -33 -37 -47 -57 -61 -60 -52 -37 -29 -28 -26 -20 -14 -24 -35 -41 -37 -21 -2 -1 -6 -9 -0 6 3 -6 -16 -24 -17 -6 6 16 16 9 5 6 9 11 9 10 8 4 -1 -1 1 4 6 5 3 2 -0 -5 -11 -15 -14 -14 -17 -21 -20 -21 -22 -24 -25 -27 -31 -33 -32 -30 -29 -30 -30 -30 -28 -25 -23 -25 -31 -39 -46 -49 -53 -56 -58 -59 -57 -51 -41 -32 -24 -23 -27 -33 -37 -41 -44 -42 -38 -36 -43 -48 -43 -34 -24 -23 -27 -32 -38 -43 -48 -50 -53 -56 -59 -63 -63 -57 -50 -48 -50 -53 -55 -58 -61 -63 -64 -65 -65 -65 -65 -66 -65 -61 -55 -50 -51 -52 -53 -53 -53 -54 -55 -57 -60 -62 -66 -70 -73 -74 -74 -72 -69 -66 -65 -65 -66 -67 -68 -69 -71 -72 -72 -71 -69 -67 -67 -69 -70 -71 -71 -73 -74 -74 -75 -75 -75 -76 -77 -79 -80 -82 -84 -85 -85 -86 -87 -87 -88 -88 -84 -69 -51 -43 -42 -41 -37 -36 -37 -40 -42 -45 -54 -68 -81 -88 -90 -90 -91 -91 -90 -88 -86 -84 -82 -82 -82 -83 -83 -83 -83 -81 -78 -72 -66 -61 -55 -52 -50 -48 -46 -42 -37 -32 -28 -26 -23 -22 -21 -20 -21 -22 -22 -20 -18 -16 -15 -15 -14 -13 -11 -9 -10 -13 -18 -24 -30 -35 -38 -38 -36 -33 -30 -27 -27 -28 -30 -32 -33 -33 -34 -36 -38 -40 -41 -40 -40 -42 -46 -50 -53 -54 -57 -63 -69 -75 -80 -83 -84 -84 -83 -79 -72 -67 -68 -72 -74 -73 -72 -72 -71 -71 -70 -71 -73 -75 -75 -68 -53 -39 -29 -26 -24 -28 -32 -38 -48 -62 -67 -65 -59 -51 -53 -54 -56 -58 -59 -62 -68 -74 -80 -85 -95 -104 -108 -109 -110 -110 -111 -112 -113 -114 -114 -116 -115 -110 -100 -92 -97 -103 -105 -102 -98 -96 -95 -94 -93 -92 -91 -91 -91 -91 -90 -89 -88 -87 -85 -83 -82 -81 -80 -80 -80 -79 -78 -78 -78 -78 -77 -74 -67 -60 -57 -60 -63 -65 -65 -58 -41 -34 -40 -53 -54 -47 -40 -40 -48 -49 -48 -47 -49 -51 -53 -54 -54 -51 -48 -40 -34 -23 -11 -6 -3 -1 -31 -37 -52 -60 -61 -57 -47 -34 -27 -23 -19 -15 -17 -31 -39 -39 -29 -9 3 -2 -7 -7 -0 2 -1 -10 -19 -26 -18 -4 11 20 18 11 8 9 12 12 9 4 -2 -8 -10 -6 0 4 5 4 3 2 -2 -7 -14 -15 -14 -16 -21 -24 -25 -26 -25 -25 -25 -28 -32 -32 -31 -28 -28 -29 -28 -26 -25 -24 -27 -33 -41 -49 -52 -54 -57 -60 -62 -63 -59 -50 -38 -29 -25 -28 -34 -39 -43 -44 -41 -36 -33 -34 -43 -47 -43 -35 -28 -25 -30 -37 -42 -45 -48 -50 -53 -55 -57 -58 -58 -54 -50 -49 -51 -53 -57 -60 -63 -64 -64 -65 -67 -68 -69 -71 -69 -63 -54 -50 -53 -54 -55 -54 -54 -55 -56 -59 -61 -64 -68 -72 -74 -74 -73 -71 -69 -66 -65 -66 -67 -67 -68 -69 -70 -70 -69 -66 -64 -64 -65 -67 -69 -70 -71 -72 -74 -75 -75 -75 -75 -75 -76 -77 -79 -82 -84 -84 -84 -85 -86 -86 -86 -86 -85 -75 -59 -52 -52 -54 -48 -42 -40 -40 -43 -44 -47 -57 -69 -82 -87 -88 -88 -89 -88 -87 -85 -83 -82 -81 -81 -81 -81 -81 -82 -83 -82 -80 -77 -72 -65 -61 -57 -55 -54 -51 -44 -39 -34 -31 -28 -26 -24 -22 -21 -22 -22 -22 -21 -20 -19 -19 -18 -16 -14 -12 -11 -14 -19 -26 -33 -38 -40 -41 -40 -38 -36 -35 -34 -34 -35 -36 -36 -36 -36 -37 -39 -42 -43 -44 -45 -47 -50 -55 -59 -60 -63 -69 -74 -79 -82 -83 -83 -83 -80 -76 -65 -57 -58 -66 -72 -71 -71 -71 -70 -70 -69 -70 -72 -75 -75 -65 -47 -32 -25 -25 -25 -27 -30 -35 -41 -47 -49 -50 -51 -52 -54 -56 -58 -59 -61 -64 -70 -81 -91 -97 -102 -105 -107 -108 -108 -109 -110 -111 -113 -113 -113 -115 -115 -111 -101 -92 -96 -102 -105 -102 -100 -99 -97 -96 -94 -91 -90 -89 -89 -89 -89 -88 -86 -85 -83 -81 -80 -79 -79 -79 -78 -77 -77 -77 -77 -78 -77 -75 -71 -64 -57 -54 -54 -57 -63 -59 -47 -40 -42 -49 -54 -53 -48 -45 -49 -49 -49 -49 -50 -52 -53 -53 -53 -53 -53 -51 -46 -35 -20 -14 -8 -5 -28 -38 -53 -59 -58 -50 -37 -25 -22 -19 -15 -14 -23 -32 -33 -28 -17 -2 1 -4 -8 -9 -7 -8 -13 -19 -25 -27 -17 -1 12 19 16 11 12 14 14 9 2 -6 -12 -16 -14 -6 0 3 2 -1 -2 -4 -7 -12 -17 -17 -16 -18 -21 -21 -22 -23 -24 -25 -27 -32 -34 -32 -29 -27 -27 -27 -26 -25 -26 -29 -36 -43 -49 -53 -55 -57 -58 -60 -60 -62 -59 -49 -36 -26 -26 -33 -39 -42 -43 -40 -33 -29 -30 -36 -44 -46 -43 -38 -32 -30 -34 -39 -43 -45 -47 -51 -53 -52 -51 -53 -56 -54 -51 -50 -52 -54 -59 -63 -65 -64 -64 -66 -69 -72 -75 -75 -70 -61 -53 -52 -55 -56 -56 -55 -55 -56 -58 -60 -62 -65 -70 -73 -74 -73 -71 -70 -69 -68 -67 -66 -66 -66 -67 -67 -68 -67 -65 -63 -62 -63 -65 -67 -68 -69 -70 -72 -73 -75 -75 -75 -75 -75 -75 -77 -79 -82 -83 -84 -83 -84 -84 -84 -84 -85 -86 -82 -71 -65 -65 -70 -66 -54 -45 -42 -44 -44 -45 -52 -64 -79 -85 -86 -87 -88 -87 -86 -84 -82 -80 -79 -79 -79 -78 -79 -79 -80 -81 -81 -80 -78 -75 -72 -68 -65 -65 -63 -56 -50 -45 -40 -37 -35 -33 -29 -25 -24 -24 -24 -24 -24 -23 -23 -22 -21 -19 -17 -16 -18 -22 -28 -35 -39 -41 -42 -41 -41 -40 -40 -40 -40 -40 -40 -39 -39 -38 -39 -41 -45 -48 -50 -52 -55 -59 -64 -69 -71 -71 -72 -74 -77 -80 -81 -79 -77 -74 -68 -56 -49 -49 -54 -60 -66 -69 -70 -70 -69 -69 -70 -72 -74 -73 -60 -44 -32 -30 -29 -30 -31 -34 -38 -42 -47 -52 -55 -56 -55 -56 -57 -59 -61 -62 -65 -72 -85 -99 -104 -104 -105 -106 -107 -108 -108 -108 -110 -112 -112 -112 -113 -114 -112 -104 -96 -95 -98 -100 -101 -102 -101 -100 -97 -94 -91 -89 -88 -87 -87 -87 -86 -84 -83 -81 -80 -79 -78 -77 -77 -77 -76 -75 -75 -76 -76 -75 -74 -70 -61 -49 -42 -42 -45 -55 -58 -53 -48 -50 -48 -52 -55 -54 -51 -51 -52 -52 -51 -51 -52 -52 -50 -49 -52 -54 -54 -51 -42 -29 -24 -14 -10 -30 -42 -52 -53 -48 -38 -25 -14 -15 -12 -11 -14 -23 -27 -23 -15 -7 -3 -8 -15 -18 -18 -17 -21 -26 -29 -29 -27 -15 0 11 15 12 12 14 14 9 0 -8 -14 -17 -16 -11 -5 -1 -2 -6 -11 -12 -14 -17 -20 -22 -19 -17 -17 -17 -16 -16 -18 -22 -27 -32 -35 -33 -29 -26 -25 -27 -28 -29 -31 -35 -41 -47 -51 -53 -54 -55 -56 -56 -55 -54 -57 -55 -46 -34 -24 -26 -34 -38 -38 -35 -30 -25 -26 -32 -39 -45 -45 -42 -38 -36 -37 -38 -39 -41 -44 -47 -50 -50 -48 -47 -53 -56 -54 -51 -51 -53 -56 -61 -66 -67 -64 -65 -68 -72 -75 -77 -74 -65 -56 -52 -55 -57 -57 -56 -56 -56 -58 -59 -61 -63 -67 -71 -72 -72 -70 -69 -71 -71 -69 -66 -64 -64 -64 -65 -66 -66 -65 -63 -62 -62 -63 -66 -67 -68 -68 -68 -70 -72 -74 -74 -75 -75 -74 -75 -76 -78 -82 -83 -83 -83 -83 -83 -83 -83 -85 -89 -90 -84 -79 -79 -85 -82 -69 -54 -46 -46 -46 -47 -52 -63 -78 -84 -86 -86 -86 -86 -84 -82 -80 -79 -78 -78 -77 -77 -77 -78 -79 -79 -80 -80 -79 -78 -77 -76 -75 -76 -75 -71 -65 -60 -54 -51 -50 -47 -43 -36 -32 -30 -29 -29 -29 -27 -27 -27 -27 -27 -27 -25 -25 -27 -32 -37 -40 -41 -42 -42 -42 -43 -44 -45 -45 -44 -44 -43 -42 -42 -42 -45 -50 -55 -59 -61 -65 -69 -73 -75 -75 -73 -72 -72 -74 -77 -77 -75 -69 -63 -55 -44 -37 -35 -37 -43 -54 -63 -69 -70 -69 -68 -70 -72 -73 -68 -55 -44 -37 -37 -36 -36 -37 -39 -41 -45 -50 -57 -63 -65 -61 -59 -60 -61 -63 -65 -68 -74 -86 -100 -104 -104 -104 -106 -107 -107 -107 -107 -108 -110 -111 -111 -112 -112 -110 -104 -94 -89 -89 -93 -99 -102 -102 -100 -98 -94 -91 -88 -86 -85 -85 -84 -83 -82 -81 -80 -78 -77 -76 -75 -75 -75 -74 -74 -74 -74 -74 -73 -72 -68 -55 -42 -35 -33 -36 -45 -54 -57 -57 -57 -54 -55 -55 -55 -54 -54 -54 -54 -53 -52 -53 -51 -48 -47 -53 -54 -53 -50 -43 -32 -28 -20 -15 -28 -38 -41 -43 -41 -32 -19 -10 -11 -10 -11 -14 -19 -20 -14 -9 -6 -10 -20 -26 -28 -27 -27 -31 -34 -35 -33 -27 -11 5 14 15 13 14 14 9 -1 -11 -17 -18 -16 -13 -10 -7 -8 -13 -20 -25 -24 -25 -28 -29 -27 -20 -14 -13 -14 -16 -16 -18 -23 -29 -35 -34 -29 -25 -24 -26 -31 -36 -41 -44 -47 -49 -50 -51 -51 -52 -52 -51 -49 -47 -47 -49 -49 -44 -34 -23 -23 -29 -32 -30 -27 -25 -26 -30 -35 -42 -46 -43 -38 -35 -36 -39 -39 -39 -41 -45 -48 -50 -48 -45 -46 -54 -56 -54 -53 -54 -57 -59 -62 -66 -69 -68 -68 -69 -71 -73 -72 -64 -56 -52 -53 -58 -59 -58 -57 -56 -57 -58 -59 -61 -64 -68 -70 -70 -69 -69 -71 -73 -72 -68 -63 -61 -62 -62 -63 -64 -64 -64 -63 -62 -63 -65 -66 -66 -66 -66 -66 -68 -70 -71 -72 -74 -74 -74 -74 -76 -78 -81 -82 -83 -83 -83 -82 -82 -84 -87 -92 -92 -90 -88 -88 -90 -90 -80 -65 -52 -49 -50 -50 -54 -64 -77 -83 -85 -86 -85 -84 -83 -81 -79 -78 -78 -77 -77 -77 -78 -78 -79 -79 -79 -79 -78 -78 -78 -78 -79 -81 -82 -82 -80 -75 -68 -65 -63 -61 -57 -50 -46 -40 -37 -37 -37 -34 -33 -34 -35 -37 -38 -38 -36 -35 -36 -40 -43 -44 -44 -44 -45 -47 -48 -50 -50 -49 -48 -48 -48 -48 -49 -52 -58 -65 -70 -71 -71 -73 -77 -78 -76 -74 -71 -70 -71 -74 -74 -69 -60 -48 -42 -34 -29 -29 -29 -34 -44 -56 -66 -70 -69 -68 -70 -71 -69 -58 -46 -42 -43 -44 -43 -42 -43 -44 -46 -49 -53 -60 -70 -79 -73 -67 -65 -66 -68 -69 -73 -80 -90 -101 -103 -103 -104 -106 -107 -107 -106 -106 -107 -109 -110 -111 -111 -109 -106 -96 -84 -79 -80 -88 -97 -101 -101 -99 -97 -94 -91 -88 -86 -84 -82 -81 -81 -81 -81 -79 -77 -76 -74 -73 -73 -73 -72 -72 -72 -72 -72 -72 -71 -67 -56 -46 -38 -34 -33 -38 -49 -57 -61 -61 -59 -57 -56 -55 -55 -56 -56 -56 -55 -54 -53 -52 -51 -51 -56 -56 -54 -50 -42 -27 -24 -23 -22 -23 -29 -32 -38 -37 -28 -15 -7 -9 -12 -16 -19 -21 -19 -15 -12 -13 -19 -28 -31 -31 -30 -30 -34 -36 -35 -32 -24 -5 14 22 23 19 14 10 2 -9 -19 -22 -22 -21 -19 -16 -15 -20 -27 -34 -37 -35 -34 -34 -34 -28 -17 -12 -11 -13 -16 -18 -25 -32 -37 -36 -32 -27 -26 -29 -35 -40 -42 -44 -44 -44 -44 -45 -46 -47 -48 -47 -44 -42 -41 -41 -41 -43 -42 -35 -24 -19 -25 -29 -29 -26 -26 -30 -35 -39 -42 -44 -40 -35 -32 -33 -39 -44 -44 -43 -42 -45 -47 -46 -46 -48 -55 -56 -54 -54 -58 -62 -62 -64 -71 -77 -75 -69 -65 -65 -66 -63 -55 -51 -52 -57 -60 -59 -58 -57 -56 -56 -57 -59 -61 -64 -68 -69 -69 -69 -71 -75 -75 -70 -64 -59 -59 -60 -61 -62 -62 -62 -62 -62 -63 -64 -65 -66 -65 -65 -64 -65 -66 -68 -69 -70 -72 -73 -73 -74 -75 -76 -78 -79 -81 -82 -81 -80 -83 -86 -89 -89 -87 -87 -87 -88 -89 -89 -81 -69 -58 -55 -55 -56 -60 -68 -77 -82 -84 -84 -84 -83 -81 -79 -78 -77 -77 -77 -77 -77 -78 -79 -79 -79 -79 -79 -79 -78 -78 -78 -79 -81 -83 -85 -84 -79 -71 -66 -66 -66 -66 -64 -59 -53 -50 -51 -50 -44 -42 -44 -46 -49 -52 -54 -52 -48 -44 -48 -53 -54 -53 -52 -52 -54 -55 -57 -57 -55 -54 -55 -58 -60 -61 -63 -68 -74 -78 -78 -78 -80 -82 -82 -80 -77 -73 -71 -71 -72 -71 -63 -50 -36 -33 -32 -33 -35 -34 -35 -41 -53 -64 -69 -69 -69 -70 -71 -67 -55 -47 -47 -53 -55 -51 -49 -49 -50 -51 -52 -55 -61 -73 -88 -86 -80 -76 -77 -79 -80 -84 -90 -99 -103 -104 -105 -105 -106 -106 -106 -105 -105 -106 -107 -108 -109 -110 -108 -103 -93 -87 -86 -89 -96 -99 -100 -99 -97 -95 -93 -91 -88 -85 -82 -80 -79 -79 -79 -79 -78 -76 -74 -72 -72 -72 -71 -71 -70 -70 -69 -70 -70 -70 -70 -66 -57 -47 -38 -35 -37 -43 -52 -60 -61 -60 -58 -56 -56 -56 -57 -57 -57 -56 -55 -54 -53 -55 -57 -59 -58 -55 -51 -46 -34 -33 -33 -35 -17 -21 -27 -34 -30 -21 -10 -6 -10 -17 -23 -26 -27 -26 -24 -23 -24 -26 -30 -29 -25 -22 -22 -27 -30 -28 -22 -13 5 19 24 23 18 13 3 -8 -17 -22 -23 -25 -25 -23 -18 -18 -27 -32 -33 -28 -23 -24 -26 -24 -17 -9 -8 -11 -14 -18 -21 -28 -34 -36 -33 -28 -25 -28 -34 -38 -38 -37 -37 -37 -37 -38 -40 -43 -45 -44 -41 -39 -38 -37 -36 -36 -40 -43 -38 -25 -16 -22 -26 -27 -26 -29 -35 -38 -39 -40 -42 -39 -35 -34 -36 -42 -48 -48 -46 -43 -45 -46 -46 -47 -51 -54 -54 -55 -59 -66 -70 -70 -73 -77 -78 -68 -59 -58 -62 -64 -60 -54 -53 -55 -58 -60 -59 -58 -56 -55 -55 -56 -58 -61 -64 -68 -71 -72 -74 -76 -78 -74 -66 -58 -56 -57 -58 -59 -59 -60 -60 -61 -61 -62 -63 -64 -64 -64 -63 -63 -64 -66 -67 -67 -68 -70 -72 -72 -73 -73 -74 -74 -76 -78 -79 -78 -79 -83 -86 -88 -85 -85 -86 -87 -88 -89 -87 -82 -74 -66 -64 -65 -67 -70 -74 -78 -80 -82 -83 -83 -81 -79 -78 -77 -77 -77 -77 -77 -78 -79 -80 -80 -79 -79 -79 -79 -79 -78 -78 -78 -80 -81 -82 -81 -76 -66 -58 -60 -65 -68 -67 -66 -64 -64 -64 -63 -58 -57 -58 -61 -64 -69 -72 -72 -67 -58 -61 -68 -70 -67 -65 -65 -65 -65 -66 -66 -65 -65 -68 -73 -75 -75 -76 -77 -79 -81 -82 -84 -85 -86 -86 -84 -80 -77 -73 -72 -72 -68 -60 -48 -37 -35 -37 -41 -45 -45 -43 -48 -56 -65 -68 -69 -69 -70 -71 -70 -62 -57 -59 -66 -70 -63 -58 -56 -56 -55 -55 -57 -62 -72 -88 -93 -92 -91 -92 -94 -96 -98 -101 -104 -106 -107 -107 -107 -107 -106 -105 -104 -104 -105 -106 -107 -107 -108 -108 -105 -100 -98 -99 -100 -101 -100 -98 -97 -95 -94 -92 -90 -87 -84 -81 -78 -77 -77 -78 -77 -76 -75 -74 -72 -72 -71 -70 -70 -69 -68 -68 -68 -68 -69 -70 -70 -66 -58 -47 -39 -38 -41 -47 -58 -60 -59 -58 -57 -57 -57 -57 -57 -57 -56 -54 -52 -51 -54 -59 -61 -59 -56 -53 -50 -46 -45 -47 -48 -15 -16 -23 -28 -21 -12 -6 -5 -11 -19 -25 -29 -30 -31 -32 -34 -34 -34 -32 -24 -15 -10 -11 -18 -21 -17 -8 2 11 18 21 19 14 5 -8 -21 -30 -34 -33 -28 -21 -14 -10 -15 -22 -25 -22 -18 -16 -19 -23 -22 -16 -9 -9 -12 -19 -25 -30 -34 -39 -38 -32 -25 -25 -28 -33 -34 -31 -30 -31 -33 -34 -37 -40 -42 -42 -39 -35 -35 -35 -34 -33 -34 -39 -43 -40 -28 -16 -18 -22 -25 -27 -31 -35 -36 -37 -39 -41 -40 -40 -41 -43 -47 -52 -53 -51 -47 -46 -45 -46 -48 -52 -54 -56 -60 -67 -76 -81 -81 -82 -79 -71 -57 -55 -61 -66 -65 -57 -54 -55 -58 -60 -61 -59 -57 -55 -53 -53 -55 -58 -61 -66 -71 -74 -77 -78 -79 -78 -70 -60 -54 -54 -55 -55 -56 -57 -57 -58 -59 -59 -60 -62 -62 -62 -62 -62 -62 -63 -65 -66 -66 -67 -68 -69 -71 -72 -72 -72 -72 -73 -75 -77 -77 -79 -82 -85 -85 -83 -84 -86 -87 -88 -88 -87 -85 -84 -84 -86 -86 -82 -76 -72 -72 -78 -81 -82 -81 -79 -78 -76 -76 -76 -76 -76 -78 -79 -80 -81 -80 -80 -79 -79 -78 -78 -77 -77 -78 -78 -77 -77 -75 -70 -57 -44 -50 -61 -66 -65 -65 -66 -67 -68 -69 -70 -71 -73 -75 -77 -80 -84 -85 -84 -78 -78 -82 -83 -82 -80 -80 -79 -80 -80 -81 -82 -82 -83 -84 -84 -83 -82 -81 -81 -82 -84 -86 -88 -88 -88 -86 -83 -79 -74 -71 -70 -68 -64 -55 -43 -40 -43 -50 -57 -57 -54 -57 -63 -67 -68 -68 -69 -69 -70 -71 -69 -68 -69 -75 -78 -75 -70 -66 -64 -60 -59 -60 -64 -72 -85 -94 -100 -103 -104 -105 -106 -106 -107 -107 -108 -108 -108 -107 -106 -105 -104 -104 -103 -104 -104 -104 -105 -105 -106 -106 -105 -104 -103 -101 -99 -97 -96 -95 -93 -92 -90 -88 -85 -82 -80 -77 -76 -76 -76 -76 -76 -75 -74 -73 -71 -70 -69 -69 -69 -67 -66 -65 -66 -67 -68 -69 -68 -64 -55 -47 -45 -46 -50 -58 -59 -59 -58 -57 -57 -57 -57 -57 -57 -56 -52 -48 -46 -51 -57 -59 -59 -57 -54 -53 -52 -52 -53 -54 -18 -16 -18 -20 -12 -6 -4 -7 -12 -17 -20 -22 -23 -24 -28 -32 -33 -30 -21 -8 0 1 -6 -12 -11 -3 7 17 23 24 22 18 11 -1 -13 -24 -32 -35 -31 -23 -17 -13 -12 -17 -21 -22 -21 -21 -20 -24 -27 -28 -24 -19 -16 -19 -25 -34 -39 -44 -45 -41 -31 -24 -23 -25 -28 -28 -26 -28 -31 -34 -36 -39 -41 -40 -38 -34 -32 -32 -32 -32 -33 -35 -40 -43 -41 -31 -19 -15 -18 -23 -28 -31 -32 -33 -35 -38 -40 -41 -44 -47 -51 -53 -56 -57 -56 -52 -49 -48 -50 -52 -54 -56 -60 -67 -74 -83 -87 -87 -82 -71 -58 -52 -58 -66 -69 -64 -56 -54 -57 -60 -61 -61 -60 -58 -55 -53 -54 -56 -59 -64 -70 -76 -79 -80 -79 -78 -74 -64 -55 -51 -51 -52 -53 -53 -54 -55 -56 -57 -57 -58 -59 -60 -60 -60 -61 -61 -63 -64 -65 -65 -64 -65 -67 -69 -71 -71 -72 -71 -72 -74 -76 -78 -80 -83 -85 -84 -82 -84 -86 -87 -88 -87 -87 -86 -87 -90 -93 -92 -85 -75 -67 -67 -74 -79 -81 -80 -78 -76 -75 -75 -76 -75 -76 -78 -80 -81 -81 -80 -79 -79 -78 -76 -75 -75 -76 -76 -75 -73 -72 -70 -64 -50 -36 -38 -47 -55 -61 -64 -65 -65 -66 -67 -71 -74 -76 -78 -79 -80 -84 -88 -92 -91 -88 -86 -85 -84 -82 -81 -83 -85 -87 -89 -91 -92 -92 -90 -89 -87 -85 -84 -83 -84 -86 -88 -89 -88 -86 -84 -81 -76 -70 -66 -64 -64 -64 -59 -49 -48 -52 -59 -63 -64 -64 -65 -66 -68 -68 -68 -68 -68 -69 -70 -72 -73 -75 -78 -80 -81 -79 -78 -76 -71 -68 -67 -69 -76 -84 -94 -102 -107 -108 -109 -110 -110 -109 -108 -108 -107 -106 -104 -103 -103 -103 -102 -102 -103 -103 -102 -102 -103 -104 -105 -105 -103 -100 -97 -92 -91 -92 -93 -91 -89 -87 -85 -83 -81 -79 -77 -76 -76 -76 -76 -76 -75 -73 -72 -70 -69 -68 -68 -67 -66 -64 -64 -64 -65 -66 -67 -66 -63 -55 -49 -49 -52 -57 -59 -58 -58 -58 -57 -57 -57 -57 -57 -56 -55 -52 -46 -44 -49 -54 -57 -56 -54 -52 -52 -52 -53 -54 -56 -20 -14 -11 -12 -8 -8 -11 -16 -18 -19 -21 -23 -23 -22 -27 -31 -30 -19 -4 7 9 4 -3 -4 -0 6 15 23 26 25 21 13 2 -11 -19 -25 -28 -28 -25 -22 -21 -22 -23 -26 -28 -29 -31 -33 -34 -36 -39 -39 -37 -32 -30 -32 -36 -41 -45 -50 -49 -42 -31 -21 -20 -21 -23 -24 -28 -32 -35 -37 -39 -41 -40 -37 -33 -31 -31 -31 -32 -33 -35 -39 -42 -43 -40 -33 -23 -16 -16 -21 -26 -30 -30 -32 -34 -37 -37 -40 -45 -51 -55 -58 -58 -58 -58 -56 -54 -55 -58 -61 -61 -59 -63 -70 -79 -85 -86 -81 -69 -57 -50 -53 -63 -68 -66 -59 -55 -55 -58 -61 -62 -62 -61 -59 -57 -57 -58 -59 -62 -67 -74 -80 -81 -80 -78 -75 -69 -58 -50 -47 -48 -50 -51 -51 -52 -53 -53 -54 -55 -57 -58 -58 -59 -59 -60 -61 -62 -63 -63 -62 -62 -64 -66 -69 -70 -71 -72 -72 -73 -74 -76 -79 -81 -83 -84 -83 -82 -84 -86 -87 -88 -87 -86 -86 -87 -90 -93 -92 -87 -80 -75 -75 -78 -80 -80 -78 -76 -75 -75 -75 -75 -75 -77 -79 -81 -82 -80 -79 -78 -77 -75 -73 -72 -73 -74 -74 -73 -70 -68 -65 -60 -46 -31 -26 -29 -37 -52 -61 -65 -66 -66 -67 -70 -73 -75 -75 -76 -77 -80 -85 -91 -92 -85 -78 -74 -74 -69 -70 -75 -82 -88 -91 -95 -97 -97 -94 -92 -90 -89 -87 -86 -86 -88 -89 -89 -85 -79 -77 -73 -67 -60 -56 -54 -57 -62 -62 -58 -58 -60 -63 -65 -66 -66 -67 -68 -69 -69 -68 -68 -68 -69 -70 -72 -74 -76 -78 -80 -82 -83 -83 -84 -82 -81 -80 -80 -89 -95 -100 -104 -107 -108 -109 -110 -110 -109 -108 -107 -105 -104 -103 -103 -102 -102 -101 -101 -102 -102 -101 -100 -101 -102 -103 -102 -98 -94 -91 -87 -87 -89 -90 -88 -85 -83 -81 -80 -79 -78 -77 -76 -75 -75 -75 -74 -73 -72 -69 -67 -66 -65 -65 -65 -64 -63 -62 -63 -64 -65 -65 -64 -61 -51 -45 -46 -51 -58 -58 -57 -57 -57 -56 -56 -56 -57 -56 -55 -54 -52 -49 -47 -50 -52 -52 -49 -46 -45 -45 -46 -49 -53 -55 -16 -10 -6 -7 -8 -11 -17 -22 -24 -26 -31 -34 -34 -36 -42 -38 -25 -7 6 9 7 2 -3 0 5 11 15 19 19 18 12 3 -8 -18 -22 -23 -22 -22 -24 -27 -29 -32 -34 -37 -39 -40 -42 -45 -46 -48 -48 -48 -45 -41 -42 -45 -47 -48 -49 -53 -51 -42 -29 -18 -18 -19 -22 -26 -32 -36 -38 -39 -40 -40 -37 -33 -30 -30 -32 -33 -33 -35 -39 -43 -43 -41 -37 -32 -26 -19 -18 -20 -25 -30 -33 -34 -34 -33 -34 -39 -45 -51 -55 -56 -54 -53 -54 -55 -57 -62 -68 -72 -69 -61 -62 -70 -78 -81 -76 -64 -52 -46 -48 -58 -67 -66 -60 -54 -53 -56 -59 -62 -62 -62 -62 -61 -62 -64 -65 -66 -68 -72 -77 -80 -79 -76 -73 -70 -62 -52 -46 -45 -46 -48 -49 -50 -50 -51 -52 -53 -54 -56 -57 -58 -58 -59 -60 -61 -62 -63 -62 -62 -62 -65 -67 -69 -70 -71 -72 -73 -73 -74 -77 -79 -81 -82 -82 -82 -83 -84 -86 -87 -88 -87 -86 -86 -87 -90 -92 -91 -88 -84 -80 -80 -80 -80 -79 -77 -75 -74 -74 -74 -75 -75 -78 -80 -82 -81 -79 -77 -75 -73 -71 -69 -69 -70 -71 -72 -70 -68 -65 -63 -60 -49 -36 -25 -20 -24 -39 -54 -63 -66 -67 -67 -69 -70 -71 -71 -70 -72 -76 -82 -88 -87 -78 -68 -62 -61 -56 -57 -64 -75 -85 -92 -97 -99 -97 -92 -91 -91 -90 -89 -87 -87 -88 -89 -88 -81 -70 -66 -61 -55 -51 -48 -49 -53 -61 -65 -65 -65 -65 -65 -66 -66 -67 -67 -69 -70 -69 -68 -68 -69 -70 -71 -73 -74 -76 -78 -80 -81 -82 -84 -86 -88 -89 -90 -91 -96 -99 -102 -104 -106 -108 -110 -111 -111 -110 -108 -106 -103 -102 -102 -103 -102 -102 -101 -101 -101 -101 -100 -99 -100 -100 -101 -98 -92 -85 -87 -86 -86 -87 -86 -84 -81 -80 -78 -77 -76 -76 -75 -74 -74 -74 -73 -73 -72 -70 -65 -59 -57 -58 -62 -63 -63 -62 -62 -62 -63 -64 -64 -63 -61 -52 -46 -47 -53 -58 -57 -57 -57 -56 -55 -54 -55 -56 -56 -55 -54 -53 -52 -51 -51 -50 -46 -38 -29 -29 -31 -35 -42 -51 -55 -8 -5 -4 -6 -9 -13 -16 -17 -20 -24 -29 -32 -34 -36 -40 -32 -15 3 9 3 -4 -9 -10 -5 2 6 7 5 6 8 3 -7 -16 -21 -23 -21 -19 -21 -28 -32 -36 -39 -41 -45 -46 -46 -47 -48 -49 -48 -46 -44 -42 -43 -45 -49 -53 -55 -56 -55 -49 -37 -23 -15 -18 -22 -27 -33 -36 -38 -39 -39 -38 -37 -33 -30 -31 -34 -36 -36 -37 -40 -44 -46 -44 -39 -35 -31 -27 -23 -21 -23 -27 -35 -38 -36 -33 -31 -34 -40 -47 -50 -50 -46 -44 -44 -45 -49 -53 -60 -69 -76 -74 -65 -63 -67 -71 -68 -58 -49 -44 -45 -51 -62 -66 -62 -54 -50 -53 -57 -61 -63 -64 -65 -66 -67 -68 -71 -73 -73 -73 -75 -76 -75 -73 -70 -67 -64 -57 -49 -44 -43 -46 -48 -49 -49 -49 -50 -50 -51 -53 -54 -56 -57 -57 -58 -59 -61 -62 -63 -62 -62 -63 -66 -67 -69 -70 -71 -72 -73 -74 -75 -77 -79 -80 -81 -82 -82 -84 -85 -86 -87 -88 -87 -87 -87 -88 -90 -92 -92 -89 -85 -81 -81 -80 -79 -78 -76 -74 -73 -73 -73 -74 -76 -78 -81 -82 -80 -78 -75 -73 -70 -68 -66 -66 -68 -69 -70 -68 -66 -64 -63 -62 -58 -47 -33 -21 -21 -31 -45 -58 -64 -66 -67 -67 -67 -64 -60 -61 -67 -74 -80 -86 -84 -75 -67 -62 -57 -54 -55 -60 -69 -81 -91 -97 -97 -93 -88 -89 -90 -90 -88 -87 -86 -87 -88 -88 -83 -71 -60 -54 -52 -52 -53 -55 -58 -63 -66 -67 -67 -67 -66 -66 -66 -67 -68 -69 -69 -68 -68 -69 -70 -71 -73 -74 -76 -77 -78 -79 -80 -81 -83 -86 -90 -92 -94 -95 -97 -98 -100 -102 -105 -108 -110 -111 -111 -111 -108 -105 -103 -102 -102 -103 -103 -102 -102 -101 -101 -100 -100 -99 -99 -100 -99 -93 -84 -77 -85 -88 -88 -85 -82 -80 -78 -77 -75 -75 -74 -74 -73 -72 -71 -72 -72 -71 -70 -68 -60 -50 -44 -48 -58 -62 -62 -61 -61 -61 -62 -62 -62 -63 -62 -58 -54 -53 -56 -58 -57 -57 -56 -56 -56 -55 -55 -56 -56 -55 -54 -53 -52 -50 -50 -47 -38 -25 -13 -13 -15 -22 -33 -50 -54 -3 -3 -3 -5 -10 -13 -14 -14 -17 -20 -23 -25 -26 -29 -30 -20 -5 8 7 -4 -11 -15 -16 -14 -8 -5 -8 -12 -8 -2 -5 -13 -20 -25 -28 -26 -24 -24 -31 -37 -40 -41 -43 -45 -44 -44 -44 -43 -41 -37 -32 -30 -34 -41 -46 -49 -51 -51 -49 -41 -28 -15 -8 -11 -18 -24 -28 -33 -36 -37 -37 -37 -35 -33 -31 -31 -34 -37 -38 -39 -43 -46 -48 -45 -41 -38 -35 -33 -34 -35 -34 -32 -32 -40 -45 -43 -38 -34 -37 -42 -46 -46 -44 -41 -41 -42 -43 -44 -46 -52 -62 -74 -83 -81 -75 -68 -59 -52 -48 -46 -45 -48 -55 -66 -68 -62 -53 -51 -56 -62 -66 -68 -70 -71 -72 -74 -75 -77 -77 -75 -72 -70 -69 -68 -66 -64 -61 -58 -52 -45 -42 -42 -46 -48 -49 -49 -49 -49 -49 -50 -51 -53 -54 -55 -56 -57 -59 -61 -62 -62 -63 -63 -64 -66 -67 -68 -69 -70 -72 -74 -75 -76 -76 -77 -79 -80 -81 -82 -84 -84 -85 -86 -87 -87 -87 -88 -90 -92 -93 -92 -88 -84 -81 -80 -80 -79 -78 -76 -74 -73 -73 -73 -74 -76 -78 -80 -80 -79 -75 -73 -71 -68 -66 -65 -65 -66 -67 -67 -66 -65 -64 -63 -63 -63 -55 -42 -27 -23 -27 -37 -50 -60 -64 -62 -63 -63 -60 -52 -54 -63 -74 -81 -85 -83 -80 -77 -74 -65 -58 -57 -62 -69 -81 -90 -93 -93 -89 -85 -87 -88 -88 -86 -85 -85 -85 -86 -86 -85 -75 -63 -53 -50 -53 -59 -63 -66 -67 -67 -68 -68 -67 -66 -66 -66 -66 -67 -68 -68 -68 -68 -68 -69 -70 -72 -74 -76 -77 -78 -78 -79 -80 -83 -86 -90 -92 -94 -96 -96 -97 -99 -101 -104 -108 -110 -111 -112 -111 -109 -106 -103 -103 -103 -103 -103 -103 -102 -102 -102 -101 -100 -99 -99 -99 -97 -90 -79 -76 -85 -88 -87 -82 -78 -76 -75 -74 -73 -72 -72 -71 -71 -71 -70 -70 -70 -69 -68 -65 -56 -44 -36 -41 -54 -60 -61 -60 -60 -60 -60 -60 -60 -61 -60 -59 -58 -58 -59 -58 -58 -57 -56 -56 -56 -56 -55 -55 -55 -55 -55 -53 -49 -43 -43 -41 -31 -15 -7 -8 -11 -18 -31 -49 -54 0 -2 -3 -7 -13 -15 -16 -16 -17 -18 -18 -19 -20 -21 -19 -9 -0 3 -3 -11 -14 -15 -16 -17 -17 -18 -21 -24 -21 -16 -14 -16 -20 -26 -31 -31 -30 -30 -35 -39 -41 -40 -39 -36 -31 -30 -30 -29 -23 -17 -16 -21 -29 -35 -38 -38 -37 -35 -30 -21 -13 -9 -9 -15 -20 -25 -31 -35 -38 -36 -36 -35 -35 -33 -34 -37 -39 -41 -43 -45 -47 -47 -46 -43 -40 -38 -38 -40 -44 -47 -46 -43 -41 -46 -51 -49 -44 -39 -38 -40 -43 -45 -46 -48 -50 -50 -51 -51 -52 -56 -65 -75 -83 -83 -72 -58 -48 -47 -49 -49 -48 -52 -60 -70 -68 -60 -54 -55 -63 -69 -73 -75 -76 -76 -77 -78 -80 -79 -74 -68 -62 -60 -62 -66 -65 -62 -58 -53 -47 -41 -40 -42 -46 -49 -49 -49 -49 -49 -49 -50 -50 -51 -53 -54 -56 -57 -59 -61 -61 -62 -62 -63 -64 -66 -67 -67 -68 -69 -72 -74 -75 -75 -74 -73 -74 -77 -80 -84 -84 -84 -84 -85 -86 -87 -88 -89 -92 -94 -95 -92 -87 -83 -81 -81 -81 -79 -78 -75 -73 -73 -73 -73 -74 -76 -78 -78 -78 -76 -73 -71 -69 -67 -65 -65 -65 -66 -66 -65 -65 -65 -64 -64 -64 -63 -58 -47 -33 -27 -26 -31 -43 -56 -59 -56 -58 -61 -61 -56 -59 -68 -77 -83 -85 -82 -78 -78 -80 -74 -63 -60 -65 -76 -87 -89 -86 -84 -87 -88 -88 -86 -85 -84 -84 -84 -84 -84 -84 -82 -74 -62 -53 -51 -54 -59 -64 -69 -70 -70 -69 -69 -68 -68 -66 -66 -66 -66 -66 -67 -67 -67 -67 -68 -69 -71 -73 -74 -76 -76 -77 -78 -80 -83 -86 -88 -91 -93 -94 -96 -97 -99 -101 -103 -106 -109 -111 -111 -110 -106 -100 -99 -102 -104 -104 -103 -102 -102 -103 -103 -102 -101 -100 -99 -99 -97 -93 -85 -83 -86 -87 -84 -79 -75 -73 -72 -71 -70 -70 -69 -69 -69 -69 -69 -69 -69 -68 -66 -63 -56 -46 -37 -40 -52 -58 -59 -59 -60 -59 -59 -59 -59 -60 -59 -58 -58 -59 -59 -59 -58 -58 -57 -56 -56 -56 -55 -55 -55 -56 -55 -51 -43 -31 -30 -32 -26 -10 -8 -9 -11 -17 -29 -47 -53 1 -2 -5 -10 -16 -20 -22 -22 -23 -21 -19 -18 -16 -14 -8 -3 -4 -10 -17 -22 -23 -23 -22 -21 -21 -21 -22 -22 -25 -26 -25 -25 -26 -29 -34 -36 -38 -39 -40 -41 -38 -33 -26 -19 -19 -20 -19 -17 -11 -9 -13 -20 -25 -27 -27 -26 -24 -21 -21 -23 -23 -23 -23 -23 -25 -29 -32 -34 -34 -33 -35 -37 -38 -38 -39 -41 -42 -44 -46 -47 -46 -45 -43 -40 -39 -40 -42 -45 -49 -51 -51 -51 -51 -55 -57 -55 -50 -44 -39 -38 -41 -47 -52 -56 -59 -60 -62 -63 -64 -66 -70 -74 -78 -72 -57 -46 -43 -48 -51 -51 -52 -56 -64 -67 -60 -54 -53 -60 -68 -72 -75 -76 -75 -73 -74 -76 -76 -69 -60 -55 -56 -61 -67 -70 -67 -62 -57 -50 -42 -37 -38 -42 -46 -48 -49 -49 -49 -49 -49 -50 -51 -51 -53 -54 -56 -58 -59 -60 -61 -61 -62 -63 -64 -65 -66 -67 -67 -69 -72 -74 -75 -74 -72 -69 -71 -75 -80 -84 -84 -84 -84 -85 -85 -86 -87 -88 -91 -95 -96 -92 -87 -82 -81 -81 -81 -79 -76 -74 -73 -74 -74 -74 -74 -75 -76 -76 -74 -72 -70 -68 -67 -66 -66 -66 -66 -66 -65 -64 -64 -65 -66 -67 -66 -65 -61 -53 -41 -33 -30 -33 -43 -56 -58 -54 -56 -62 -66 -66 -69 -74 -80 -84 -84 -82 -80 -80 -82 -76 -64 -60 -67 -80 -87 -84 -77 -74 -82 -88 -87 -85 -82 -81 -82 -82 -82 -81 -81 -78 -69 -61 -55 -56 -61 -66 -69 -72 -72 -72 -72 -72 -72 -70 -68 -67 -66 -66 -66 -66 -66 -66 -66 -67 -69 -70 -72 -73 -74 -75 -76 -78 -80 -83 -85 -87 -89 -91 -93 -95 -97 -99 -101 -102 -105 -107 -109 -109 -106 -97 -90 -90 -100 -104 -103 -102 -101 -102 -103 -104 -103 -102 -101 -99 -99 -99 -97 -93 -91 -90 -87 -83 -77 -73 -70 -68 -67 -67 -67 -67 -67 -67 -67 -67 -67 -67 -67 -65 -62 -57 -50 -43 -45 -52 -57 -58 -59 -59 -59 -59 -59 -59 -59 -59 -59 -59 -59 -59 -59 -59 -58 -58 -57 -56 -56 -55 -55 -55 -56 -54 -48 -34 -19 -17 -21 -21 -11 -10 -11 -11 -15 -24 -43 -52 -1 -4 -8 -12 -17 -20 -25 -29 -32 -30 -26 -20 -15 -8 -4 -6 -13 -20 -26 -28 -28 -29 -30 -27 -19 -12 -9 -11 -19 -28 -32 -34 -35 -36 -37 -38 -39 -42 -43 -41 -32 -20 -11 -10 -11 -10 -8 -7 -6 -8 -15 -22 -25 -24 -21 -19 -19 -21 -28 -33 -35 -36 -36 -35 -35 -35 -35 -34 -32 -35 -39 -41 -41 -42 -43 -43 -43 -45 -47 -46 -44 -41 -40 -39 -40 -42 -45 -49 -52 -52 -53 -55 -58 -61 -63 -60 -56 -51 -45 -41 -43 -49 -57 -62 -64 -66 -69 -71 -72 -70 -68 -68 -68 -58 -46 -41 -43 -48 -52 -53 -56 -59 -63 -59 -52 -51 -55 -64 -71 -73 -71 -68 -64 -65 -68 -68 -63 -54 -50 -52 -56 -61 -65 -66 -64 -60 -55 -48 -39 -36 -37 -41 -45 -47 -49 -50 -50 -50 -50 -51 -52 -53 -54 -56 -58 -60 -61 -61 -61 -61 -62 -62 -63 -64 -65 -66 -68 -70 -72 -74 -74 -74 -73 -71 -71 -74 -79 -83 -83 -83 -84 -85 -84 -85 -85 -88 -92 -97 -97 -92 -86 -81 -80 -80 -79 -77 -74 -73 -73 -74 -75 -75 -75 -75 -74 -73 -71 -68 -67 -66 -66 -66 -67 -67 -66 -66 -64 -64 -65 -67 -69 -69 -67 -65 -64 -61 -54 -45 -41 -43 -49 -58 -62 -61 -62 -65 -68 -70 -73 -77 -80 -81 -78 -77 -78 -81 -83 -76 -63 -59 -65 -78 -83 -81 -76 -74 -81 -86 -86 -84 -81 -81 -80 -80 -80 -80 -79 -74 -68 -63 -62 -64 -69 -72 -74 -75 -75 -75 -75 -75 -74 -73 -71 -69 -68 -67 -66 -66 -65 -65 -66 -67 -69 -70 -72 -73 -74 -75 -76 -78 -81 -83 -85 -87 -88 -90 -92 -94 -97 -99 -100 -101 -102 -105 -106 -105 -98 -90 -86 -89 -99 -102 -102 -101 -101 -102 -103 -104 -104 -103 -101 -100 -99 -99 -99 -97 -94 -90 -86 -80 -74 -70 -67 -65 -64 -64 -65 -65 -65 -65 -64 -64 -65 -65 -65 -64 -62 -59 -55 -52 -52 -54 -56 -58 -59 -60 -60 -60 -60 -59 -59 -59 -59 -59 -59 -59 -59 -59 -59 -58 -57 -57 -56 -55 -55 -55 -56 -54 -46 -29 -21 -18 -17 -16 -13 -12 -12 -12 -13 -19 -35 -46 -7 -11 -13 -14 -15 -17 -20 -25 -30 -34 -35 -31 -21 -8 -4 -8 -12 -15 -16 -16 -20 -26 -29 -22 -8 -2 -5 -14 -25 -30 -30 -29 -31 -35 -34 -32 -34 -39 -43 -37 -22 -9 -2 -4 -2 0 1 -2 -7 -14 -22 -28 -30 -28 -25 -24 -25 -29 -37 -40 -39 -39 -40 -41 -37 -35 -33 -32 -34 -40 -43 -43 -42 -44 -44 -44 -44 -45 -45 -43 -41 -39 -38 -40 -42 -44 -47 -50 -52 -53 -54 -57 -61 -64 -66 -65 -63 -61 -56 -51 -50 -54 -62 -65 -66 -67 -69 -70 -67 -61 -58 -58 -59 -51 -43 -42 -44 -47 -50 -52 -56 -59 -60 -52 -49 -52 -60 -69 -70 -66 -61 -58 -59 -63 -63 -58 -51 -46 -47 -51 -55 -58 -60 -60 -59 -57 -52 -45 -38 -36 -37 -41 -45 -46 -48 -49 -50 -50 -51 -52 -53 -54 -56 -58 -60 -62 -62 -62 -62 -62 -62 -62 -63 -64 -65 -67 -69 -71 -73 -74 -74 -74 -76 -75 -72 -72 -76 -82 -83 -83 -84 -84 -83 -83 -84 -88 -94 -98 -97 -91 -85 -81 -80 -79 -78 -75 -73 -72 -73 -74 -75 -75 -74 -73 -71 -70 -68 -66 -65 -65 -66 -68 -68 -68 -67 -66 -64 -64 -66 -69 -71 -69 -63 -61 -62 -65 -64 -60 -58 -58 -60 -63 -65 -65 -66 -66 -68 -70 -72 -75 -77 -74 -66 -65 -70 -78 -82 -75 -64 -59 -64 -75 -79 -80 -79 -79 -84 -85 -85 -83 -81 -80 -80 -79 -79 -78 -77 -74 -72 -70 -70 -71 -74 -76 -77 -77 -76 -76 -76 -77 -76 -75 -73 -70 -69 -67 -67 -66 -66 -66 -66 -67 -69 -70 -72 -73 -74 -76 -78 -80 -83 -85 -86 -88 -90 -92 -94 -96 -98 -100 -99 -99 -100 -103 -103 -98 -89 -88 -91 -96 -101 -102 -101 -101 -101 -102 -104 -104 -104 -103 -102 -100 -99 -99 -98 -96 -93 -88 -83 -76 -71 -67 -64 -63 -62 -62 -63 -63 -62 -62 -61 -61 -62 -62 -63 -63 -62 -60 -57 -55 -54 -55 -56 -57 -59 -60 -61 -61 -60 -58 -57 -57 -57 -57 -56 -56 -56 -57 -57 -56 -56 -56 -56 -56 -55 -56 -56 -55 -49 -35 -28 -24 -23 -21 -17 -15 -14 -14 -14 -15 -24 -34 -11 -17 -20 -20 -20 -19 -18 -18 -20 -25 -32 -34 -28 -15 -7 -7 -9 -9 -10 -15 -24 -29 -27 -13 -0 -2 -13 -25 -31 -28 -23 -21 -25 -34 -28 -23 -26 -35 -41 -32 -14 -1 4 2 5 5 2 -5 -11 -18 -25 -30 -34 -35 -35 -36 -38 -41 -43 -41 -37 -35 -36 -34 -27 -23 -24 -29 -37 -42 -43 -42 -43 -45 -45 -44 -44 -44 -42 -40 -39 -40 -41 -43 -45 -46 -48 -49 -51 -53 -55 -58 -62 -65 -68 -69 -70 -70 -68 -63 -61 -62 -66 -66 -64 -63 -62 -59 -53 -47 -48 -52 -56 -51 -46 -44 -45 -47 -49 -53 -57 -58 -55 -48 -49 -56 -64 -68 -62 -55 -53 -57 -64 -65 -58 -50 -45 -45 -48 -52 -54 -55 -56 -57 -57 -55 -49 -42 -37 -36 -39 -42 -45 -46 -48 -50 -51 -51 -51 -52 -53 -56 -58 -60 -62 -62 -63 -63 -63 -63 -62 -62 -64 -65 -66 -68 -69 -72 -74 -75 -74 -75 -77 -76 -72 -72 -76 -82 -83 -84 -84 -83 -82 -82 -84 -89 -95 -98 -95 -90 -84 -81 -80 -79 -77 -74 -72 -71 -72 -74 -74 -74 -73 -71 -69 -67 -66 -65 -65 -66 -67 -69 -69 -68 -67 -66 -65 -66 -68 -71 -71 -66 -57 -54 -59 -65 -69 -68 -67 -67 -67 -67 -66 -66 -66 -66 -67 -68 -70 -72 -73 -67 -54 -51 -58 -70 -78 -74 -65 -61 -66 -74 -77 -79 -81 -83 -85 -85 -85 -83 -82 -81 -80 -79 -79 -78 -76 -75 -74 -73 -74 -76 -77 -78 -78 -78 -76 -76 -76 -77 -77 -76 -73 -71 -69 -68 -67 -66 -66 -66 -67 -68 -69 -70 -71 -73 -75 -78 -81 -83 -85 -87 -89 -91 -93 -95 -97 -99 -100 -100 -98 -98 -99 -101 -101 -94 -86 -90 -99 -103 -103 -102 -101 -102 -103 -104 -104 -104 -103 -102 -101 -100 -99 -97 -95 -93 -89 -85 -79 -73 -68 -64 -62 -61 -61 -61 -61 -61 -60 -59 -59 -59 -59 -60 -60 -61 -61 -60 -57 -55 -54 -54 -55 -57 -59 -61 -61 -60 -58 -54 -52 -52 -51 -51 -51 -51 -51 -51 -51 -50 -50 -52 -54 -54 -54 -55 -56 -55 -53 -45 -37 -32 -30 -30 -24 -19 -17 -17 -16 -15 -16 -21 -8 -16 -23 -27 -29 -28 -26 -23 -21 -23 -28 -32 -32 -28 -21 -19 -18 -17 -17 -22 -31 -31 -22 -5 3 -7 -21 -30 -29 -21 -15 -16 -22 -32 -23 -17 -21 -31 -33 -21 -5 5 8 5 4 0 -5 -11 -13 -17 -23 -28 -34 -38 -42 -46 -49 -48 -45 -37 -32 -30 -27 -17 -9 -10 -17 -27 -37 -41 -43 -44 -46 -46 -45 -45 -44 -42 -38 -37 -40 -43 -45 -46 -46 -47 -48 -49 -50 -53 -56 -59 -61 -63 -67 -71 -74 -74 -72 -71 -69 -66 -64 -61 -56 -52 -49 -45 -41 -41 -47 -53 -56 -53 -49 -46 -46 -49 -53 -57 -60 -58 -51 -47 -53 -60 -64 -59 -50 -49 -55 -64 -70 -62 -51 -46 -46 -49 -52 -53 -53 -53 -55 -57 -55 -51 -46 -41 -37 -37 -40 -43 -45 -47 -49 -51 -52 -52 -52 -53 -54 -57 -60 -62 -63 -63 -63 -64 -63 -62 -62 -62 -64 -66 -68 -69 -71 -72 -74 -74 -74 -75 -78 -79 -78 -78 -79 -82 -83 -84 -84 -83 -82 -82 -86 -91 -96 -97 -94 -89 -84 -81 -79 -78 -76 -74 -73 -72 -72 -73 -73 -73 -72 -70 -68 -66 -66 -66 -66 -67 -68 -69 -70 -69 -68 -66 -66 -68 -71 -72 -71 -64 -57 -55 -60 -67 -71 -72 -71 -70 -69 -69 -68 -68 -67 -67 -67 -67 -68 -69 -70 -67 -58 -55 -57 -65 -73 -72 -67 -65 -70 -76 -77 -78 -81 -83 -85 -85 -85 -84 -83 -82 -81 -80 -78 -77 -76 -75 -74 -75 -76 -77 -77 -78 -77 -76 -75 -74 -75 -75 -75 -74 -72 -70 -69 -67 -67 -66 -66 -67 -67 -68 -69 -70 -72 -75 -78 -82 -85 -87 -89 -90 -92 -94 -96 -98 -100 -100 -100 -98 -97 -97 -98 -100 -100 -95 -91 -95 -102 -105 -104 -103 -104 -105 -106 -106 -105 -104 -103 -102 -101 -100 -98 -95 -92 -89 -86 -81 -75 -69 -65 -62 -61 -60 -60 -60 -60 -59 -58 -58 -57 -57 -57 -57 -58 -59 -60 -59 -57 -55 -53 -53 -55 -57 -60 -60 -60 -57 -53 -47 -45 -45 -45 -45 -46 -46 -47 -47 -47 -45 -43 -44 -46 -46 -50 -53 -55 -55 -55 -51 -46 -41 -39 -40 -32 -26 -22 -20 -19 -18 -16 -15 -9 -16 -22 -27 -30 -30 -30 -29 -28 -28 -29 -31 -34 -34 -33 -32 -31 -31 -31 -34 -36 -30 -17 -1 3 -10 -22 -25 -18 -10 -9 -15 -24 -31 -20 -14 -18 -23 -17 -2 5 7 4 -2 -10 -17 -20 -19 -16 -21 -29 -36 -40 -41 -44 -47 -47 -44 -34 -26 -25 -23 -15 -4 -3 -11 -22 -34 -41 -43 -44 -46 -47 -46 -45 -44 -43 -41 -40 -42 -44 -46 -47 -48 -48 -48 -49 -51 -54 -56 -58 -58 -58 -60 -63 -68 -71 -68 -63 -64 -61 -56 -49 -45 -44 -44 -43 -41 -41 -43 -46 -51 -54 -52 -48 -46 -46 -51 -57 -61 -60 -54 -47 -49 -56 -60 -57 -48 -47 -53 -62 -68 -66 -53 -46 -46 -51 -56 -55 -52 -51 -52 -56 -56 -52 -46 -42 -40 -38 -38 -41 -44 -46 -48 -50 -52 -53 -53 -53 -54 -56 -58 -61 -63 -64 -64 -64 -63 -62 -61 -60 -61 -63 -66 -68 -69 -71 -72 -72 -72 -72 -74 -77 -78 -78 -78 -80 -82 -84 -84 -84 -84 -82 -83 -87 -91 -96 -97 -94 -89 -83 -80 -78 -77 -76 -75 -75 -74 -73 -73 -73 -72 -71 -69 -67 -66 -66 -67 -68 -69 -70 -71 -71 -71 -70 -69 -69 -71 -73 -72 -69 -66 -65 -66 -68 -71 -73 -74 -73 -72 -71 -70 -70 -70 -69 -68 -67 -67 -67 -67 -69 -70 -68 -67 -68 -71 -75 -74 -70 -69 -73 -76 -77 -78 -79 -82 -84 -85 -85 -85 -84 -83 -81 -80 -78 -77 -76 -75 -75 -75 -76 -77 -78 -77 -76 -73 -72 -71 -71 -71 -71 -71 -70 -69 -68 -67 -66 -65 -66 -67 -68 -69 -70 -72 -74 -78 -82 -87 -90 -92 -93 -94 -95 -97 -98 -100 -101 -100 -99 -98 -98 -98 -99 -100 -100 -100 -100 -102 -104 -105 -105 -106 -107 -108 -109 -107 -106 -105 -104 -103 -102 -100 -98 -95 -92 -88 -83 -78 -72 -66 -63 -61 -60 -59 -59 -58 -58 -57 -56 -56 -56 -56 -55 -55 -55 -56 -58 -59 -58 -56 -54 -53 -55 -57 -59 -58 -55 -50 -47 -40 -40 -42 -43 -44 -45 -46 -46 -47 -47 -46 -43 -40 -37 -35 -41 -47 -52 -54 -53 -50 -48 -47 -46 -46 -40 -34 -29 -25 -23 -21 -19 -17 -10 -16 -19 -21 -23 -24 -26 -27 -27 -23 -23 -26 -29 -30 -32 -35 -36 -35 -37 -38 -35 -27 -14 -1 1 -9 -16 -15 -6 -0 -4 -15 -25 -27 -16 -11 -12 -9 4 12 6 -5 -16 -25 -32 -37 -40 -39 -38 -41 -46 -50 -53 -54 -51 -44 -35 -24 -14 -12 -13 -11 -7 -7 -14 -23 -32 -39 -42 -42 -42 -43 -44 -46 -46 -46 -46 -47 -48 -49 -50 -49 -49 -47 -48 -50 -52 -54 -56 -57 -57 -56 -55 -56 -60 -63 -60 -51 -43 -43 -41 -38 -37 -41 -44 -44 -41 -39 -41 -43 -47 -50 -51 -48 -44 -44 -46 -51 -55 -55 -52 -47 -45 -50 -54 -53 -48 -46 -53 -61 -66 -65 -54 -45 -46 -50 -55 -57 -53 -48 -47 -51 -56 -53 -47 -41 -40 -41 -39 -39 -41 -44 -48 -50 -52 -52 -53 -54 -55 -56 -57 -59 -62 -64 -66 -67 -65 -63 -61 -59 -59 -61 -64 -67 -68 -70 -70 -71 -70 -71 -72 -75 -77 -77 -77 -78 -81 -83 -84 -85 -85 -84 -83 -83 -86 -90 -96 -98 -95 -89 -83 -80 -78 -77 -76 -76 -76 -75 -74 -73 -73 -72 -70 -68 -67 -67 -67 -68 -69 -71 -72 -73 -73 -73 -72 -71 -72 -73 -73 -71 -68 -66 -68 -71 -73 -73 -74 -75 -75 -74 -73 -73 -73 -72 -71 -70 -69 -68 -68 -68 -69 -70 -71 -71 -72 -73 -75 -76 -76 -76 -76 -76 -76 -76 -78 -81 -83 -85 -85 -85 -85 -84 -82 -80 -78 -77 -77 -76 -76 -76 -76 -77 -77 -76 -74 -72 -70 -68 -68 -68 -68 -68 -67 -67 -66 -65 -65 -65 -66 -67 -68 -70 -72 -75 -79 -83 -88 -92 -95 -96 -96 -97 -97 -98 -99 -101 -101 -100 -98 -98 -99 -101 -101 -101 -101 -102 -103 -105 -107 -107 -107 -108 -109 -110 -110 -108 -107 -105 -105 -104 -103 -101 -98 -95 -90 -86 -80 -75 -69 -64 -62 -61 -60 -59 -58 -57 -56 -56 -55 -55 -54 -54 -53 -53 -53 -54 -56 -58 -59 -57 -55 -54 -55 -57 -58 -55 -49 -44 -44 -43 -45 -47 -48 -48 -48 -49 -49 -48 -48 -47 -44 -41 -37 -33 -33 -38 -44 -50 -49 -44 -43 -46 -47 -47 -45 -41 -36 -31 -28 -25 -22 -20 -9 -13 -15 -15 -15 -17 -20 -21 -18 -14 -15 -20 -23 -25 -29 -32 -30 -29 -30 -31 -29 -23 -13 -3 -1 -6 -8 -7 -3 1 -4 -13 -18 -15 -6 -1 2 6 10 5 -7 -19 -29 -37 -43 -48 -52 -53 -54 -54 -56 -56 -56 -55 -48 -34 -20 -10 -7 -9 -11 -13 -17 -24 -30 -35 -41 -44 -42 -40 -40 -41 -44 -47 -49 -49 -50 -51 -52 -53 -53 -53 -51 -50 -50 -51 -53 -55 -55 -55 -55 -55 -54 -58 -62 -61 -54 -42 -39 -40 -39 -37 -38 -42 -45 -43 -39 -39 -42 -46 -48 -48 -46 -44 -43 -44 -47 -50 -51 -50 -48 -46 -45 -48 -49 -48 -48 -53 -61 -65 -63 -55 -46 -46 -49 -52 -53 -51 -44 -42 -44 -50 -55 -51 -44 -40 -41 -42 -41 -40 -42 -45 -50 -52 -53 -53 -54 -56 -58 -59 -59 -61 -63 -67 -69 -69 -66 -63 -61 -59 -59 -61 -64 -67 -68 -69 -69 -69 -69 -71 -73 -75 -76 -76 -77 -79 -81 -84 -85 -85 -85 -85 -83 -83 -86 -92 -97 -99 -96 -90 -83 -80 -78 -77 -77 -78 -77 -77 -76 -75 -74 -72 -70 -68 -67 -68 -68 -69 -70 -72 -73 -74 -74 -73 -73 -73 -74 -73 -72 -69 -67 -67 -69 -71 -73 -74 -75 -77 -77 -76 -75 -75 -75 -74 -73 -73 -73 -72 -71 -70 -70 -71 -71 -71 -71 -72 -74 -75 -77 -77 -77 -76 -75 -75 -77 -80 -82 -84 -85 -85 -85 -84 -83 -81 -80 -79 -78 -78 -77 -77 -76 -76 -75 -75 -73 -71 -69 -68 -67 -66 -66 -66 -65 -65 -64 -64 -64 -65 -67 -68 -70 -72 -76 -80 -85 -90 -94 -97 -99 -99 -98 -98 -98 -99 -100 -101 -101 -100 -99 -100 -102 -104 -104 -104 -104 -104 -106 -107 -109 -110 -110 -110 -110 -111 -110 -109 -108 -107 -106 -105 -103 -101 -98 -94 -88 -83 -77 -72 -66 -63 -61 -60 -60 -58 -58 -57 -56 -55 -54 -53 -52 -52 -52 -52 -52 -52 -54 -56 -58 -57 -55 -55 -56 -58 -57 -52 -46 -43 -46 -48 -49 -49 -49 -49 -49 -49 -48 -47 -47 -45 -43 -41 -39 -36 -33 -33 -36 -43 -44 -38 -35 -39 -41 -42 -44 -46 -44 -39 -34 -30 -27 -24 -9 -12 -13 -13 -13 -16 -18 -17 -14 -12 -15 -20 -26 -32 -35 -31 -26 -26 -29 -31 -27 -19 -12 -8 -12 -16 -17 -15 -13 -10 -9 -9 -11 -14 -14 -9 -3 2 3 0 -7 -14 -19 -23 -28 -36 -41 -44 -43 -42 -43 -47 -50 -51 -39 -21 -8 -2 -5 -11 -18 -24 -31 -37 -41 -45 -46 -44 -38 -37 -39 -42 -47 -50 -52 -53 -53 -53 -53 -54 -55 -55 -54 -53 -54 -55 -57 -57 -57 -58 -58 -60 -61 -64 -65 -63 -56 -45 -40 -41 -41 -40 -41 -45 -45 -42 -39 -40 -45 -49 -50 -47 -44 -44 -44 -46 -49 -51 -52 -52 -51 -48 -46 -47 -47 -49 -53 -59 -64 -62 -55 -48 -45 -50 -54 -55 -53 -50 -46 -46 -51 -58 -61 -55 -47 -42 -41 -42 -41 -41 -43 -46 -50 -51 -52 -53 -55 -58 -59 -60 -60 -62 -65 -68 -70 -70 -67 -63 -61 -60 -60 -62 -65 -67 -68 -67 -66 -67 -69 -71 -73 -75 -75 -76 -78 -80 -81 -84 -85 -85 -85 -85 -84 -84 -88 -93 -96 -96 -93 -88 -83 -81 -79 -78 -78 -78 -78 -78 -78 -77 -75 -72 -70 -68 -68 -69 -69 -69 -70 -71 -73 -73 -73 -73 -73 -74 -74 -73 -71 -68 -67 -67 -69 -71 -73 -74 -76 -77 -78 -77 -76 -76 -76 -76 -76 -76 -76 -75 -74 -73 -73 -72 -71 -69 -69 -70 -71 -73 -75 -77 -77 -76 -75 -75 -76 -79 -81 -83 -84 -84 -85 -85 -84 -83 -82 -81 -80 -79 -78 -77 -76 -75 -74 -73 -72 -71 -69 -68 -67 -66 -65 -64 -63 -62 -63 -63 -65 -67 -69 -71 -73 -77 -81 -86 -91 -96 -99 -101 -101 -100 -99 -98 -99 -100 -101 -102 -102 -102 -101 -104 -106 -107 -108 -107 -107 -107 -108 -110 -111 -111 -112 -112 -112 -112 -111 -110 -109 -108 -107 -106 -104 -101 -98 -93 -86 -79 -74 -68 -64 -61 -60 -59 -59 -58 -57 -56 -56 -55 -54 -52 -51 -50 -50 -50 -50 -51 -52 -55 -55 -54 -52 -52 -56 -58 -56 -51 -45 -44 -48 -50 -50 -49 -48 -48 -48 -47 -46 -46 -45 -43 -42 -40 -39 -38 -36 -35 -34 -36 -38 -35 -31 -31 -33 -36 -41 -46 -49 -45 -41 -37 -34 -29 -15 -16 -16 -15 -14 -16 -16 -16 -16 -18 -23 -29 -35 -39 -35 -25 -20 -20 -23 -21 -17 -12 -10 -13 -23 -32 -32 -29 -28 -28 -23 -16 -13 -14 -20 -21 -20 -15 -10 -6 -10 -15 -19 -19 -18 -21 -23 -24 -24 -27 -32 -39 -45 -51 -42 -23 -8 -3 -10 -18 -26 -32 -38 -43 -46 -46 -43 -38 -33 -35 -39 -44 -48 -51 -52 -53 -54 -54 -54 -54 -56 -57 -57 -58 -59 -61 -62 -62 -62 -64 -66 -67 -68 -69 -67 -65 -59 -50 -42 -42 -43 -44 -44 -47 -45 -43 -42 -44 -49 -52 -52 -48 -47 -48 -49 -51 -54 -58 -60 -59 -56 -52 -48 -46 -48 -52 -57 -61 -60 -55 -50 -47 -50 -56 -59 -59 -57 -55 -53 -54 -59 -63 -63 -56 -48 -42 -41 -42 -42 -42 -44 -46 -48 -50 -52 -54 -57 -60 -61 -60 -59 -60 -64 -68 -70 -70 -66 -63 -61 -60 -60 -62 -66 -68 -67 -65 -63 -66 -69 -72 -73 -74 -75 -76 -78 -80 -81 -83 -84 -85 -86 -86 -85 -86 -89 -93 -95 -93 -91 -87 -83 -82 -80 -80 -80 -80 -81 -81 -80 -78 -75 -72 -70 -69 -69 -69 -69 -69 -70 -70 -70 -70 -70 -71 -72 -73 -73 -72 -70 -68 -67 -67 -69 -70 -72 -74 -76 -77 -78 -77 -77 -77 -77 -77 -77 -78 -79 -79 -78 -77 -75 -73 -71 -69 -68 -68 -69 -71 -73 -76 -76 -76 -75 -75 -76 -79 -81 -82 -82 -83 -84 -84 -84 -84 -83 -83 -82 -81 -79 -77 -75 -73 -72 -72 -71 -69 -68 -67 -66 -65 -63 -62 -61 -61 -63 -65 -67 -70 -72 -74 -78 -82 -88 -93 -97 -100 -102 -103 -103 -101 -100 -100 -101 -103 -105 -105 -106 -106 -106 -108 -110 -111 -111 -110 -110 -110 -111 -112 -113 -113 -113 -114 -114 -113 -112 -111 -111 -110 -108 -106 -104 -101 -97 -91 -83 -76 -71 -66 -62 -60 -59 -58 -58 -57 -57 -56 -55 -55 -53 -52 -50 -49 -49 -49 -49 -50 -52 -54 -53 -47 -42 -43 -51 -55 -55 -52 -45 -45 -48 -49 -49 -49 -48 -48 -47 -47 -46 -45 -44 -42 -41 -39 -38 -39 -39 -38 -36 -34 -34 -33 -31 -32 -35 -39 -43 -46 -49 -49 -46 -43 -41 -36 -23 -22 -20 -16 -13 -14 -17 -19 -21 -25 -32 -36 -37 -34 -28 -20 -14 -11 -11 -11 -13 -15 -15 -14 -18 -29 -34 -37 -37 -36 -30 -26 -22 -19 -19 -25 -32 -34 -28 -18 -17 -22 -27 -27 -21 -18 -15 -14 -15 -24 -32 -39 -46 -53 -52 -38 -22 -13 -16 -25 -30 -35 -39 -43 -44 -40 -34 -28 -27 -32 -37 -41 -45 -48 -50 -52 -53 -54 -55 -55 -57 -59 -60 -62 -64 -66 -67 -68 -68 -69 -70 -70 -69 -67 -65 -62 -57 -49 -41 -42 -44 -46 -45 -47 -46 -46 -47 -51 -56 -57 -56 -54 -55 -58 -58 -60 -63 -68 -70 -67 -63 -57 -51 -49 -51 -55 -57 -58 -55 -50 -49 -52 -57 -61 -63 -62 -61 -59 -58 -59 -62 -62 -59 -54 -49 -45 -43 -41 -41 -42 -43 -45 -48 -50 -53 -56 -59 -61 -61 -60 -60 -62 -66 -68 -69 -68 -65 -63 -61 -60 -62 -65 -68 -68 -65 -61 -62 -67 -70 -72 -73 -74 -74 -76 -78 -80 -81 -83 -84 -86 -87 -88 -87 -88 -89 -92 -94 -92 -90 -87 -84 -83 -82 -82 -82 -83 -84 -84 -83 -80 -75 -72 -70 -70 -70 -70 -70 -70 -69 -68 -67 -67 -68 -70 -71 -72 -72 -71 -70 -68 -67 -67 -68 -69 -71 -73 -76 -77 -77 -77 -77 -79 -79 -79 -78 -79 -80 -81 -80 -79 -77 -75 -72 -69 -67 -67 -68 -70 -72 -75 -77 -77 -77 -77 -78 -79 -81 -81 -81 -81 -82 -82 -82 -83 -83 -84 -83 -82 -79 -77 -74 -72 -70 -69 -69 -68 -67 -67 -66 -64 -62 -61 -61 -63 -66 -68 -71 -74 -76 -80 -84 -90 -95 -99 -101 -103 -103 -104 -104 -103 -103 -104 -106 -108 -109 -110 -110 -110 -109 -110 -112 -112 -112 -112 -112 -112 -113 -114 -115 -115 -116 -116 -116 -115 -114 -113 -112 -110 -108 -106 -104 -101 -97 -89 -81 -74 -70 -65 -62 -59 -58 -57 -57 -58 -58 -57 -56 -55 -53 -52 -50 -49 -49 -49 -49 -50 -52 -54 -52 -42 -32 -31 -39 -45 -50 -51 -46 -45 -46 -48 -49 -49 -48 -47 -47 -47 -46 -45 -44 -42 -40 -38 -37 -38 -39 -39 -37 -35 -34 -33 -33 -34 -38 -43 -47 -49 -50 -49 -49 -47 -46 -42 -32 -27 -21 -15 -14 -15 -17 -21 -27 -33 -38 -37 -32 -26 -20 -16 -14 -11 -9 -8 -12 -19 -23 -22 -20 -26 -33 -38 -41 -39 -36 -36 -35 -31 -26 -30 -38 -45 -44 -36 -31 -33 -37 -39 -34 -28 -21 -17 -17 -28 -38 -43 -48 -53 -59 -54 -41 -26 -20 -24 -28 -32 -36 -39 -38 -35 -30 -26 -24 -27 -31 -36 -41 -45 -49 -52 -54 -56 -56 -58 -59 -61 -63 -65 -68 -70 -72 -72 -71 -68 -66 -65 -64 -61 -58 -55 -51 -45 -40 -42 -46 -48 -47 -47 -49 -51 -54 -59 -64 -64 -64 -64 -67 -68 -68 -70 -73 -75 -76 -73 -68 -62 -55 -54 -55 -56 -57 -56 -51 -50 -52 -57 -62 -62 -61 -60 -60 -59 -59 -58 -58 -55 -52 -52 -53 -52 -47 -42 -40 -41 -43 -45 -47 -51 -54 -58 -60 -61 -62 -62 -63 -65 -68 -70 -70 -68 -64 -62 -61 -61 -63 -67 -68 -66 -63 -61 -64 -67 -70 -71 -72 -74 -75 -77 -79 -81 -82 -82 -84 -86 -88 -90 -90 -90 -90 -92 -93 -92 -91 -88 -85 -83 -83 -83 -84 -85 -86 -86 -84 -80 -75 -73 -72 -71 -72 -73 -72 -70 -68 -67 -66 -67 -68 -69 -70 -70 -71 -71 -70 -69 -67 -67 -68 -69 -71 -74 -76 -77 -77 -76 -78 -80 -81 -80 -80 -81 -81 -81 -81 -80 -79 -76 -72 -69 -68 -68 -68 -70 -72 -76 -78 -79 -79 -79 -79 -79 -80 -81 -81 -80 -80 -79 -79 -80 -81 -82 -82 -80 -78 -75 -72 -70 -68 -67 -66 -66 -65 -65 -65 -64 -63 -63 -64 -66 -70 -73 -76 -79 -82 -87 -92 -97 -100 -102 -102 -103 -104 -105 -106 -107 -107 -109 -110 -111 -113 -114 -114 -112 -111 -112 -112 -113 -113 -112 -113 -114 -115 -117 -118 -119 -119 -119 -118 -117 -117 -116 -114 -112 -109 -106 -104 -100 -95 -86 -79 -73 -69 -65 -62 -59 -58 -57 -57 -59 -59 -59 -57 -56 -54 -53 -51 -50 -50 -49 -50 -51 -52 -54 -52 -42 -31 -27 -30 -33 -39 -46 -46 -45 -46 -47 -48 -48 -47 -47 -47 -47 -46 -45 -44 -42 -40 -37 -36 -37 -38 -38 -36 -35 -35 -36 -37 -38 -42 -46 -49 -49 -49 -48 -48 -48 -47 -46 -40 -33 -24 -17 -16 -18 -18 -21 -26 -33 -36 -33 -27 -20 -16 -17 -18 -17 -16 -15 -17 -23 -28 -30 -28 -27 -29 -33 -36 -37 -38 -40 -41 -41 -40 -39 -43 -49 -54 -54 -50 -48 -49 -51 -49 -44 -34 -25 -20 -30 -41 -46 -47 -49 -54 -56 -51 -40 -28 -19 -16 -18 -24 -30 -36 -40 -41 -38 -31 -28 -29 -32 -37 -43 -50 -56 -59 -59 -59 -61 -64 -67 -69 -71 -71 -72 -73 -72 -66 -60 -59 -59 -57 -53 -51 -49 -45 -43 -40 -43 -47 -51 -50 -51 -54 -59 -63 -66 -69 -71 -72 -72 -74 -76 -76 -76 -78 -78 -77 -75 -71 -67 -62 -59 -59 -60 -60 -56 -51 -51 -54 -58 -60 -56 -54 -53 -54 -55 -55 -53 -50 -48 -47 -52 -58 -60 -55 -45 -41 -41 -43 -44 -47 -51 -55 -59 -61 -62 -63 -64 -66 -68 -70 -71 -71 -69 -67 -64 -62 -62 -64 -67 -66 -63 -61 -61 -65 -67 -69 -71 -73 -75 -76 -77 -79 -81 -82 -83 -84 -86 -89 -91 -92 -91 -90 -91 -92 -92 -91 -89 -86 -84 -84 -85 -86 -87 -87 -86 -83 -80 -76 -74 -74 -74 -74 -75 -73 -71 -68 -67 -67 -68 -69 -69 -70 -70 -71 -71 -71 -69 -68 -67 -68 -70 -72 -74 -75 -76 -76 -76 -78 -79 -81 -81 -82 -82 -82 -82 -82 -81 -80 -77 -74 -72 -70 -69 -69 -70 -72 -76 -78 -79 -79 -79 -79 -79 -80 -81 -81 -80 -78 -77 -76 -77 -77 -78 -77 -76 -75 -72 -69 -67 -65 -65 -64 -63 -63 -64 -65 -64 -64 -65 -67 -71 -75 -78 -81 -85 -90 -95 -99 -101 -102 -102 -102 -103 -104 -107 -109 -111 -113 -114 -115 -115 -116 -116 -115 -114 -114 -114 -114 -114 -114 -113 -114 -117 -119 -121 -122 -122 -123 -122 -121 -120 -119 -118 -116 -113 -110 -106 -102 -98 -91 -84 -77 -72 -69 -65 -62 -60 -59 -58 -59 -60 -60 -60 -59 -57 -56 -54 -53 -52 -52 -51 -51 -52 -53 -54 -53 -45 -35 -30 -29 -30 -34 -42 -50 -50 -48 -46 -47 -47 -47 -46 -46 -46 -46 -45 -43 -41 -39 -36 -35 -36 -37 -38 -36 -36 -38 -42 -43 -44 -46 -48 -49 -49 -48 -48 -48 -47 -47 -46 -44 -36 -26 -19 -19 -20 -19 -20 -24 -29 -30 -26 -19 -14 -13 -17 -20 -22 -24 -26 -26 -27 -29 -30 -29 -25 -22 -22 -26 -31 -34 -36 -38 -40 -44 -48 -49 -50 -54 -58 -60 -62 -63 -64 -61 -58 -51 -40 -30 -30 -36 -40 -41 -40 -45 -49 -49 -46 -41 -29 -19 -18 -23 -31 -36 -42 -48 -52 -49 -42 -37 -36 -38 -43 -51 -58 -62 -65 -66 -66 -68 -69 -70 -69 -68 -69 -67 -62 -53 -53 -56 -56 -52 -50 -49 -48 -47 -45 -42 -44 -50 -56 -57 -57 -62 -66 -69 -70 -71 -73 -74 -74 -75 -75 -76 -76 -77 -77 -75 -74 -73 -70 -67 -65 -65 -65 -64 -58 -53 -52 -53 -54 -51 -48 -49 -51 -50 -48 -47 -47 -46 -46 -47 -53 -60 -65 -61 -49 -43 -42 -43 -44 -47 -51 -56 -60 -62 -62 -63 -65 -68 -71 -72 -71 -70 -70 -69 -66 -64 -63 -65 -64 -61 -60 -60 -62 -65 -67 -69 -71 -73 -75 -76 -77 -79 -81 -82 -84 -85 -87 -89 -91 -91 -90 -88 -89 -90 -91 -91 -90 -87 -85 -85 -86 -88 -88 -88 -86 -82 -80 -78 -77 -76 -76 -77 -77 -74 -71 -68 -67 -67 -68 -69 -70 -71 -71 -71 -71 -71 -70 -68 -68 -68 -70 -72 -74 -76 -76 -76 -76 -77 -79 -80 -81 -82 -82 -82 -82 -82 -81 -80 -79 -77 -75 -72 -71 -71 -71 -72 -74 -76 -77 -78 -79 -79 -79 -80 -80 -80 -79 -77 -75 -74 -73 -72 -71 -71 -70 -70 -69 -66 -64 -63 -62 -62 -61 -62 -63 -64 -64 -65 -67 -71 -76 -79 -82 -86 -91 -98 -102 -104 -103 -102 -102 -102 -104 -106 -110 -113 -115 -117 -119 -120 -119 -118 -117 -116 -116 -117 -116 -116 -116 -116 -116 -117 -119 -121 -123 -123 -124 -125 -125 -124 -123 -121 -119 -117 -114 -110 -105 -100 -95 -88 -82 -76 -72 -69 -66 -64 -62 -62 -61 -61 -61 -61 -61 -61 -59 -58 -57 -56 -55 -54 -53 -53 -53 -53 -54 -53 -48 -38 -35 -33 -33 -35 -40 -52 -55 -53 -49 -47 -47 -46 -45 -45 -46 -45 -44 -43 -40 -38 -35 -34 -36 -40 -42 -41 -42 -44 -47 -48 -48 -48 -49 -49 -48 -48 -48 -47 -47 -46 -46 -45 -39 -31 -25 -23 -22 -20 -22 -26 -29 -27 -21 -14 -9 -10 -15 -19 -23 -27 -31 -31 -27 -23 -19 -18 -15 -12 -14 -20 -27 -29 -31 -32 -34 -40 -45 -47 -47 -47 -49 -52 -56 -61 -65 -67 -66 -62 -55 -46 -41 -41 -43 -43 -43 -46 -46 -46 -47 -48 -41 -30 -23 -22 -25 -29 -36 -44 -52 -57 -55 -52 -49 -49 -51 -53 -57 -63 -67 -66 -65 -67 -67 -65 -61 -61 -60 -56 -50 -47 -53 -57 -56 -52 -50 -48 -49 -50 -49 -46 -48 -53 -58 -61 -63 -67 -71 -73 -72 -72 -74 -76 -76 -75 -75 -75 -75 -76 -75 -74 -73 -73 -74 -75 -71 -68 -65 -63 -61 -57 -54 -52 -52 -51 -50 -51 -50 -46 -45 -47 -48 -48 -48 -51 -57 -64 -68 -63 -50 -44 -43 -44 -44 -46 -51 -57 -61 -63 -62 -63 -67 -72 -73 -70 -67 -67 -69 -69 -68 -66 -64 -62 -60 -58 -59 -61 -63 -65 -67 -69 -71 -73 -75 -76 -78 -80 -82 -83 -84 -86 -88 -90 -91 -89 -87 -85 -86 -90 -92 -93 -91 -87 -85 -86 -87 -88 -88 -87 -84 -82 -80 -80 -79 -79 -79 -79 -78 -75 -72 -69 -67 -67 -69 -70 -71 -72 -72 -71 -71 -71 -70 -69 -68 -69 -70 -72 -74 -76 -77 -76 -76 -76 -77 -79 -80 -81 -82 -83 -83 -82 -82 -81 -80 -79 -76 -74 -73 -72 -72 -73 -73 -73 -74 -76 -77 -77 -78 -79 -79 -79 -78 -76 -74 -72 -70 -67 -66 -65 -64 -65 -64 -63 -62 -61 -60 -60 -60 -60 -60 -61 -63 -66 -70 -75 -79 -82 -86 -92 -99 -104 -106 -105 -104 -103 -103 -105 -107 -110 -113 -116 -119 -121 -123 -124 -123 -121 -119 -118 -119 -119 -118 -117 -118 -118 -118 -119 -121 -122 -123 -124 -124 -124 -125 -124 -123 -121 -119 -116 -113 -109 -104 -99 -93 -87 -81 -77 -73 -70 -67 -65 -65 -65 -64 -63 -63 -63 -63 -63 -62 -61 -60 -60 -59 -58 -57 -55 -55 -54 -55 -54 -50 -42 -39 -37 -36 -37 -42 -53 -58 -58 -55 -51 -48 -45 -44 -44 -45 -45 -44 -42 -39 -37 -35 -35 -39 -46 -48 -49 -49 -50 -51 -50 -50 -49 -49 -49 -48 -48 -48 -48 -47 -46 -45 -43 -42 -37 -31 -25 -21 -21 -24 -30 -34 -31 -21 -12 -8 -11 -16 -20 -24 -27 -28 -23 -13 -8 -8 -12 -9 -10 -17 -26 -29 -29 -29 -31 -34 -41 -44 -43 -41 -40 -37 -35 -37 -43 -50 -56 -60 -62 -60 -55 -52 -54 -56 -58 -59 -59 -57 -54 -52 -52 -46 -39 -32 -25 -20 -22 -29 -37 -43 -49 -54 -57 -58 -57 -56 -54 -57 -63 -67 -64 -61 -62 -61 -57 -52 -54 -53 -50 -46 -50 -57 -59 -57 -52 -48 -47 -50 -53 -52 -49 -49 -52 -56 -61 -66 -69 -72 -74 -74 -74 -75 -76 -77 -77 -77 -78 -78 -77 -75 -73 -74 -76 -78 -78 -76 -70 -63 -58 -57 -59 -58 -58 -58 -60 -57 -53 -49 -46 -48 -49 -48 -48 -51 -57 -64 -69 -68 -57 -43 -40 -42 -44 -44 -46 -53 -59 -64 -64 -62 -66 -73 -77 -71 -64 -63 -65 -68 -68 -67 -65 -61 -57 -57 -58 -60 -62 -64 -65 -67 -69 -71 -73 -74 -76 -78 -81 -83 -83 -85 -87 -89 -90 -89 -87 -85 -85 -88 -91 -93 -93 -90 -86 -85 -86 -88 -89 -88 -85 -83 -82 -80 -80 -80 -81 -81 -81 -79 -76 -72 -69 -67 -67 -68 -70 -71 -71 -72 -72 -71 -71 -70 -69 -69 -69 -70 -72 -74 -76 -76 -76 -76 -76 -76 -77 -78 -80 -81 -82 -82 -82 -82 -83 -82 -80 -78 -75 -74 -73 -73 -72 -71 -71 -72 -73 -74 -75 -76 -77 -78 -78 -77 -75 -73 -70 -67 -64 -61 -60 -60 -60 -60 -60 -60 -59 -59 -59 -59 -58 -59 -60 -64 -69 -74 -79 -82 -85 -91 -98 -105 -108 -107 -106 -105 -104 -106 -108 -111 -114 -117 -120 -122 -124 -125 -126 -124 -123 -122 -122 -122 -121 -120 -119 -119 -120 -120 -121 -121 -123 -123 -123 -124 -124 -125 -124 -121 -119 -117 -115 -112 -108 -103 -97 -91 -87 -83 -79 -75 -71 -69 -67 -67 -68 -67 -66 -66 -66 -66 -65 -64 -64 -64 -63 -62 -61 -59 -58 -57 -56 -56 -56 -54 -48 -44 -41 -40 -41 -45 -54 -59 -60 -59 -56 -50 -45 -43 -43 -44 -44 -43 -41 -38 -36 -37 -39 -43 -51 -53 -53 -52 -52 -51 -50 -50 -50 -50 -49 -49 -49 -48 -48 -47 -46 -45 -43 -44 -39 -31 -24 -19 -19 -24 -32 -39 -37 -23 -12 -7 -12 -18 -21 -21 -19 -17 -9 -3 -2 -6 -9 -8 -13 -21 -27 -26 -22 -23 -30 -39 -45 -39 -33 -31 -32 -30 -28 -28 -32 -37 -44 -52 -58 -61 -60 -59 -62 -66 -69 -70 -68 -66 -62 -59 -56 -51 -46 -41 -34 -25 -25 -31 -35 -38 -41 -49 -55 -57 -57 -57 -56 -59 -64 -66 -60 -55 -55 -53 -50 -47 -51 -52 -51 -50 -56 -60 -59 -55 -52 -48 -49 -53 -55 -53 -50 -49 -50 -54 -60 -65 -68 -71 -73 -75 -75 -76 -76 -78 -80 -81 -81 -78 -76 -75 -75 -76 -77 -78 -78 -78 -73 -64 -55 -54 -60 -64 -66 -66 -67 -63 -58 -53 -50 -50 -48 -49 -51 -57 -64 -70 -71 -66 -53 -42 -40 -41 -42 -43 -49 -56 -63 -67 -67 -69 -75 -79 -76 -64 -61 -65 -69 -69 -67 -65 -60 -55 -53 -57 -60 -62 -64 -65 -65 -66 -68 -71 -73 -74 -76 -78 -81 -83 -83 -85 -87 -89 -89 -87 -86 -86 -88 -92 -94 -95 -94 -91 -86 -85 -87 -88 -87 -86 -84 -83 -82 -82 -82 -81 -82 -82 -82 -79 -76 -72 -69 -66 -67 -67 -68 -68 -69 -71 -71 -71 -71 -70 -70 -69 -69 -69 -70 -73 -75 -76 -75 -75 -74 -75 -76 -77 -78 -79 -80 -81 -81 -83 -84 -84 -82 -80 -77 -75 -73 -72 -71 -70 -69 -70 -70 -72 -74 -75 -76 -77 -76 -75 -74 -71 -68 -65 -62 -59 -57 -57 -57 -57 -58 -58 -58 -58 -58 -58 -58 -59 -63 -68 -73 -78 -82 -85 -90 -98 -105 -109 -108 -107 -106 -106 -107 -109 -112 -114 -117 -120 -123 -125 -126 -126 -125 -125 -125 -125 -125 -124 -123 -122 -121 -121 -121 -121 -121 -122 -123 -124 -124 -124 -125 -125 -123 -120 -117 -115 -112 -110 -106 -102 -97 -91 -87 -84 -81 -78 -74 -71 -70 -70 -71 -70 -69 -69 -69 -69 -67 -66 -66 -66 -65 -64 -62 -61 -60 -59 -59 -58 -58 -57 -55 -51 -47 -45 -46 -51 -57 -60 -61 -61 -59 -53 -47 -43 -42 -43 -43 -42 -40 -37 -38 -42 -47 -49 -54 -54 -54 -53 -53 -52 -51 -51 -50 -50 -50 -50 -49 -49 -48 -47 -46 -45 -45 -44 -36 -27 -20 -17 -19 -22 -29 -37 -43 -29 -13 -5 -7 -13 -16 -14 -9 -3 2 3 0 -4 -6 -7 -15 -20 -21 -17 -18 -25 -33 -39 -37 -26 -21 -23 -29 -31 -29 -28 -29 -34 -41 -50 -56 -60 -60 -59 -61 -65 -68 -68 -66 -66 -64 -61 -57 -56 -54 -50 -44 -36 -36 -39 -41 -41 -41 -49 -54 -55 -54 -56 -59 -62 -64 -62 -54 -49 -49 -49 -47 -47 -52 -54 -55 -56 -60 -59 -57 -54 -51 -50 -53 -55 -56 -53 -53 -53 -55 -57 -62 -65 -69 -72 -76 -77 -78 -78 -77 -77 -79 -80 -77 -73 -71 -74 -76 -76 -75 -75 -76 -77 -75 -70 -63 -61 -65 -69 -70 -70 -71 -68 -64 -59 -56 -54 -53 -54 -57 -62 -68 -71 -69 -63 -52 -44 -42 -42 -43 -44 -50 -58 -65 -71 -75 -76 -78 -75 -68 -60 -64 -70 -73 -73 -72 -64 -56 -51 -54 -60 -62 -64 -65 -65 -65 -65 -68 -71 -73 -75 -76 -79 -82 -83 -83 -84 -87 -88 -87 -86 -86 -89 -93 -96 -96 -96 -95 -91 -86 -85 -86 -87 -85 -83 -83 -82 -82 -82 -82 -82 -83 -83 -81 -79 -75 -71 -68 -66 -67 -65 -64 -63 -66 -69 -70 -70 -70 -70 -70 -69 -68 -68 -68 -71 -74 -75 -75 -74 -73 -74 -75 -76 -77 -77 -77 -78 -80 -83 -85 -86 -85 -82 -78 -76 -74 -72 -70 -69 -68 -69 -70 -72 -74 -75 -75 -75 -74 -73 -72 -70 -67 -64 -61 -58 -57 -56 -56 -56 -56 -57 -57 -57 -58 -58 -59 -62 -67 -73 -77 -80 -83 -89 -96 -103 -108 -108 -106 -106 -106 -108 -110 -112 -115 -117 -120 -123 -125 -126 -127 -129 -129 -129 -129 -129 -128 -127 -126 -124 -124 -123 -122 -122 -122 -123 -125 -125 -126 -126 -126 -125 -123 -120 -117 -114 -111 -108 -105 -101 -97 -91 -88 -86 -84 -80 -77 -75 -74 -74 -74 -73 -72 -72 -72 -71 -69 -69 -68 -68 -66 -64 -64 -63 -62 -62 -61 -60 -60 -60 -60 -58 -54 -51 -52 -57 -60 -61 -61 -61 -60 -56 -52 -47 -43 -43 -43 -42 -41 -39 -43 -49 -54 -55 -56 -55 -54 -54 -53 -52 -52 -51 -51 -51 -50 -50 -49 -49 -48 -47 -46 -45 -47 -47 -38 -27 -19 -19 -22 -24 -28 -37 -46 -36 -20 -7 -4 -7 -9 -9 -4 2 5 4 3 1 0 -4 -11 -13 -11 -9 -14 -23 -29 -30 -23 -16 -14 -19 -27 -33 -34 -32 -32 -34 -41 -50 -55 -57 -56 -53 -52 -53 -56 -57 -56 -59 -60 -59 -57 -59 -59 -57 -53 -49 -47 -49 -51 -51 -50 -55 -57 -57 -56 -56 -57 -61 -61 -55 -46 -45 -47 -49 -49 -51 -54 -55 -56 -57 -59 -58 -56 -53 -51 -53 -56 -57 -55 -54 -59 -63 -66 -67 -68 -70 -74 -78 -81 -80 -79 -77 -75 -73 -73 -72 -69 -67 -68 -73 -75 -73 -71 -70 -72 -73 -75 -74 -72 -70 -71 -71 -70 -68 -70 -70 -69 -66 -63 -61 -60 -61 -62 -65 -68 -69 -66 -59 -48 -42 -43 -45 -46 -47 -53 -60 -67 -73 -76 -77 -76 -70 -62 -60 -67 -74 -76 -74 -68 -57 -51 -50 -57 -62 -64 -65 -66 -66 -65 -66 -68 -71 -74 -75 -77 -80 -83 -84 -82 -83 -85 -86 -85 -86 -88 -92 -96 -98 -96 -96 -94 -90 -85 -84 -85 -85 -83 -82 -82 -82 -81 -81 -81 -81 -82 -82 -81 -78 -74 -71 -68 -67 -66 -63 -60 -59 -63 -67 -69 -69 -70 -70 -69 -68 -66 -65 -66 -69 -72 -74 -75 -74 -73 -74 -75 -75 -76 -76 -76 -77 -78 -81 -83 -85 -85 -83 -79 -77 -74 -71 -69 -68 -68 -69 -70 -72 -73 -73 -73 -73 -73 -72 -71 -70 -68 -65 -62 -59 -58 -57 -57 -57 -56 -56 -56 -57 -58 -60 -62 -67 -72 -76 -80 -82 -86 -94 -102 -106 -107 -105 -105 -106 -108 -110 -113 -115 -118 -120 -123 -125 -127 -129 -131 -134 -136 -135 -134 -132 -132 -130 -128 -126 -125 -124 -123 -123 -124 -126 -128 -129 -129 -129 -128 -125 -123 -120 -117 -114 -110 -107 -105 -101 -97 -92 -89 -87 -84 -81 -79 -78 -77 -77 -76 -75 -75 -75 -74 -73 -71 -69 -69 -68 -67 -66 -65 -65 -64 -64 -63 -63 -62 -62 -62 -61 -60 -58 -59 -61 -61 -62 -61 -61 -61 -60 -58 -53 -48 -47 -46 -46 -45 -45 -50 -55 -57 -58 -57 -56 -55 -55 -54 -53 -53 -52 -52 -51 -51 -50 -49 -49 -48 -47 -46 -45 -50 -47 -39 -29 -23 -25 -28 -26 -27 -33 -47 -45 -29 -12 -2 -1 -5 -10 -12 -7 -0 2 3 4 2 -3 -5 -6 -5 -7 -13 -20 -22 -20 -16 -14 -16 -21 -28 -35 -38 -37 -34 -31 -34 -44 -51 -52 -48 -42 -38 -40 -44 -48 -50 -54 -56 -56 -56 -56 -57 -58 -59 -58 -56 -58 -61 -62 -60 -59 -61 -61 -58 -52 -48 -49 -49 -46 -43 -48 -51 -52 -52 -53 -55 -56 -56 -58 -59 -58 -56 -55 -54 -55 -57 -57 -57 -60 -67 -71 -74 -74 -74 -76 -79 -81 -80 -75 -70 -66 -64 -64 -65 -65 -66 -69 -72 -74 -70 -67 -66 -67 -68 -70 -71 -72 -72 -73 -73 -70 -66 -63 -65 -68 -69 -69 -68 -68 -68 -67 -65 -66 -68 -68 -64 -56 -45 -40 -41 -44 -48 -51 -57 -63 -69 -72 -74 -75 -72 -66 -61 -65 -72 -76 -75 -69 -59 -52 -49 -52 -58 -63 -67 -68 -67 -65 -64 -66 -69 -72 -74 -75 -78 -81 -84 -83 -81 -82 -83 -84 -84 -86 -90 -94 -97 -96 -95 -94 -93 -88 -83 -83 -83 -83 -81 -81 -81 -81 -80 -79 -79 -80 -80 -81 -80 -78 -76 -73 -71 -69 -65 -60 -56 -56 -60 -65 -67 -69 -69 -69 -67 -65 -63 -61 -63 -67 -71 -74 -75 -74 -74 -74 -74 -74 -75 -75 -76 -76 -78 -79 -82 -84 -84 -83 -81 -78 -75 -71 -69 -68 -68 -69 -70 -70 -70 -71 -71 -71 -72 -71 -71 -70 -69 -66 -63 -61 -60 -59 -58 -58 -57 -56 -56 -56 -59 -62 -67 -72 -76 -80 -82 -85 -91 -99 -105 -106 -104 -104 -106 -109 -113 -115 -117 -119 -121 -124 -126 -128 -130 -132 -137 -142 -143 -140 -137 -135 -134 -133 -130 -128 -127 -126 -126 -126 -128 -131 -133 -134 -133 -132 -129 -126 -123 -120 -117 -113 -111 -108 -105 -102 -98 -94 -91 -88 -85 -83 -81 -81 -80 -80 -79 -78 -77 -77 -75 -73 -71 -69 -69 -69 -68 -67 -67 -66 -66 -65 -65 -65 -65 -65 -64 -63 -63 -62 -62 -62 -63 -63 -63 -63 -63 -63 -62 -59 -55 -53 -52 -52 -52 -53 -55 -57 -58 -58 -58 -57 -56 -55 -55 -54 -53 -53 -52 -52 -51 -50 -49 -49 -48 -48 -47 -46 -48 -40 -31 -26 -26 -33 -36 -31 -27 -29 -42 -47 -37 -20 -4 3 -3 -13 -22 -25 -20 -11 -2 2 -0 -5 -3 -2 -4 -10 -16 -20 -21 -20 -19 -20 -23 -26 -31 -36 -41 -40 -33 -25 -24 -34 -41 -41 -35 -28 -29 -35 -43 -49 -52 -54 -54 -53 -51 -49 -51 -55 -59 -62 -61 -62 -65 -68 -67 -63 -64 -62 -57 -49 -44 -44 -44 -43 -46 -53 -54 -53 -52 -55 -57 -59 -59 -60 -60 -60 -59 -58 -57 -57 -59 -61 -64 -69 -73 -75 -75 -74 -74 -77 -77 -74 -67 -60 -58 -58 -59 -62 -66 -69 -73 -75 -75 -70 -64 -61 -62 -66 -69 -71 -72 -73 -74 -76 -73 -68 -63 -59 -60 -64 -67 -67 -68 -70 -69 -68 -65 -64 -65 -66 -63 -57 -48 -42 -41 -43 -47 -53 -59 -64 -67 -69 -71 -73 -70 -65 -63 -70 -75 -76 -71 -64 -58 -53 -52 -54 -58 -65 -70 -70 -67 -63 -64 -66 -69 -72 -74 -77 -81 -84 -83 -80 -80 -80 -81 -82 -84 -87 -91 -95 -97 -95 -94 -94 -91 -85 -81 -82 -82 -81 -80 -81 -81 -80 -79 -79 -79 -79 -79 -79 -80 -79 -78 -76 -75 -71 -64 -58 -54 -54 -58 -62 -65 -67 -69 -68 -65 -62 -60 -59 -60 -65 -69 -73 -75 -75 -74 -74 -73 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -81 -80 -78 -76 -72 -70 -69 -68 -68 -68 -68 -68 -69 -69 -69 -70 -71 -71 -71 -70 -68 -66 -63 -62 -60 -59 -58 -57 -56 -55 -57 -61 -66 -71 -76 -80 -83 -85 -90 -98 -104 -106 -104 -103 -105 -109 -113 -116 -119 -120 -123 -125 -127 -129 -131 -134 -139 -145 -149 -148 -144 -139 -137 -137 -135 -133 -131 -130 -129 -130 -132 -135 -138 -140 -140 -137 -133 -130 -126 -122 -119 -116 -113 -111 -109 -106 -103 -100 -96 -93 -91 -89 -87 -85 -84 -84 -83 -82 -81 -79 -77 -75 -73 -71 -70 -70 -70 -70 -69 -68 -68 -67 -67 -67 -67 -67 -66 -66 -65 -65 -65 -64 -64 -64 -65 -65 -65 -65 -65 -64 -63 -61 -59 -58 -58 -57 -58 -58 -59 -59 -59 -58 -58 -57 -56 -56 -55 -54 -54 -53 -52 -51 -50 -50 -49 -49 -49 -48 -47 -48 -34 -24 -22 -27 -39 -45 -40 -32 -27 -34 -43 -37 -21 -3 7 -1 -11 -24 -35 -41 -31 -16 -6 -6 -10 -5 -3 -6 -13 -21 -26 -27 -26 -28 -30 -29 -29 -32 -36 -46 -49 -41 -28 -20 -31 -37 -35 -24 -16 -19 -27 -38 -47 -50 -51 -49 -43 -37 -40 -45 -50 -54 -60 -63 -64 -65 -65 -64 -65 -64 -62 -57 -51 -46 -44 -43 -45 -52 -56 -55 -54 -55 -59 -61 -62 -62 -62 -62 -63 -63 -63 -62 -62 -64 -66 -70 -75 -76 -74 -72 -71 -73 -73 -67 -60 -54 -54 -58 -62 -65 -69 -73 -77 -78 -75 -68 -60 -58 -61 -65 -71 -74 -75 -75 -75 -75 -73 -70 -67 -64 -62 -66 -69 -70 -69 -68 -67 -62 -57 -53 -54 -58 -63 -65 -64 -57 -49 -44 -43 -45 -51 -58 -62 -65 -66 -71 -72 -69 -66 -66 -72 -75 -74 -69 -63 -60 -58 -56 -55 -59 -68 -72 -70 -66 -63 -64 -66 -69 -73 -77 -81 -83 -82 -79 -77 -77 -79 -81 -83 -87 -90 -94 -96 -97 -95 -94 -91 -87 -81 -79 -80 -81 -80 -80 -80 -80 -80 -79 -79 -79 -78 -78 -79 -79 -80 -80 -79 -77 -72 -64 -57 -53 -53 -57 -60 -62 -65 -68 -68 -65 -61 -58 -57 -59 -63 -68 -72 -74 -75 -74 -74 -73 -72 -73 -74 -75 -77 -78 -78 -79 -79 -79 -78 -77 -77 -75 -72 -70 -69 -68 -68 -67 -67 -67 -67 -67 -67 -69 -71 -71 -71 -70 -69 -67 -65 -62 -60 -59 -58 -56 -56 -56 -60 -64 -69 -74 -79 -82 -86 -90 -97 -104 -106 -105 -103 -103 -107 -112 -116 -119 -122 -124 -126 -128 -130 -132 -135 -140 -147 -152 -153 -150 -145 -142 -141 -141 -139 -137 -135 -134 -134 -136 -139 -142 -145 -145 -142 -138 -133 -129 -125 -121 -118 -115 -112 -111 -109 -106 -103 -101 -98 -95 -93 -92 -90 -89 -87 -86 -85 -84 -82 -80 -78 -75 -73 -72 -72 -72 -72 -72 -71 -70 -69 -69 -69 -69 -69 -68 -67 -67 -67 -67 -67 -67 -66 -67 -67 -67 -68 -68 -67 -66 -65 -64 -62 -61 -60 -59 -59 -59 -59 -59 -59 -59 -59 -58 -58 -57 -56 -55 -54 -53 -52 -52 -51 -50 -50 -50 -49 -49 -48 -53 -35 -23 -20 -26 -39 -51 -52 -43 -33 -31 -35 -27 -12 3 9 2 -5 -14 -26 -41 -44 -32 -19 -13 -12 -7 -7 -8 -10 -15 -21 -26 -31 -35 -37 -33 -29 -29 -35 -46 -54 -53 -44 -32 -36 -38 -33 -21 -15 -17 -22 -29 -36 -41 -46 -45 -40 -34 -38 -44 -47 -51 -57 -62 -64 -64 -63 -60 -64 -63 -59 -54 -47 -41 -42 -46 -53 -59 -61 -60 -61 -62 -64 -65 -65 -65 -66 -67 -68 -69 -69 -68 -67 -68 -70 -72 -74 -75 -73 -72 -73 -74 -70 -62 -55 -53 -58 -63 -66 -68 -71 -74 -75 -72 -65 -57 -54 -57 -62 -67 -71 -74 -73 -72 -71 -70 -68 -69 -71 -73 -74 -75 -75 -74 -71 -66 -57 -50 -45 -45 -50 -57 -65 -70 -70 -63 -54 -48 -46 -46 -49 -56 -62 -65 -67 -71 -71 -68 -66 -69 -73 -74 -73 -70 -67 -66 -63 -59 -57 -61 -70 -72 -68 -63 -63 -64 -66 -70 -75 -80 -82 -82 -80 -76 -73 -75 -78 -81 -84 -88 -92 -96 -98 -97 -94 -92 -87 -82 -77 -77 -78 -79 -80 -80 -80 -80 -80 -80 -79 -79 -78 -78 -78 -79 -80 -80 -80 -77 -71 -63 -57 -53 -53 -56 -58 -60 -64 -68 -68 -64 -61 -58 -57 -59 -62 -66 -70 -73 -74 -74 -74 -74 -72 -72 -73 -74 -76 -77 -78 -78 -77 -77 -76 -76 -75 -74 -72 -71 -71 -70 -68 -66 -66 -66 -66 -65 -66 -68 -70 -72 -72 -71 -70 -68 -65 -62 -59 -58 -57 -56 -57 -59 -63 -68 -73 -77 -81 -85 -89 -95 -102 -106 -106 -104 -104 -106 -110 -115 -119 -123 -126 -129 -130 -132 -133 -136 -140 -146 -152 -155 -152 -149 -146 -145 -146 -146 -143 -141 -139 -139 -141 -143 -146 -149 -150 -146 -142 -137 -133 -128 -123 -120 -117 -114 -112 -110 -108 -105 -103 -102 -99 -97 -95 -94 -93 -91 -90 -88 -86 -84 -82 -80 -79 -76 -75 -74 -74 -74 -74 -74 -72 -71 -71 -70 -70 -70 -70 -69 -68 -68 -68 -69 -69 -69 -69 -69 -69 -69 -70 -70 -69 -68 -67 -65 -63 -62 -61 -60 -60 -60 -60 -60 -60 -60 -59 -59 -59 -58 -57 -56 -55 -54 -53 -52 -51 -51 -50 -50 -50 -49 -48 -57 -44 -30 -22 -23 -34 -49 -58 -57 -48 -39 -32 -17 -2 6 4 -1 -5 -12 -22 -33 -43 -38 -28 -18 -13 -12 -15 -14 -10 -13 -22 -32 -40 -46 -45 -40 -35 -31 -29 -32 -45 -56 -58 -51 -47 -41 -33 -24 -20 -20 -20 -23 -27 -32 -39 -42 -42 -40 -42 -47 -50 -53 -58 -60 -63 -65 -62 -56 -56 -59 -58 -51 -40 -39 -45 -53 -61 -67 -68 -69 -70 -70 -69 -68 -69 -70 -72 -73 -73 -72 -72 -73 -72 -72 -72 -73 -73 -73 -73 -74 -74 -73 -69 -62 -57 -58 -62 -65 -66 -68 -71 -74 -70 -63 -55 -51 -52 -57 -62 -66 -70 -69 -66 -65 -66 -66 -68 -73 -77 -80 -80 -80 -79 -76 -69 -57 -50 -48 -49 -53 -58 -66 -72 -74 -69 -59 -51 -48 -48 -47 -49 -54 -59 -63 -67 -72 -69 -65 -63 -68 -73 -75 -76 -77 -78 -74 -66 -61 -59 -64 -71 -69 -64 -60 -63 -64 -67 -72 -78 -82 -81 -80 -76 -72 -71 -74 -78 -81 -84 -89 -93 -96 -97 -96 -94 -90 -84 -78 -75 -77 -78 -79 -79 -80 -80 -80 -80 -80 -79 -79 -78 -77 -77 -78 -78 -78 -77 -74 -69 -63 -57 -53 -52 -55 -57 -59 -62 -66 -67 -64 -61 -58 -58 -59 -61 -65 -69 -71 -72 -73 -74 -74 -73 -72 -71 -71 -73 -75 -76 -76 -76 -75 -75 -75 -74 -72 -70 -72 -72 -71 -68 -67 -67 -67 -67 -66 -66 -68 -70 -72 -73 -72 -71 -69 -66 -62 -59 -57 -57 -57 -59 -63 -68 -73 -77 -80 -85 -90 -95 -101 -105 -106 -105 -105 -107 -110 -114 -119 -124 -128 -131 -133 -134 -134 -136 -139 -145 -150 -154 -155 -153 -151 -149 -149 -150 -149 -147 -145 -144 -145 -148 -150 -152 -153 -150 -145 -140 -135 -131 -126 -122 -119 -117 -114 -111 -109 -106 -104 -103 -102 -100 -98 -97 -96 -95 -93 -91 -88 -86 -84 -82 -81 -81 -79 -78 -77 -77 -76 -76 -75 -74 -73 -72 -72 -71 -70 -70 -69 -68 -69 -69 -70 -71 -71 -71 -71 -71 -71 -71 -71 -71 -70 -69 -67 -65 -63 -62 -61 -61 -61 -61 -61 -61 -61 -60 -60 -59 -59 -58 -57 -57 -55 -54 -53 -51 -51 -51 -50 -49 -48 -48 -58 -54 -44 -32 -25 -27 -37 -49 -58 -63 -59 -47 -30 -14 -3 -3 -5 -6 -14 -26 -38 -46 -47 -40 -28 -18 -21 -24 -23 -18 -18 -25 -34 -43 -50 -50 -46 -41 -37 -32 -25 -32 -45 -57 -57 -53 -46 -38 -30 -23 -20 -19 -20 -23 -28 -35 -41 -45 -47 -50 -53 -56 -57 -58 -58 -61 -60 -53 -42 -45 -56 -58 -51 -39 -43 -53 -62 -69 -73 -75 -76 -77 -76 -74 -73 -75 -76 -76 -75 -74 -73 -74 -76 -77 -76 -75 -74 -73 -72 -73 -74 -74 -72 -69 -65 -63 -63 -65 -67 -68 -70 -73 -74 -65 -56 -50 -50 -54 -57 -61 -65 -68 -64 -61 -62 -65 -68 -72 -78 -82 -84 -84 -82 -80 -73 -62 -50 -49 -53 -58 -63 -68 -74 -78 -77 -70 -58 -50 -47 -46 -46 -50 -57 -63 -70 -75 -74 -66 -61 -62 -69 -74 -75 -75 -77 -81 -74 -65 -60 -61 -66 -68 -64 -60 -59 -62 -64 -69 -76 -82 -82 -81 -78 -74 -69 -70 -73 -77 -81 -84 -88 -92 -94 -95 -94 -91 -85 -78 -74 -75 -76 -77 -78 -78 -79 -79 -80 -80 -79 -78 -78 -77 -77 -76 -75 -75 -74 -73 -71 -68 -62 -56 -52 -51 -54 -55 -57 -60 -64 -65 -64 -61 -59 -58 -59 -61 -65 -68 -70 -70 -71 -73 -74 -74 -72 -70 -68 -68 -71 -73 -74 -73 -74 -74 -74 -73 -70 -69 -71 -72 -71 -68 -67 -68 -68 -67 -65 -65 -68 -71 -72 -73 -73 -72 -70 -67 -64 -61 -59 -59 -60 -62 -68 -74 -78 -82 -85 -90 -95 -100 -105 -106 -106 -106 -108 -111 -114 -119 -124 -129 -133 -134 -135 -136 -137 -139 -143 -148 -151 -153 -154 -153 -152 -152 -153 -153 -152 -151 -150 -150 -153 -156 -157 -157 -154 -149 -143 -137 -133 -128 -124 -122 -119 -116 -113 -110 -107 -105 -104 -103 -102 -101 -99 -98 -97 -95 -93 -91 -88 -86 -84 -83 -83 -83 -81 -80 -79 -78 -77 -77 -76 -75 -74 -73 -73 -72 -71 -70 -69 -69 -70 -71 -72 -73 -73 -73 -73 -73 -73 -73 -73 -72 -71 -70 -68 -66 -65 -63 -62 -62 -62 -61 -62 -62 -61 -61 -60 -60 -60 -59 -59 -58 -56 -54 -53 -51 -51 -51 -50 -48 -47 -47 -67 -67 -61 -49 -35 -23 -24 -37 -49 -58 -64 -61 -53 -38 -21 -10 -8 -8 -13 -23 -35 -44 -47 -43 -31 -21 -27 -32 -32 -27 -21 -24 -32 -42 -50 -50 -48 -47 -45 -42 -30 -27 -36 -50 -57 -53 -49 -45 -38 -30 -24 -22 -23 -26 -32 -37 -43 -49 -54 -57 -59 -59 -58 -56 -55 -55 -48 -36 -29 -44 -57 -60 -53 -44 -49 -60 -69 -74 -75 -77 -78 -79 -78 -77 -78 -78 -77 -75 -73 -73 -73 -75 -78 -80 -79 -77 -75 -73 -71 -71 -71 -72 -72 -70 -68 -67 -68 -69 -70 -72 -74 -76 -74 -62 -52 -49 -52 -56 -59 -62 -65 -66 -62 -61 -63 -68 -74 -78 -82 -85 -86 -85 -82 -76 -67 -56 -49 -51 -56 -62 -68 -74 -78 -78 -74 -66 -57 -52 -49 -47 -47 -53 -61 -68 -73 -76 -70 -63 -60 -64 -71 -73 -74 -77 -81 -81 -70 -62 -59 -61 -63 -65 -63 -61 -60 -63 -67 -74 -81 -83 -80 -79 -76 -73 -68 -69 -72 -76 -79 -82 -86 -90 -91 -91 -89 -83 -77 -72 -72 -74 -75 -76 -77 -77 -78 -79 -79 -79 -78 -77 -76 -75 -74 -72 -72 -71 -71 -70 -70 -67 -62 -56 -52 -51 -53 -54 -55 -58 -62 -64 -62 -60 -59 -58 -59 -60 -63 -66 -68 -68 -69 -71 -73 -74 -73 -70 -67 -63 -64 -67 -70 -70 -71 -73 -73 -72 -69 -68 -69 -70 -69 -67 -67 -68 -68 -66 -64 -65 -68 -70 -72 -73 -73 -73 -71 -70 -67 -65 -63 -62 -64 -68 -74 -80 -84 -87 -91 -95 -100 -105 -107 -107 -107 -109 -112 -115 -118 -122 -127 -132 -135 -136 -137 -137 -139 -143 -148 -150 -152 -151 -153 -154 -155 -155 -155 -155 -155 -155 -156 -157 -161 -163 -162 -158 -152 -146 -140 -135 -131 -127 -123 -121 -118 -115 -113 -110 -107 -105 -104 -103 -103 -102 -100 -99 -97 -95 -93 -90 -87 -85 -84 -84 -84 -83 -82 -81 -80 -80 -79 -79 -78 -77 -76 -75 -74 -73 -72 -71 -71 -71 -71 -72 -73 -74 -75 -75 -75 -75 -75 -74 -74 -73 -72 -71 -70 -68 -66 -64 -63 -63 -62 -62 -62 -62 -62 -61 -60 -60 -60 -60 -59 -58 -57 -55 -53 -52 -51 -50 -49 -48 -46 -45 -72 -72 -67 -61 -50 -36 -22 -26 -36 -47 -56 -58 -58 -50 -35 -18 -11 -11 -15 -20 -29 -40 -45 -40 -28 -19 -29 -38 -41 -37 -27 -23 -29 -39 -47 -49 -49 -50 -51 -50 -40 -32 -35 -45 -54 -53 -52 -50 -47 -41 -36 -34 -35 -37 -41 -44 -47 -52 -57 -60 -59 -58 -55 -49 -46 -43 -35 -29 -35 -54 -62 -59 -52 -49 -56 -66 -72 -74 -73 -75 -75 -75 -75 -76 -76 -74 -73 -71 -72 -74 -76 -78 -79 -80 -79 -78 -76 -74 -72 -70 -69 -70 -71 -69 -69 -70 -72 -73 -72 -74 -76 -75 -68 -57 -51 -51 -57 -60 -63 -66 -67 -65 -62 -64 -69 -74 -79 -82 -84 -85 -85 -83 -76 -68 -60 -54 -52 -55 -59 -65 -71 -77 -78 -75 -69 -62 -56 -53 -52 -51 -51 -55 -61 -68 -72 -73 -65 -61 -63 -69 -72 -72 -75 -80 -84 -80 -68 -61 -59 -60 -62 -65 -67 -68 -70 -74 -78 -82 -83 -78 -75 -77 -75 -70 -66 -68 -71 -74 -76 -79 -83 -86 -86 -83 -78 -72 -69 -69 -71 -73 -74 -75 -76 -76 -77 -78 -78 -77 -76 -75 -74 -72 -70 -69 -69 -68 -68 -69 -69 -65 -60 -55 -51 -51 -53 -54 -54 -56 -60 -61 -60 -58 -57 -57 -58 -59 -61 -64 -66 -66 -67 -69 -71 -72 -72 -70 -65 -61 -60 -61 -63 -65 -67 -70 -72 -72 -70 -68 -67 -66 -65 -65 -65 -66 -67 -65 -64 -65 -68 -70 -73 -74 -75 -74 -74 -73 -72 -71 -70 -69 -71 -76 -81 -86 -89 -92 -96 -100 -104 -107 -108 -108 -110 -113 -116 -118 -121 -125 -130 -133 -135 -136 -137 -138 -142 -147 -151 -152 -151 -151 -154 -156 -158 -159 -159 -159 -160 -161 -163 -165 -168 -166 -162 -154 -148 -142 -138 -134 -130 -126 -123 -120 -117 -115 -112 -110 -108 -106 -105 -104 -103 -102 -100 -98 -95 -93 -91 -89 -86 -85 -84 -84 -84 -83 -82 -81 -81 -81 -80 -80 -80 -79 -77 -76 -75 -74 -73 -73 -72 -72 -72 -73 -74 -75 -76 -76 -76 -76 -76 -75 -75 -74 -73 -72 -71 -69 -67 -66 -65 -64 -63 -63 -62 -62 -62 -61 -61 -61 -61 -60 -59 -58 -57 -55 -54 -52 -51 -49 -48 -47 -45 -44 -66 -67 -64 -61 -58 -53 -40 -28 -27 -33 -42 -47 -52 -50 -42 -27 -20 -21 -20 -20 -24 -37 -44 -40 -28 -18 -28 -40 -47 -47 -38 -28 -28 -35 -43 -46 -48 -49 -50 -50 -44 -38 -36 -40 -47 -52 -53 -53 -51 -49 -48 -47 -47 -48 -49 -49 -51 -54 -57 -56 -51 -47 -43 -36 -34 -33 -31 -34 -48 -61 -60 -55 -51 -54 -64 -71 -72 -69 -68 -71 -71 -70 -70 -69 -68 -69 -71 -74 -77 -79 -80 -80 -79 -77 -77 -77 -77 -77 -75 -72 -69 -68 -70 -70 -72 -74 -75 -74 -73 -74 -72 -67 -57 -51 -54 -60 -65 -66 -67 -67 -66 -64 -66 -71 -75 -79 -82 -85 -84 -83 -81 -77 -66 -57 -53 -55 -58 -61 -65 -70 -75 -80 -77 -71 -65 -61 -56 -53 -53 -54 -55 -56 -61 -66 -69 -67 -61 -62 -67 -72 -74 -76 -80 -84 -86 -80 -70 -63 -59 -58 -60 -65 -71 -76 -80 -83 -82 -80 -75 -72 -74 -74 -71 -66 -64 -69 -71 -72 -73 -77 -80 -81 -77 -70 -64 -63 -65 -68 -71 -72 -73 -74 -75 -75 -76 -76 -76 -76 -74 -73 -71 -70 -68 -66 -65 -66 -66 -67 -66 -63 -59 -54 -51 -52 -54 -54 -54 -56 -58 -58 -57 -56 -56 -56 -56 -57 -59 -62 -64 -64 -65 -66 -68 -70 -70 -68 -65 -60 -58 -57 -58 -60 -63 -68 -71 -72 -70 -68 -65 -63 -61 -61 -63 -65 -65 -65 -64 -66 -68 -71 -73 -76 -77 -77 -77 -77 -77 -77 -77 -77 -79 -83 -88 -92 -94 -96 -99 -102 -105 -107 -108 -111 -114 -117 -119 -120 -123 -127 -132 -135 -135 -135 -136 -139 -145 -151 -153 -152 -150 -152 -156 -160 -161 -161 -162 -164 -166 -168 -170 -171 -170 -165 -158 -150 -144 -140 -136 -133 -130 -126 -123 -120 -117 -115 -113 -111 -109 -107 -105 -104 -103 -102 -99 -97 -94 -92 -90 -88 -85 -84 -84 -84 -83 -82 -82 -81 -81 -82 -82 -82 -81 -80 -79 -78 -77 -76 -76 -75 -74 -74 -74 -74 -75 -76 -77 -77 -76 -76 -76 -76 -75 -75 -73 -73 -72 -70 -68 -67 -66 -65 -64 -63 -63 -62 -62 -61 -61 -61 -60 -59 -58 -57 -57 -56 -54 -53 -51 -49 -48 -47 -45 -44 -62 -65 -65 -62 -60 -59 -55 -43 -31 -27 -31 -38 -43 -45 -42 -34 -30 -32 -28 -23 -24 -36 -46 -45 -36 -26 -28 -38 -48 -54 -52 -42 -35 -34 -38 -40 -43 -44 -45 -43 -33 -24 -25 -33 -43 -48 -50 -50 -49 -48 -50 -50 -49 -47 -47 -47 -48 -51 -55 -52 -40 -31 -27 -26 -31 -31 -33 -41 -54 -62 -61 -59 -60 -67 -73 -74 -72 -70 -71 -73 -73 -73 -73 -73 -75 -78 -81 -83 -84 -83 -81 -80 -78 -78 -78 -79 -79 -79 -79 -77 -74 -70 -69 -71 -74 -76 -77 -76 -74 -71 -66 -59 -51 -53 -59 -64 -66 -65 -63 -63 -65 -69 -72 -75 -78 -80 -83 -84 -83 -81 -77 -69 -58 -52 -53 -59 -65 -68 -71 -73 -77 -82 -76 -69 -63 -63 -60 -54 -52 -54 -56 -58 -62 -66 -67 -63 -61 -65 -71 -76 -79 -81 -85 -88 -86 -79 -70 -64 -60 -59 -62 -68 -75 -80 -82 -80 -76 -71 -68 -69 -73 -72 -67 -62 -62 -65 -65 -66 -68 -71 -71 -68 -62 -56 -57 -60 -65 -68 -70 -70 -72 -73 -74 -74 -74 -74 -74 -74 -73 -72 -70 -68 -65 -64 -63 -64 -65 -66 -64 -60 -57 -54 -52 -53 -55 -55 -55 -56 -58 -57 -55 -54 -55 -55 -55 -55 -57 -60 -61 -62 -63 -65 -67 -68 -67 -66 -63 -59 -56 -55 -55 -57 -61 -66 -70 -71 -70 -67 -63 -60 -58 -58 -60 -62 -63 -64 -65 -67 -69 -71 -74 -77 -79 -80 -80 -80 -81 -83 -84 -85 -86 -90 -94 -96 -97 -98 -100 -103 -106 -107 -110 -113 -117 -119 -121 -122 -125 -129 -133 -135 -135 -135 -137 -142 -149 -153 -153 -152 -151 -155 -161 -163 -163 -163 -165 -168 -172 -174 -174 -172 -168 -162 -155 -148 -143 -139 -137 -134 -130 -126 -122 -119 -118 -116 -114 -112 -110 -108 -106 -105 -103 -101 -98 -96 -94 -92 -90 -88 -85 -84 -83 -83 -83 -82 -82 -81 -82 -82 -83 -83 -82 -81 -80 -79 -78 -78 -77 -76 -76 -76 -76 -75 -76 -77 -77 -77 -76 -76 -76 -76 -75 -75 -74 -73 -72 -71 -70 -68 -67 -66 -65 -64 -63 -62 -62 -61 -61 -60 -59 -58 -57 -57 -57 -56 -54 -53 -51 -49 -48 -48 -46 -44 -61 -64 -65 -63 -61 -60 -60 -55 -41 -30 -25 -29 -34 -37 -38 -37 -37 -38 -35 -31 -31 -40 -48 -50 -48 -44 -36 -36 -43 -52 -61 -60 -52 -43 -36 -31 -30 -34 -39 -41 -25 -16 -20 -31 -41 -46 -45 -44 -43 -43 -45 -45 -43 -41 -41 -42 -45 -50 -53 -43 -27 -18 -18 -26 -33 -33 -36 -43 -54 -60 -62 -65 -70 -75 -76 -75 -74 -74 -76 -78 -79 -80 -80 -82 -86 -89 -90 -90 -88 -85 -82 -80 -79 -79 -81 -82 -81 -80 -80 -79 -77 -74 -70 -71 -73 -76 -77 -77 -74 -69 -63 -57 -54 -56 -59 -61 -60 -59 -60 -66 -73 -78 -77 -76 -77 -79 -82 -84 -82 -78 -71 -60 -54 -53 -56 -63 -71 -73 -72 -73 -77 -82 -77 -69 -63 -62 -62 -58 -55 -53 -55 -58 -63 -65 -65 -62 -64 -70 -76 -81 -82 -85 -88 -88 -84 -74 -66 -62 -60 -60 -65 -71 -76 -77 -75 -71 -67 -65 -67 -71 -72 -69 -65 -60 -57 -55 -53 -53 -57 -60 -60 -58 -55 -53 -55 -60 -65 -69 -69 -68 -69 -71 -72 -71 -72 -73 -73 -73 -72 -71 -69 -66 -64 -62 -62 -62 -63 -63 -61 -58 -55 -54 -53 -54 -56 -56 -57 -57 -59 -57 -55 -54 -54 -54 -54 -54 -56 -58 -59 -60 -61 -63 -65 -66 -65 -63 -61 -58 -56 -54 -54 -55 -59 -64 -67 -69 -69 -66 -63 -60 -57 -56 -58 -59 -61 -62 -64 -67 -70 -73 -75 -79 -81 -83 -83 -84 -86 -88 -89 -90 -92 -94 -96 -96 -95 -96 -100 -104 -106 -109 -112 -116 -119 -120 -121 -123 -126 -130 -134 -136 -135 -136 -140 -146 -152 -154 -153 -152 -154 -159 -163 -164 -163 -164 -168 -173 -177 -177 -174 -169 -164 -158 -153 -148 -144 -141 -138 -135 -130 -126 -122 -120 -119 -117 -116 -114 -111 -109 -107 -105 -103 -100 -97 -95 -94 -92 -90 -88 -85 -84 -83 -83 -83 -83 -83 -82 -82 -82 -83 -83 -83 -82 -81 -80 -79 -79 -79 -78 -78 -78 -77 -77 -77 -77 -77 -76 -76 -75 -76 -76 -76 -75 -75 -74 -73 -71 -70 -69 -68 -67 -66 -65 -64 -63 -62 -61 -61 -60 -59 -57 -56 -56 -56 -56 -54 -54 -51 -49 -47 -48 -47 -45 -57 -58 -61 -61 -60 -58 -55 -56 -47 -35 -24 -21 -27 -30 -33 -35 -38 -38 -39 -41 -44 -46 -48 -48 -50 -52 -48 -46 -47 -52 -59 -63 -60 -52 -43 -35 -30 -33 -39 -40 -23 -14 -19 -30 -40 -43 -43 -42 -41 -41 -40 -37 -34 -32 -33 -35 -38 -45 -48 -37 -18 -14 -20 -31 -35 -38 -45 -54 -62 -67 -70 -73 -74 -74 -72 -71 -73 -75 -78 -81 -83 -84 -85 -88 -93 -94 -93 -90 -88 -85 -82 -80 -79 -81 -83 -83 -83 -82 -81 -80 -79 -77 -73 -71 -72 -74 -76 -77 -73 -68 -64 -60 -57 -58 -60 -62 -62 -63 -68 -74 -79 -80 -76 -74 -75 -79 -83 -84 -81 -74 -64 -56 -54 -56 -61 -67 -71 -69 -69 -72 -77 -81 -78 -71 -65 -63 -65 -63 -60 -57 -57 -59 -62 -64 -65 -64 -67 -70 -73 -77 -79 -84 -87 -86 -80 -69 -61 -57 -58 -61 -67 -72 -72 -69 -65 -64 -64 -67 -71 -73 -71 -67 -63 -58 -52 -45 -40 -40 -44 -50 -53 -54 -52 -51 -55 -60 -65 -68 -67 -67 -69 -70 -71 -71 -72 -73 -73 -72 -71 -70 -68 -65 -63 -61 -61 -61 -61 -60 -58 -56 -54 -54 -54 -55 -57 -58 -58 -60 -61 -59 -55 -53 -53 -53 -53 -53 -54 -57 -57 -58 -59 -62 -63 -63 -62 -60 -58 -56 -55 -54 -53 -54 -57 -61 -64 -67 -67 -66 -64 -61 -58 -58 -58 -58 -59 -61 -65 -69 -73 -76 -78 -81 -84 -86 -87 -88 -90 -92 -93 -94 -95 -96 -95 -94 -93 -96 -100 -104 -108 -111 -115 -118 -120 -121 -121 -123 -126 -130 -134 -135 -136 -138 -143 -149 -153 -153 -153 -154 -157 -162 -163 -163 -164 -168 -175 -180 -181 -177 -170 -164 -159 -156 -154 -150 -147 -143 -140 -137 -132 -127 -124 -122 -121 -119 -117 -115 -112 -110 -108 -107 -104 -100 -97 -96 -94 -92 -90 -88 -85 -84 -84 -84 -84 -84 -84 -83 -82 -82 -83 -84 -83 -82 -81 -80 -80 -80 -79 -79 -79 -79 -78 -78 -78 -78 -77 -76 -75 -75 -75 -76 -76 -75 -75 -75 -73 -72 -71 -70 -68 -67 -66 -65 -64 -63 -62 -61 -60 -59 -57 -56 -56 -56 -56 -55 -54 -54 -52 -49 -48 -48 -48 -46 -50 -52 -56 -58 -56 -52 -48 -50 -46 -39 -29 -20 -25 -28 -30 -31 -32 -31 -32 -36 -44 -49 -49 -48 -49 -51 -51 -52 -54 -57 -60 -62 -60 -55 -50 -45 -38 -36 -39 -40 -30 -20 -20 -26 -34 -40 -43 -43 -42 -41 -40 -33 -25 -20 -22 -26 -32 -40 -43 -32 -17 -16 -25 -37 -42 -48 -55 -63 -70 -75 -76 -76 -75 -74 -72 -73 -74 -77 -79 -82 -84 -86 -88 -91 -91 -89 -86 -83 -83 -82 -81 -80 -80 -81 -83 -83 -83 -82 -81 -80 -80 -79 -76 -73 -72 -72 -74 -76 -74 -71 -68 -65 -62 -63 -65 -68 -70 -73 -78 -80 -79 -73 -68 -69 -73 -79 -83 -83 -78 -70 -61 -57 -56 -59 -63 -68 -68 -67 -69 -72 -77 -80 -79 -73 -65 -61 -62 -63 -61 -57 -56 -60 -65 -68 -70 -69 -67 -66 -68 -72 -78 -85 -86 -80 -71 -62 -57 -55 -57 -61 -68 -67 -64 -60 -60 -64 -68 -72 -73 -72 -69 -67 -62 -56 -47 -39 -34 -34 -37 -45 -50 -51 -50 -50 -55 -60 -64 -66 -65 -66 -68 -71 -72 -70 -71 -72 -73 -71 -70 -69 -67 -65 -63 -61 -60 -59 -58 -56 -55 -54 -54 -55 -55 -56 -58 -59 -60 -62 -63 -59 -55 -51 -51 -52 -53 -54 -55 -56 -56 -56 -57 -59 -60 -60 -59 -57 -56 -55 -54 -52 -51 -52 -54 -57 -61 -64 -65 -65 -64 -61 -60 -59 -57 -56 -57 -60 -63 -68 -73 -77 -79 -81 -85 -89 -92 -93 -94 -95 -97 -98 -97 -95 -93 -92 -93 -97 -102 -106 -109 -113 -116 -118 -120 -120 -120 -122 -125 -129 -134 -135 -137 -141 -146 -152 -153 -153 -153 -156 -160 -162 -164 -166 -169 -176 -181 -182 -178 -171 -163 -159 -158 -157 -157 -154 -151 -146 -142 -138 -134 -130 -127 -125 -123 -121 -119 -117 -114 -112 -111 -109 -105 -101 -98 -96 -94 -92 -90 -88 -86 -85 -84 -84 -84 -84 -84 -83 -82 -83 -83 -84 -83 -82 -81 -80 -80 -79 -79 -79 -79 -79 -79 -79 -79 -78 -77 -76 -75 -75 -75 -75 -75 -75 -75 -75 -73 -72 -71 -70 -69 -68 -67 -66 -64 -63 -61 -60 -59 -58 -57 -56 -56 -55 -55 -54 -53 -54 -53 -50 -49 -48 -48 -47 -52 -55 -57 -56 -52 -45 -39 -37 -36 -35 -33 -28 -27 -25 -21 -18 -19 -27 -34 -40 -43 -45 -45 -46 -48 -49 -49 -52 -55 -58 -59 -60 -59 -56 -53 -51 -47 -45 -44 -43 -38 -32 -30 -31 -33 -39 -44 -45 -43 -43 -44 -38 -26 -14 -11 -18 -29 -37 -39 -30 -21 -22 -31 -44 -54 -61 -66 -71 -75 -77 -77 -77 -78 -80 -81 -80 -79 -79 -81 -82 -84 -87 -89 -89 -84 -78 -75 -75 -79 -81 -82 -82 -82 -82 -82 -82 -82 -82 -81 -80 -80 -79 -78 -75 -73 -72 -72 -74 -74 -74 -72 -70 -66 -68 -72 -75 -78 -81 -81 -80 -75 -69 -66 -69 -75 -81 -84 -83 -76 -67 -59 -58 -58 -61 -65 -68 -68 -69 -71 -74 -76 -80 -80 -74 -66 -59 -59 -61 -60 -57 -56 -63 -70 -74 -75 -75 -73 -72 -73 -77 -84 -87 -82 -72 -61 -55 -51 -51 -55 -63 -65 -61 -57 -56 -61 -67 -70 -71 -69 -69 -70 -68 -62 -52 -43 -38 -35 -35 -37 -43 -48 -50 -49 -50 -55 -59 -63 -64 -64 -65 -69 -73 -73 -69 -70 -71 -70 -69 -69 -68 -67 -64 -61 -58 -58 -57 -56 -55 -54 -54 -54 -56 -56 -57 -59 -61 -63 -65 -64 -60 -53 -50 -50 -52 -52 -53 -54 -55 -55 -55 -55 -57 -58 -57 -56 -54 -53 -53 -52 -51 -50 -50 -51 -54 -58 -62 -63 -64 -63 -62 -62 -60 -57 -55 -56 -58 -62 -67 -72 -77 -78 -81 -86 -91 -96 -97 -98 -99 -100 -101 -99 -96 -94 -93 -96 -101 -106 -110 -113 -115 -117 -119 -120 -120 -119 -121 -125 -129 -134 -136 -139 -144 -150 -152 -152 -153 -155 -158 -161 -163 -166 -170 -177 -183 -184 -179 -171 -162 -158 -158 -159 -160 -160 -158 -153 -148 -143 -140 -136 -133 -129 -127 -125 -124 -122 -120 -117 -115 -113 -110 -106 -102 -99 -96 -94 -92 -90 -88 -87 -86 -85 -84 -84 -84 -84 -83 -82 -82 -83 -84 -84 -82 -81 -80 -80 -79 -79 -79 -79 -79 -79 -79 -79 -79 -77 -76 -76 -75 -75 -75 -75 -75 -75 -74 -73 -72 -71 -70 -69 -68 -67 -66 -64 -62 -61 -60 -58 -57 -56 -56 -56 -55 -54 -53 -53 -54 -53 -52 -51 -50 -48 -47 -53 -52 -48 -47 -44 -39 -35 -31 -26 -22 -22 -23 -23 -21 -17 -14 -15 -27 -37 -42 -43 -44 -44 -44 -46 -48 -48 -50 -53 -54 -56 -57 -57 -56 -54 -52 -52 -52 -51 -48 -45 -42 -40 -39 -40 -43 -46 -46 -43 -42 -46 -46 -35 -18 -6 -14 -28 -36 -35 -28 -24 -28 -39 -52 -64 -71 -76 -78 -78 -77 -79 -81 -84 -86 -87 -83 -80 -79 -81 -84 -86 -88 -87 -81 -74 -70 -70 -74 -79 -82 -83 -83 -84 -83 -81 -80 -81 -81 -80 -79 -79 -78 -78 -77 -76 -75 -74 -73 -73 -74 -75 -73 -70 -72 -74 -77 -79 -78 -77 -75 -75 -74 -75 -78 -82 -85 -86 -85 -76 -65 -57 -58 -59 -62 -66 -69 -71 -73 -73 -74 -75 -81 -81 -76 -66 -58 -57 -58 -58 -59 -61 -67 -73 -76 -77 -76 -76 -76 -77 -81 -84 -83 -77 -67 -56 -51 -48 -50 -55 -61 -61 -58 -56 -59 -64 -65 -64 -63 -64 -70 -73 -70 -61 -48 -41 -39 -39 -39 -40 -43 -47 -49 -49 -51 -55 -58 -61 -62 -62 -64 -69 -72 -70 -66 -68 -69 -69 -68 -67 -67 -66 -63 -60 -58 -58 -57 -56 -55 -54 -54 -56 -58 -58 -58 -60 -63 -65 -67 -65 -59 -52 -49 -50 -51 -52 -52 -53 -55 -55 -54 -54 -55 -56 -55 -53 -51 -51 -51 -51 -50 -50 -48 -48 -51 -56 -61 -62 -62 -62 -63 -63 -60 -56 -54 -55 -58 -63 -67 -72 -75 -77 -81 -87 -94 -99 -101 -102 -102 -103 -103 -101 -98 -95 -95 -99 -105 -110 -114 -116 -117 -118 -119 -120 -119 -119 -121 -125 -130 -134 -137 -142 -148 -151 -151 -152 -154 -157 -160 -163 -166 -170 -176 -182 -185 -180 -171 -161 -155 -155 -157 -160 -162 -162 -158 -153 -148 -145 -143 -139 -135 -131 -129 -127 -126 -124 -122 -120 -118 -114 -111 -107 -104 -100 -97 -94 -93 -91 -89 -88 -87 -86 -85 -85 -84 -84 -82 -81 -82 -83 -84 -84 -82 -81 -81 -80 -80 -79 -79 -78 -78 -78 -79 -80 -80 -78 -77 -76 -75 -74 -74 -75 -75 -74 -74 -73 -72 -71 -70 -69 -69 -67 -66 -64 -63 -61 -60 -58 -57 -56 -56 -56 -55 -54 -53 -53 -54 -54 -53 -52 -51 -49 -48 -47 -42 -40 -40 -38 -34 -32 -28 -22 -20 -20 -20 -20 -20 -17 -16 -20 -31 -38 -41 -41 -42 -41 -42 -43 -45 -46 -48 -49 -49 -50 -52 -54 -54 -53 -52 -52 -53 -53 -51 -48 -45 -43 -44 -46 -47 -46 -44 -40 -36 -41 -47 -42 -28 -12 -15 -27 -33 -30 -23 -23 -30 -42 -53 -62 -69 -73 -74 -75 -78 -83 -85 -83 -79 -76 -75 -76 -80 -84 -86 -88 -86 -81 -72 -68 -69 -72 -77 -81 -82 -82 -82 -83 -82 -81 -80 -80 -80 -79 -78 -77 -77 -78 -78 -79 -79 -79 -77 -75 -75 -76 -76 -72 -71 -71 -70 -70 -69 -70 -74 -79 -82 -84 -87 -89 -90 -89 -86 -76 -64 -56 -58 -60 -63 -67 -72 -75 -75 -74 -73 -75 -82 -83 -77 -66 -57 -56 -57 -58 -61 -67 -72 -76 -78 -77 -75 -73 -73 -75 -78 -79 -79 -75 -69 -60 -55 -53 -55 -59 -63 -61 -58 -57 -57 -59 -59 -59 -61 -65 -73 -76 -72 -61 -47 -40 -40 -42 -43 -43 -43 -46 -48 -50 -50 -53 -57 -59 -61 -61 -64 -67 -68 -66 -65 -67 -68 -68 -67 -66 -66 -65 -63 -60 -61 -59 -58 -56 -56 -55 -56 -58 -59 -59 -60 -63 -66 -68 -70 -65 -58 -51 -49 -50 -50 -51 -52 -52 -54 -54 -54 -53 -53 -53 -52 -50 -49 -49 -49 -50 -50 -49 -47 -46 -49 -54 -59 -59 -60 -61 -62 -63 -60 -57 -56 -56 -60 -63 -67 -70 -73 -77 -83 -91 -98 -104 -106 -106 -106 -106 -104 -102 -99 -97 -97 -102 -108 -114 -117 -119 -119 -120 -121 -121 -120 -120 -123 -127 -131 -134 -139 -144 -149 -151 -150 -152 -155 -158 -161 -164 -168 -173 -179 -184 -180 -171 -160 -152 -150 -152 -157 -161 -163 -162 -159 -154 -149 -147 -145 -141 -137 -133 -131 -129 -128 -127 -125 -123 -120 -115 -111 -108 -106 -102 -99 -96 -94 -92 -90 -89 -87 -87 -85 -85 -85 -84 -82 -81 -81 -83 -84 -84 -83 -82 -81 -81 -81 -80 -79 -77 -77 -77 -78 -79 -80 -79 -78 -77 -76 -75 -75 -75 -75 -74 -74 -73 -72 -71 -71 -70 -69 -67 -66 -64 -62 -61 -60 -58 -57 -57 -56 -56 -55 -54 -54 -54 -54 -54 -53 -52 -51 -50 -50 -39 -36 -36 -35 -31 -28 -28 -26 -21 -20 -22 -21 -22 -21 -20 -21 -27 -34 -37 -38 -39 -39 -37 -38 -41 -43 -44 -46 -46 -45 -44 -46 -49 -50 -50 -49 -49 -49 -49 -48 -45 -43 -43 -45 -46 -42 -39 -36 -33 -32 -35 -41 -42 -38 -27 -24 -26 -29 -28 -23 -25 -34 -44 -50 -55 -61 -67 -72 -76 -82 -83 -80 -74 -69 -69 -73 -78 -81 -81 -81 -82 -81 -74 -67 -67 -70 -73 -78 -81 -82 -82 -82 -81 -81 -80 -80 -80 -79 -79 -78 -79 -79 -81 -82 -83 -84 -85 -82 -77 -76 -76 -76 -75 -73 -71 -69 -69 -71 -73 -76 -80 -83 -87 -90 -92 -92 -90 -83 -73 -62 -56 -56 -59 -65 -70 -74 -74 -72 -70 -71 -77 -85 -84 -77 -65 -57 -57 -59 -60 -63 -70 -75 -78 -80 -79 -75 -71 -68 -69 -72 -76 -77 -76 -73 -68 -64 -62 -63 -66 -67 -66 -63 -59 -57 -57 -58 -60 -63 -67 -73 -76 -74 -65 -50 -39 -36 -36 -37 -40 -40 -44 -49 -52 -49 -50 -54 -57 -59 -61 -64 -65 -65 -63 -64 -66 -68 -67 -67 -66 -66 -65 -64 -62 -62 -60 -58 -58 -57 -57 -59 -62 -63 -61 -62 -64 -67 -70 -69 -63 -55 -51 -50 -50 -51 -51 -51 -51 -52 -53 -53 -53 -51 -51 -50 -49 -48 -48 -48 -49 -50 -49 -46 -46 -49 -53 -56 -57 -58 -59 -61 -61 -61 -60 -60 -60 -61 -62 -64 -67 -72 -79 -86 -95 -103 -109 -110 -110 -109 -108 -105 -102 -100 -98 -99 -104 -111 -116 -119 -121 -121 -122 -123 -123 -122 -122 -126 -130 -134 -136 -140 -145 -148 -149 -150 -154 -158 -161 -163 -165 -170 -175 -180 -180 -171 -160 -152 -148 -148 -151 -156 -160 -162 -161 -158 -154 -150 -148 -146 -143 -138 -135 -132 -131 -130 -129 -127 -124 -120 -115 -111 -109 -107 -104 -101 -97 -95 -93 -91 -90 -88 -87 -86 -85 -85 -85 -83 -82 -82 -83 -84 -84 -83 -82 -82 -82 -82 -81 -80 -78 -77 -77 -78 -79 -80 -80 -79 -78 -77 -76 -75 -75 -74 -74 -74 -73 -72 -72 -71 -71 -69 -67 -66 -64 -63 -61 -60 -59 -58 -57 -56 -56 -55 -54 -54 -54 -54 -54 -53 -53 -52 -52 -52 -33 -31 -31 -28 -24 -22 -24 -20 -18 -20 -23 -23 -23 -22 -21 -24 -30 -32 -32 -34 -37 -36 -32 -35 -39 -43 -45 -46 -46 -45 -45 -46 -47 -45 -43 -42 -41 -41 -40 -40 -38 -37 -38 -39 -39 -34 -29 -25 -24 -25 -29 -35 -37 -36 -31 -24 -23 -27 -33 -35 -44 -53 -60 -62 -62 -64 -66 -69 -73 -81 -82 -79 -73 -71 -74 -79 -80 -79 -76 -76 -78 -76 -71 -66 -69 -72 -76 -79 -81 -83 -83 -83 -82 -81 -81 -81 -81 -81 -81 -82 -84 -85 -87 -87 -87 -87 -85 -81 -77 -75 -75 -75 -76 -77 -76 -74 -75 -77 -77 -78 -81 -83 -85 -89 -92 -92 -87 -73 -63 -58 -57 -57 -60 -65 -69 -70 -69 -68 -69 -73 -79 -85 -83 -74 -62 -56 -60 -64 -65 -66 -69 -74 -78 -80 -81 -78 -73 -70 -68 -70 -75 -78 -78 -76 -74 -72 -71 -71 -72 -72 -71 -69 -65 -61 -60 -62 -64 -66 -69 -72 -74 -73 -66 -52 -41 -37 -36 -37 -39 -41 -45 -50 -53 -50 -48 -50 -52 -56 -60 -62 -62 -61 -61 -63 -66 -67 -66 -67 -67 -67 -66 -64 -63 -63 -61 -60 -60 -61 -63 -66 -68 -67 -64 -63 -64 -66 -69 -67 -61 -55 -52 -51 -52 -52 -51 -50 -49 -51 -52 -53 -52 -50 -49 -48 -48 -48 -48 -49 -50 -50 -49 -47 -47 -48 -51 -54 -56 -57 -58 -60 -62 -63 -63 -63 -62 -60 -60 -62 -67 -74 -81 -89 -97 -106 -111 -112 -112 -112 -110 -107 -103 -101 -100 -102 -108 -114 -118 -120 -121 -122 -124 -125 -124 -124 -126 -130 -134 -137 -139 -141 -144 -146 -148 -151 -155 -159 -162 -163 -166 -171 -175 -176 -169 -159 -151 -148 -146 -147 -151 -155 -158 -160 -160 -158 -155 -152 -150 -148 -145 -141 -137 -135 -134 -133 -131 -128 -123 -119 -115 -111 -109 -108 -106 -103 -99 -96 -94 -92 -90 -89 -88 -87 -86 -86 -86 -84 -83 -82 -83 -84 -84 -83 -82 -82 -83 -82 -82 -81 -79 -78 -78 -78 -79 -80 -80 -80 -79 -78 -77 -76 -75 -74 -74 -73 -73 -72 -72 -72 -71 -69 -67 -65 -64 -63 -62 -61 -60 -59 -58 -57 -56 -54 -54 -54 -54 -54 -54 -53 -53 -53 -53 -53 -29 -26 -24 -21 -18 -17 -17 -12 -12 -17 -22 -22 -20 -18 -18 -21 -26 -25 -28 -31 -35 -34 -31 -33 -36 -39 -43 -44 -43 -42 -43 -44 -42 -39 -38 -39 -37 -37 -36 -34 -31 -31 -32 -33 -32 -28 -24 -23 -24 -26 -27 -31 -34 -34 -30 -19 -18 -24 -34 -43 -53 -60 -66 -70 -74 -76 -76 -76 -77 -83 -83 -78 -72 -71 -75 -77 -77 -74 -72 -74 -76 -75 -72 -69 -70 -74 -77 -80 -83 -84 -85 -85 -84 -83 -83 -83 -84 -84 -83 -84 -86 -89 -90 -88 -86 -84 -81 -78 -77 -77 -75 -74 -77 -80 -79 -78 -81 -82 -81 -80 -81 -84 -89 -92 -94 -93 -82 -66 -59 -57 -57 -58 -61 -65 -68 -70 -69 -70 -71 -74 -79 -84 -79 -70 -60 -58 -65 -69 -71 -70 -72 -74 -76 -78 -81 -80 -79 -77 -76 -75 -76 -77 -77 -77 -76 -76 -75 -75 -75 -76 -75 -73 -70 -67 -67 -68 -68 -69 -70 -72 -73 -71 -64 -51 -42 -40 -40 -41 -40 -41 -46 -52 -54 -51 -49 -49 -50 -53 -57 -59 -59 -59 -59 -62 -65 -66 -66 -68 -68 -67 -65 -64 -64 -63 -62 -63 -64 -66 -69 -72 -72 -69 -66 -62 -61 -62 -65 -62 -57 -53 -53 -54 -56 -55 -52 -49 -49 -51 -53 -54 -52 -50 -49 -48 -48 -48 -49 -50 -51 -52 -51 -48 -47 -47 -49 -52 -54 -56 -57 -59 -62 -64 -64 -63 -61 -60 -61 -65 -71 -76 -82 -89 -97 -106 -112 -114 -115 -114 -112 -108 -104 -102 -102 -106 -112 -116 -118 -119 -120 -121 -123 -125 -127 -128 -131 -136 -139 -140 -141 -142 -143 -145 -148 -152 -156 -159 -161 -163 -166 -169 -169 -164 -156 -149 -147 -147 -147 -149 -152 -155 -157 -158 -158 -157 -155 -153 -152 -149 -146 -142 -139 -138 -138 -136 -133 -128 -123 -118 -115 -113 -110 -108 -107 -105 -101 -97 -95 -93 -92 -91 -90 -89 -88 -87 -86 -84 -84 -84 -85 -85 -85 -83 -82 -82 -83 -83 -83 -82 -81 -80 -80 -79 -80 -81 -80 -80 -80 -79 -78 -77 -76 -75 -73 -72 -72 -72 -72 -72 -71 -69 -67 -65 -64 -63 -62 -61 -60 -59 -58 -57 -55 -54 -54 -54 -54 -53 -53 -53 -53 -53 -53 -53 -29 -25 -20 -16 -13 -11 -8 -5 -5 -10 -15 -18 -15 -13 -14 -18 -21 -21 -25 -32 -37 -36 -30 -30 -31 -33 -36 -40 -41 -41 -41 -39 -36 -34 -34 -34 -34 -34 -33 -29 -26 -26 -28 -30 -29 -25 -23 -25 -28 -32 -34 -34 -35 -35 -30 -19 -18 -24 -35 -46 -55 -62 -67 -72 -78 -82 -84 -83 -82 -83 -80 -74 -70 -71 -74 -74 -73 -72 -72 -74 -75 -76 -75 -73 -74 -76 -79 -81 -84 -85 -86 -86 -86 -86 -86 -86 -86 -85 -85 -86 -87 -89 -89 -85 -81 -78 -75 -76 -79 -80 -78 -75 -77 -82 -83 -84 -86 -87 -87 -86 -87 -89 -94 -96 -96 -91 -76 -61 -56 -57 -59 -61 -65 -69 -72 -74 -75 -76 -76 -77 -80 -82 -78 -69 -60 -61 -69 -74 -75 -75 -76 -77 -77 -78 -79 -82 -83 -83 -83 -80 -74 -72 -72 -75 -77 -77 -76 -76 -76 -76 -76 -75 -74 -72 -72 -72 -71 -70 -70 -72 -72 -68 -60 -49 -43 -43 -44 -43 -40 -41 -46 -51 -53 -51 -49 -48 -48 -51 -54 -56 -58 -59 -60 -62 -65 -67 -69 -71 -70 -67 -65 -65 -65 -65 -66 -67 -68 -71 -73 -74 -72 -70 -65 -60 -57 -59 -61 -57 -54 -52 -52 -56 -59 -58 -54 -49 -50 -53 -55 -55 -52 -50 -50 -49 -49 -49 -50 -52 -54 -55 -54 -50 -46 -45 -48 -51 -53 -54 -56 -58 -61 -63 -63 -63 -63 -63 -66 -70 -75 -79 -83 -90 -98 -108 -114 -117 -117 -116 -113 -109 -105 -104 -105 -110 -115 -118 -118 -118 -119 -121 -123 -126 -129 -131 -134 -138 -140 -141 -141 -141 -143 -145 -148 -151 -154 -157 -159 -163 -165 -165 -161 -153 -147 -146 -147 -149 -150 -152 -153 -155 -155 -155 -155 -155 -155 -154 -152 -149 -146 -143 -141 -141 -140 -136 -132 -129 -125 -120 -117 -114 -111 -109 -108 -107 -102 -99 -97 -95 -94 -93 -92 -91 -90 -88 -88 -85 -84 -85 -86 -87 -86 -85 -83 -83 -83 -83 -84 -84 -83 -82 -81 -81 -81 -81 -81 -80 -80 -80 -78 -77 -76 -75 -73 -72 -71 -71 -72 -71 -70 -69 -67 -65 -64 -63 -61 -60 -59 -58 -57 -56 -55 -54 -54 -54 -54 -53 -53 -53 -53 -54 -54 -53 -39 -33 -26 -19 -14 -10 -7 -4 -4 -5 -7 -8 -6 -5 -9 -13 -15 -15 -23 -33 -40 -39 -30 -29 -32 -37 -38 -40 -42 -41 -37 -33 -31 -30 -30 -30 -31 -33 -31 -26 -21 -22 -27 -29 -26 -20 -21 -27 -35 -42 -43 -39 -35 -34 -31 -25 -25 -29 -38 -47 -57 -64 -69 -73 -77 -79 -81 -81 -80 -78 -73 -70 -69 -71 -72 -71 -71 -72 -72 -72 -73 -76 -79 -79 -79 -80 -81 -83 -85 -87 -88 -88 -88 -88 -88 -88 -87 -87 -87 -87 -87 -87 -85 -80 -76 -74 -74 -76 -80 -82 -82 -79 -81 -85 -88 -89 -89 -90 -90 -90 -91 -94 -97 -98 -95 -87 -70 -58 -56 -58 -61 -64 -69 -74 -77 -79 -80 -79 -77 -76 -79 -82 -77 -68 -61 -62 -70 -76 -79 -80 -81 -82 -82 -81 -81 -82 -83 -85 -86 -85 -79 -74 -72 -72 -73 -74 -76 -76 -75 -76 -77 -76 -75 -74 -74 -74 -72 -71 -70 -72 -69 -63 -54 -46 -43 -44 -45 -43 -40 -41 -45 -50 -51 -50 -49 -48 -48 -49 -52 -55 -58 -62 -64 -65 -68 -71 -76 -77 -74 -71 -70 -70 -69 -69 -70 -70 -70 -71 -71 -71 -70 -68 -63 -58 -56 -58 -58 -55 -52 -51 -52 -55 -58 -58 -55 -52 -54 -57 -58 -56 -52 -51 -51 -52 -51 -50 -51 -55 -58 -60 -58 -53 -49 -46 -47 -50 -52 -53 -55 -57 -60 -62 -63 -64 -65 -67 -70 -75 -79 -82 -87 -94 -103 -111 -115 -118 -119 -117 -114 -110 -107 -105 -107 -113 -117 -119 -118 -118 -119 -121 -124 -128 -131 -133 -135 -138 -139 -139 -140 -141 -143 -144 -146 -149 -151 -154 -158 -161 -161 -158 -152 -145 -143 -145 -149 -152 -153 -154 -154 -154 -154 -153 -153 -153 -154 -153 -151 -149 -147 -145 -144 -143 -139 -134 -130 -131 -128 -123 -119 -116 -113 -111 -111 -109 -104 -101 -100 -98 -96 -95 -95 -94 -93 -91 -89 -87 -85 -85 -87 -88 -88 -87 -85 -84 -84 -84 -85 -85 -84 -83 -83 -83 -83 -82 -81 -80 -80 -80 -79 -77 -76 -75 -73 -71 -71 -72 -71 -71 -70 -68 -67 -66 -64 -63 -61 -60 -59 -58 -57 -56 -55 -54 -54 -54 -54 -53 -53 -53 -53 -54 -54 -53 -53 -51 -45 -37 -29 -23 -16 -11 -9 -8 -7 -8 -7 -9 -13 -16 -15 -13 -21 -31 -38 -36 -26 -25 -31 -40 -43 -42 -41 -37 -31 -26 -25 -26 -27 -29 -31 -33 -30 -25 -20 -21 -24 -22 -18 -14 -20 -31 -42 -49 -48 -39 -32 -28 -29 -30 -31 -34 -39 -48 -58 -67 -74 -77 -77 -76 -75 -74 -73 -71 -68 -69 -71 -73 -72 -72 -73 -73 -71 -68 -70 -75 -83 -86 -84 -82 -82 -83 -86 -88 -90 -90 -89 -89 -89 -89 -88 -87 -87 -87 -85 -83 -80 -76 -75 -76 -78 -80 -81 -83 -85 -86 -86 -88 -89 -87 -86 -85 -86 -88 -91 -96 -97 -95 -88 -76 -62 -57 -57 -60 -63 -67 -73 -78 -81 -81 -80 -76 -73 -73 -79 -81 -75 -66 -60 -63 -71 -76 -80 -83 -84 -85 -84 -84 -84 -85 -85 -86 -87 -87 -83 -78 -73 -71 -72 -73 -76 -78 -78 -77 -77 -77 -76 -76 -75 -74 -72 -71 -69 -68 -63 -55 -48 -43 -42 -44 -45 -43 -39 -40 -44 -47 -47 -48 -50 -49 -47 -48 -51 -55 -60 -66 -68 -69 -72 -76 -80 -80 -77 -74 -72 -70 -68 -68 -68 -67 -67 -67 -66 -66 -66 -66 -62 -59 -59 -61 -59 -56 -53 -52 -51 -54 -56 -57 -57 -57 -61 -62 -59 -55 -52 -52 -54 -54 -54 -52 -55 -59 -63 -64 -64 -59 -53 -48 -49 -51 -53 -54 -54 -56 -59 -61 -63 -64 -67 -70 -74 -79 -82 -86 -91 -99 -107 -114 -118 -120 -121 -118 -115 -111 -108 -107 -110 -116 -120 -120 -119 -119 -121 -123 -126 -130 -133 -134 -136 -137 -137 -138 -140 -142 -143 -143 -145 -147 -149 -152 -155 -157 -155 -151 -145 -141 -143 -147 -151 -154 -154 -154 -154 -153 -152 -151 -151 -151 -151 -150 -149 -149 -148 -147 -146 -142 -136 -130 -128 -131 -130 -126 -121 -118 -116 -115 -114 -112 -108 -104 -102 -100 -99 -99 -99 -98 -96 -94 -92 -89 -87 -86 -88 -89 -89 -88 -87 -86 -85 -85 -86 -86 -85 -84 -84 -84 -85 -83 -82 -81 -80 -80 -79 -77 -77 -76 -74 -72 -72 -72 -71 -70 -69 -68 -67 -66 -65 -63 -61 -59 -58 -58 -57 -56 -55 -54 -54 -54 -54 -53 -53 -53 -53 -54 -54 -53 -52 -50 -46 -41 -37 -33 -28 -24 -22 -20 -17 -14 -10 -14 -22 -26 -22 -16 -21 -30 -36 -34 -23 -21 -26 -34 -37 -37 -36 -32 -26 -20 -20 -22 -25 -29 -32 -33 -30 -25 -21 -23 -22 -17 -11 -11 -22 -36 -48 -52 -47 -35 -26 -22 -26 -30 -31 -33 -39 -48 -59 -67 -74 -79 -82 -82 -82 -80 -78 -74 -73 -75 -78 -80 -78 -80 -81 -78 -70 -69 -73 -80 -87 -92 -90 -88 -86 -87 -88 -90 -91 -91 -91 -91 -90 -88 -85 -83 -85 -84 -82 -78 -76 -77 -80 -82 -83 -83 -83 -84 -85 -86 -85 -82 -79 -75 -72 -72 -76 -82 -88 -93 -93 -85 -73 -61 -56 -56 -58 -61 -64 -70 -76 -80 -81 -79 -74 -70 -69 -73 -81 -80 -72 -63 -59 -64 -70 -75 -78 -81 -82 -83 -84 -84 -84 -85 -87 -88 -87 -87 -83 -78 -74 -73 -75 -78 -80 -81 -80 -79 -79 -78 -77 -75 -73 -72 -72 -71 -67 -61 -52 -45 -41 -40 -41 -44 -45 -44 -41 -41 -42 -43 -44 -47 -50 -50 -48 -49 -53 -58 -63 -69 -71 -71 -73 -76 -81 -80 -77 -75 -73 -70 -67 -65 -63 -62 -61 -61 -62 -63 -66 -67 -64 -62 -63 -64 -61 -58 -56 -54 -53 -53 -54 -56 -59 -62 -64 -63 -58 -53 -53 -55 -56 -57 -56 -55 -59 -63 -66 -67 -65 -60 -53 -50 -52 -55 -56 -55 -54 -55 -58 -60 -63 -66 -69 -73 -77 -82 -85 -89 -96 -104 -112 -117 -120 -122 -122 -120 -117 -112 -109 -108 -112 -119 -123 -123 -121 -120 -122 -125 -128 -131 -134 -134 -135 -135 -136 -138 -141 -142 -142 -142 -144 -145 -147 -150 -152 -152 -149 -144 -140 -140 -144 -149 -152 -153 -153 -153 -153 -152 -150 -149 -149 -148 -148 -148 -148 -149 -150 -149 -146 -138 -131 -126 -128 -131 -130 -127 -123 -121 -119 -118 -117 -114 -111 -107 -104 -102 -102 -103 -103 -102 -100 -97 -94 -91 -89 -88 -89 -90 -90 -89 -88 -86 -86 -87 -87 -86 -85 -85 -85 -85 -86 -85 -83 -82 -81 -80 -79 -78 -78 -77 -75 -74 -73 -73 -71 -69 -68 -68 -68 -67 -65 -63 -61 -59 -59 -59 -58 -57 -56 -55 -55 -55 -54 -54 -53 -53 -54 -54 -54 -53 -37 -36 -33 -31 -32 -32 -32 -32 -33 -34 -33 -28 -19 -19 -27 -33 -32 -24 -25 -30 -35 -33 -22 -17 -18 -22 -24 -28 -31 -31 -26 -18 -16 -18 -23 -29 -33 -32 -29 -24 -22 -28 -27 -21 -16 -19 -27 -36 -46 -53 -49 -36 -25 -21 -25 -30 -33 -36 -40 -47 -56 -67 -77 -85 -89 -92 -93 -91 -87 -82 -81 -84 -87 -88 -87 -90 -89 -84 -79 -79 -82 -86 -91 -93 -93 -92 -90 -89 -89 -90 -91 -90 -90 -91 -89 -85 -81 -79 -80 -79 -78 -77 -79 -81 -82 -82 -81 -81 -80 -80 -79 -78 -72 -66 -62 -59 -58 -64 -75 -84 -89 -92 -84 -70 -59 -55 -56 -57 -58 -60 -65 -74 -78 -79 -76 -71 -68 -68 -72 -78 -83 -77 -69 -61 -60 -64 -69 -73 -75 -77 -79 -80 -81 -80 -80 -82 -84 -86 -85 -82 -78 -74 -72 -73 -78 -82 -83 -83 -82 -81 -79 -78 -75 -70 -67 -66 -67 -68 -67 -60 -51 -42 -39 -38 -39 -42 -43 -42 -42 -41 -41 -42 -44 -48 -50 -51 -50 -52 -56 -60 -65 -69 -70 -71 -72 -75 -79 -78 -76 -74 -74 -72 -68 -64 -61 -60 -60 -61 -64 -68 -72 -72 -69 -68 -68 -67 -61 -58 -55 -55 -54 -54 -54 -56 -61 -65 -64 -61 -57 -54 -56 -58 -60 -61 -60 -60 -64 -68 -69 -69 -65 -57 -50 -48 -53 -58 -59 -57 -54 -55 -57 -59 -62 -66 -71 -75 -80 -85 -88 -93 -100 -108 -116 -121 -122 -122 -122 -120 -116 -112 -109 -109 -114 -121 -124 -124 -122 -123 -124 -126 -129 -132 -134 -133 -133 -133 -135 -138 -141 -142 -142 -142 -143 -145 -146 -148 -147 -144 -141 -138 -138 -142 -146 -149 -151 -151 -152 -152 -152 -150 -148 -147 -146 -145 -145 -146 -147 -149 -151 -150 -142 -132 -125 -124 -127 -130 -130 -128 -124 -124 -123 -121 -119 -115 -113 -109 -106 -104 -105 -106 -106 -105 -103 -100 -96 -93 -91 -91 -91 -90 -89 -89 -88 -87 -87 -88 -88 -86 -85 -85 -85 -86 -88 -87 -85 -83 -82 -81 -79 -79 -78 -77 -76 -75 -74 -74 -71 -69 -68 -68 -68 -67 -66 -64 -62 -61 -61 -60 -59 -57 -56 -55 -55 -55 -55 -54 -54 -54 -55 -55 -54 -53 -23 -22 -21 -20 -23 -26 -29 -32 -35 -40 -44 -43 -35 -28 -30 -36 -39 -35 -31 -33 -35 -33 -21 -14 -12 -13 -14 -22 -29 -33 -31 -22 -16 -15 -20 -28 -35 -33 -31 -30 -33 -37 -30 -24 -22 -28 -36 -41 -47 -55 -57 -43 -29 -22 -24 -30 -36 -42 -47 -51 -56 -65 -72 -78 -82 -87 -91 -93 -90 -85 -83 -86 -89 -90 -89 -91 -92 -90 -86 -83 -83 -86 -89 -91 -92 -93 -92 -91 -90 -91 -91 -91 -91 -92 -89 -85 -80 -77 -78 -78 -79 -81 -83 -83 -81 -78 -75 -74 -71 -70 -70 -67 -61 -57 -56 -57 -60 -71 -81 -88 -89 -87 -74 -63 -57 -57 -57 -57 -58 -62 -68 -75 -76 -72 -65 -63 -67 -71 -76 -81 -82 -73 -64 -59 -60 -64 -67 -70 -73 -76 -79 -79 -77 -74 -74 -76 -79 -80 -79 -75 -70 -67 -68 -72 -77 -80 -82 -82 -81 -78 -75 -72 -67 -62 -62 -64 -66 -66 -62 -55 -48 -41 -38 -37 -38 -40 -41 -41 -41 -41 -41 -43 -47 -50 -52 -53 -55 -57 -60 -62 -65 -67 -69 -70 -71 -73 -75 -75 -73 -73 -74 -74 -70 -66 -63 -64 -64 -66 -69 -74 -77 -76 -74 -72 -71 -68 -61 -57 -55 -54 -53 -52 -52 -55 -60 -63 -63 -61 -58 -56 -59 -62 -65 -66 -66 -67 -70 -72 -71 -70 -66 -57 -49 -47 -54 -61 -63 -60 -55 -55 -56 -59 -62 -67 -72 -77 -82 -86 -90 -96 -104 -112 -119 -122 -123 -122 -120 -118 -115 -113 -111 -112 -116 -122 -125 -126 -125 -125 -125 -127 -129 -133 -133 -132 -131 -131 -134 -138 -141 -142 -142 -142 -143 -144 -144 -144 -140 -137 -135 -136 -139 -143 -146 -148 -149 -150 -151 -151 -150 -148 -145 -144 -143 -143 -143 -144 -146 -150 -151 -147 -136 -127 -122 -124 -126 -128 -128 -127 -125 -125 -125 -124 -120 -117 -114 -111 -109 -107 -108 -109 -108 -106 -105 -102 -98 -96 -95 -95 -93 -90 -89 -89 -88 -88 -89 -89 -88 -86 -86 -86 -86 -86 -88 -88 -87 -85 -83 -81 -80 -79 -79 -78 -77 -76 -75 -75 -71 -70 -69 -69 -69 -68 -67 -65 -64 -64 -63 -62 -60 -57 -56 -56 -55 -55 -55 -55 -55 -55 -55 -55 -54 -54 -15 -14 -15 -17 -20 -23 -26 -28 -30 -36 -44 -50 -50 -42 -36 -36 -40 -41 -38 -36 -35 -32 -22 -15 -12 -11 -11 -17 -24 -30 -32 -26 -19 -19 -23 -29 -33 -34 -35 -35 -35 -33 -26 -23 -24 -31 -39 -47 -54 -59 -58 -51 -41 -34 -30 -35 -42 -49 -55 -60 -61 -64 -69 -75 -81 -83 -84 -86 -87 -85 -83 -85 -89 -91 -90 -92 -94 -94 -92 -87 -84 -84 -86 -88 -90 -91 -92 -92 -92 -91 -90 -90 -90 -91 -89 -85 -81 -77 -78 -79 -81 -82 -83 -81 -76 -72 -69 -65 -62 -63 -64 -64 -62 -60 -60 -61 -67 -78 -86 -89 -87 -80 -70 -64 -61 -60 -58 -58 -59 -62 -70 -72 -68 -63 -60 -62 -67 -73 -79 -83 -80 -69 -60 -57 -59 -62 -66 -69 -73 -77 -79 -76 -71 -68 -71 -75 -76 -75 -71 -65 -61 -61 -65 -69 -73 -75 -76 -75 -74 -71 -67 -63 -58 -55 -60 -65 -65 -60 -52 -48 -45 -41 -38 -37 -38 -40 -41 -40 -40 -41 -43 -46 -50 -52 -54 -56 -59 -62 -64 -64 -64 -65 -68 -70 -70 -70 -72 -72 -71 -72 -75 -77 -74 -70 -68 -69 -71 -72 -76 -80 -83 -80 -78 -76 -72 -65 -60 -58 -57 -55 -53 -51 -50 -53 -59 -62 -64 -63 -61 -59 -63 -67 -71 -73 -74 -74 -74 -73 -72 -73 -68 -59 -50 -47 -55 -62 -65 -63 -56 -54 -56 -59 -63 -68 -74 -79 -84 -88 -94 -101 -108 -115 -120 -122 -122 -121 -119 -117 -114 -113 -112 -113 -117 -122 -126 -127 -126 -127 -128 -129 -131 -133 -131 -129 -128 -129 -132 -137 -141 -142 -142 -142 -142 -142 -141 -138 -134 -132 -133 -136 -141 -144 -145 -146 -147 -149 -150 -149 -148 -145 -142 -141 -141 -141 -141 -142 -145 -148 -151 -146 -136 -127 -123 -124 -124 -126 -126 -125 -125 -126 -127 -125 -122 -119 -116 -114 -111 -110 -111 -111 -110 -108 -105 -102 -99 -98 -97 -97 -95 -92 -89 -89 -89 -89 -90 -90 -89 -87 -87 -87 -87 -88 -88 -89 -89 -87 -84 -83 -81 -80 -80 -80 -78 -76 -76 -76 -73 -71 -70 -70 -70 -69 -68 -67 -66 -66 -65 -63 -60 -58 -57 -56 -56 -55 -56 -56 -56 -55 -56 -56 -54 -54 -13 -13 -16 -20 -24 -27 -27 -25 -26 -32 -39 -46 -52 -53 -49 -45 -43 -42 -41 -41 -40 -37 -31 -26 -21 -18 -15 -18 -22 -25 -24 -20 -20 -24 -28 -33 -36 -39 -41 -43 -44 -42 -36 -32 -30 -33 -39 -47 -56 -62 -57 -49 -41 -36 -35 -42 -49 -55 -60 -65 -68 -68 -69 -70 -74 -76 -79 -81 -84 -86 -85 -87 -90 -93 -93 -95 -96 -95 -95 -94 -90 -87 -86 -87 -89 -90 -92 -93 -93 -91 -88 -87 -87 -88 -88 -85 -81 -76 -76 -79 -81 -82 -81 -76 -70 -66 -61 -57 -58 -62 -66 -69 -70 -69 -67 -67 -74 -83 -88 -88 -83 -73 -65 -61 -61 -60 -58 -58 -59 -63 -69 -69 -64 -61 -62 -66 -71 -77 -83 -86 -78 -65 -57 -56 -59 -63 -67 -70 -74 -78 -76 -70 -67 -68 -74 -76 -76 -72 -66 -57 -56 -59 -65 -67 -68 -69 -69 -66 -64 -62 -59 -55 -53 -54 -62 -65 -60 -50 -43 -42 -43 -41 -38 -36 -38 -40 -41 -41 -40 -42 -47 -51 -53 -54 -56 -58 -61 -63 -65 -65 -64 -64 -66 -68 -70 -70 -71 -72 -73 -74 -77 -78 -77 -74 -72 -74 -76 -78 -81 -85 -87 -84 -80 -75 -69 -62 -60 -60 -60 -57 -55 -53 -51 -53 -58 -63 -65 -65 -63 -64 -66 -69 -71 -74 -76 -76 -74 -74 -76 -77 -72 -62 -52 -49 -55 -62 -66 -64 -56 -55 -57 -61 -65 -70 -76 -80 -85 -91 -98 -103 -108 -114 -119 -121 -121 -120 -117 -116 -113 -111 -111 -112 -117 -123 -127 -127 -126 -127 -128 -128 -128 -127 -125 -124 -125 -127 -132 -137 -140 -141 -141 -141 -141 -139 -137 -132 -130 -130 -133 -137 -141 -143 -144 -144 -146 -147 -148 -147 -145 -141 -139 -139 -139 -139 -139 -140 -142 -146 -150 -146 -136 -127 -123 -122 -122 -124 -125 -124 -124 -126 -127 -127 -125 -121 -118 -115 -112 -111 -112 -112 -111 -109 -106 -103 -101 -100 -99 -97 -95 -93 -91 -90 -89 -89 -90 -91 -90 -90 -89 -89 -89 -89 -89 -89 -90 -88 -87 -84 -82 -81 -82 -81 -79 -77 -78 -78 -75 -72 -71 -71 -70 -69 -69 -69 -68 -68 -67 -64 -61 -59 -58 -57 -56 -56 -56 -56 -56 -55 -56 -55 -54 -54 -13 -14 -17 -21 -27 -29 -28 -24 -24 -30 -35 -39 -42 -48 -52 -53 -51 -49 -48 -49 -50 -49 -45 -44 -36 -27 -19 -21 -24 -25 -21 -16 -19 -24 -29 -32 -34 -38 -42 -46 -49 -51 -51 -49 -44 -38 -38 -47 -57 -63 -58 -47 -39 -36 -40 -50 -58 -63 -66 -70 -73 -74 -73 -72 -71 -73 -78 -82 -84 -86 -87 -89 -91 -92 -92 -95 -95 -94 -95 -97 -96 -93 -90 -90 -91 -91 -91 -92 -91 -89 -86 -84 -84 -84 -84 -81 -77 -73 -74 -77 -79 -78 -74 -68 -63 -59 -56 -55 -60 -66 -72 -76 -77 -75 -73 -72 -78 -85 -87 -84 -77 -66 -60 -59 -59 -58 -57 -58 -60 -64 -68 -67 -65 -65 -69 -73 -77 -82 -87 -87 -74 -60 -54 -56 -60 -64 -68 -71 -74 -74 -69 -65 -65 -69 -75 -77 -74 -68 -59 -54 -56 -61 -66 -68 -67 -66 -63 -58 -55 -53 -53 -53 -55 -60 -65 -62 -53 -40 -37 -40 -41 -40 -37 -36 -38 -40 -43 -43 -43 -46 -50 -54 -55 -56 -56 -58 -61 -63 -64 -63 -63 -62 -63 -65 -67 -69 -71 -72 -73 -75 -76 -78 -78 -77 -75 -75 -77 -80 -82 -86 -88 -84 -78 -71 -64 -60 -61 -62 -62 -59 -57 -54 -52 -53 -58 -63 -65 -65 -65 -66 -68 -70 -71 -74 -74 -73 -74 -78 -83 -84 -78 -67 -54 -51 -56 -64 -68 -65 -58 -57 -60 -63 -67 -72 -77 -82 -88 -95 -99 -103 -108 -114 -118 -119 -120 -119 -117 -114 -111 -109 -108 -111 -118 -124 -126 -125 -124 -124 -124 -123 -121 -120 -119 -119 -122 -126 -130 -135 -139 -140 -140 -139 -137 -134 -130 -127 -128 -130 -134 -138 -141 -142 -143 -144 -144 -145 -145 -143 -141 -138 -137 -137 -138 -138 -138 -138 -140 -144 -148 -145 -136 -127 -121 -121 -121 -123 -124 -123 -123 -125 -126 -127 -126 -123 -120 -117 -113 -111 -112 -113 -112 -111 -107 -105 -103 -102 -100 -97 -96 -95 -94 -92 -91 -90 -90 -91 -92 -92 -91 -91 -90 -90 -89 -89 -90 -89 -88 -86 -84 -82 -82 -81 -79 -78 -79 -79 -77 -74 -73 -72 -71 -70 -70 -70 -70 -69 -68 -64 -62 -60 -59 -58 -57 -57 -57 -56 -55 -55 -56 -55 -54 -54 -12 -12 -14 -20 -26 -28 -26 -22 -23 -27 -31 -33 -36 -40 -42 -44 -44 -45 -49 -53 -57 -59 -59 -59 -54 -43 -32 -25 -25 -23 -20 -16 -18 -23 -28 -30 -31 -34 -39 -46 -52 -56 -60 -62 -59 -49 -42 -49 -58 -64 -61 -51 -41 -38 -43 -56 -66 -73 -77 -79 -79 -80 -81 -81 -78 -78 -82 -85 -86 -85 -87 -88 -88 -87 -87 -90 -91 -91 -92 -95 -96 -96 -96 -96 -95 -92 -90 -88 -87 -86 -85 -84 -81 -79 -77 -73 -70 -70 -73 -75 -75 -72 -65 -59 -56 -54 -55 -59 -66 -72 -77 -78 -76 -74 -73 -74 -78 -84 -84 -78 -68 -61 -58 -58 -58 -57 -55 -57 -60 -64 -69 -70 -70 -72 -76 -79 -82 -85 -87 -84 -69 -56 -52 -55 -61 -65 -68 -70 -70 -67 -64 -64 -67 -72 -76 -74 -70 -63 -56 -55 -59 -63 -66 -68 -66 -61 -55 -49 -47 -47 -50 -54 -59 -63 -63 -57 -47 -38 -36 -39 -40 -38 -34 -35 -38 -42 -45 -47 -48 -50 -53 -55 -55 -55 -56 -57 -59 -61 -61 -60 -59 -59 -60 -61 -64 -67 -70 -72 -73 -74 -74 -74 -75 -76 -77 -76 -76 -78 -81 -83 -83 -78 -72 -66 -61 -60 -61 -63 -63 -61 -57 -54 -52 -54 -57 -62 -65 -66 -67 -69 -69 -70 -72 -76 -77 -77 -80 -86 -91 -92 -84 -70 -55 -52 -59 -66 -70 -66 -63 -62 -63 -64 -67 -73 -78 -84 -91 -97 -100 -104 -109 -115 -118 -119 -120 -119 -116 -114 -111 -108 -108 -112 -119 -123 -124 -122 -122 -120 -118 -117 -116 -116 -117 -119 -121 -125 -129 -133 -136 -137 -136 -134 -130 -125 -122 -123 -127 -132 -136 -139 -141 -142 -143 -144 -143 -143 -142 -141 -139 -137 -136 -136 -137 -138 -138 -137 -138 -141 -146 -143 -135 -124 -119 -119 -121 -122 -123 -121 -121 -122 -124 -126 -126 -124 -121 -118 -115 -112 -112 -113 -113 -112 -109 -108 -107 -104 -100 -98 -97 -97 -95 -95 -93 -92 -91 -92 -93 -93 -93 -92 -91 -91 -90 -89 -90 -89 -88 -87 -85 -83 -83 -82 -80 -79 -81 -81 -79 -77 -75 -73 -72 -71 -71 -71 -70 -69 -68 -65 -64 -62 -61 -60 -58 -58 -57 -56 -55 -55 -56 -55 -54 -54 -13 -13 -17 -21 -24 -26 -27 -27 -27 -26 -26 -28 -30 -33 -33 -34 -34 -36 -41 -45 -49 -53 -57 -61 -60 -55 -46 -35 -28 -23 -20 -18 -20 -24 -27 -28 -28 -30 -36 -44 -51 -56 -58 -63 -66 -63 -53 -53 -58 -64 -62 -54 -45 -41 -46 -59 -70 -79 -87 -92 -91 -90 -90 -90 -89 -87 -88 -88 -85 -82 -84 -85 -83 -80 -81 -85 -85 -86 -87 -92 -94 -95 -95 -95 -94 -90 -87 -86 -86 -87 -86 -83 -78 -73 -67 -64 -64 -69 -71 -71 -68 -63 -56 -53 -52 -54 -58 -65 -71 -74 -74 -71 -69 -68 -69 -72 -78 -83 -79 -70 -60 -58 -59 -59 -58 -56 -54 -55 -58 -64 -71 -74 -76 -78 -81 -83 -84 -86 -85 -78 -62 -53 -52 -55 -61 -65 -67 -67 -66 -64 -64 -66 -70 -73 -74 -70 -65 -61 -57 -58 -61 -64 -67 -68 -65 -57 -48 -42 -43 -47 -52 -56 -60 -61 -58 -52 -46 -41 -38 -38 -37 -34 -32 -35 -40 -45 -49 -52 -52 -52 -52 -52 -53 -54 -55 -56 -57 -58 -58 -57 -57 -57 -58 -60 -62 -64 -67 -69 -70 -69 -69 -69 -71 -72 -74 -74 -76 -77 -76 -73 -70 -68 -66 -64 -61 -59 -59 -61 -63 -63 -57 -53 -52 -53 -57 -61 -65 -67 -69 -70 -70 -71 -75 -80 -82 -85 -89 -94 -99 -100 -90 -74 -56 -53 -60 -68 -71 -70 -69 -68 -67 -66 -67 -73 -79 -85 -92 -98 -101 -106 -111 -116 -118 -120 -121 -122 -121 -118 -114 -111 -112 -116 -119 -120 -119 -119 -119 -116 -113 -113 -115 -116 -118 -119 -121 -124 -127 -130 -131 -131 -130 -127 -122 -118 -117 -122 -128 -134 -138 -141 -142 -143 -144 -144 -143 -142 -141 -139 -137 -136 -136 -136 -136 -137 -138 -137 -136 -138 -142 -140 -131 -121 -117 -118 -120 -121 -121 -119 -119 -121 -122 -124 -125 -124 -123 -121 -117 -114 -113 -113 -113 -112 -112 -111 -109 -105 -101 -100 -99 -98 -96 -96 -96 -95 -93 -93 -93 -94 -93 -92 -92 -92 -91 -90 -91 -89 -88 -87 -86 -84 -84 -82 -81 -82 -82 -82 -81 -79 -77 -75 -73 -72 -71 -71 -70 -69 -68 -66 -65 -64 -63 -61 -60 -59 -57 -57 -56 -56 -56 -55 -54 -54 -16 -16 -20 -26 -27 -26 -27 -30 -31 -29 -27 -26 -28 -30 -31 -30 -31 -33 -36 -39 -41 -44 -48 -52 -55 -58 -58 -49 -37 -27 -21 -20 -24 -27 -26 -24 -23 -28 -33 -39 -45 -53 -55 -59 -66 -74 -68 -62 -61 -61 -58 -52 -45 -45 -52 -66 -76 -84 -91 -97 -100 -101 -100 -99 -96 -93 -92 -89 -83 -77 -80 -80 -77 -73 -74 -76 -78 -81 -85 -90 -93 -95 -96 -96 -94 -89 -86 -85 -86 -87 -86 -82 -75 -66 -58 -57 -61 -67 -68 -67 -63 -58 -53 -53 -54 -57 -63 -70 -72 -69 -65 -62 -61 -62 -66 -74 -81 -83 -76 -64 -53 -53 -58 -59 -58 -56 -55 -55 -58 -64 -72 -77 -79 -81 -81 -81 -83 -85 -82 -69 -55 -50 -51 -55 -60 -64 -65 -65 -65 -64 -66 -69 -72 -73 -72 -68 -64 -62 -61 -62 -63 -65 -67 -67 -62 -53 -44 -40 -43 -49 -54 -57 -57 -57 -54 -49 -44 -40 -37 -36 -35 -34 -32 -36 -41 -47 -50 -51 -50 -49 -49 -49 -51 -54 -55 -56 -57 -58 -57 -57 -57 -57 -59 -60 -61 -62 -63 -62 -61 -62 -64 -66 -67 -67 -68 -68 -70 -69 -66 -62 -63 -64 -65 -64 -61 -54 -50 -50 -55 -58 -56 -55 -54 -54 -57 -60 -63 -67 -70 -69 -69 -72 -78 -84 -88 -93 -98 -103 -105 -104 -94 -77 -57 -56 -63 -70 -72 -70 -70 -70 -70 -69 -69 -73 -78 -85 -92 -97 -102 -107 -112 -116 -119 -122 -124 -127 -127 -123 -118 -115 -116 -117 -116 -114 -112 -114 -114 -112 -111 -113 -116 -118 -119 -120 -121 -123 -125 -126 -125 -124 -122 -119 -115 -113 -115 -121 -128 -135 -140 -142 -143 -144 -144 -143 -142 -141 -140 -138 -137 -136 -137 -137 -137 -138 -138 -137 -137 -138 -140 -136 -128 -119 -116 -117 -118 -119 -117 -117 -117 -118 -119 -122 -124 -124 -124 -124 -121 -118 -115 -114 -113 -113 -114 -113 -111 -106 -102 -101 -101 -100 -98 -97 -97 -96 -95 -94 -94 -94 -93 -92 -92 -92 -91 -91 -91 -89 -88 -87 -87 -85 -84 -84 -83 -84 -84 -82 -81 -81 -79 -77 -75 -73 -72 -71 -69 -68 -67 -66 -66 -65 -65 -63 -62 -60 -59 -58 -57 -56 -56 -55 -55 -55 -22 -21 -23 -30 -31 -28 -28 -30 -34 -33 -30 -27 -28 -32 -33 -33 -34 -37 -41 -43 -45 -45 -46 -46 -50 -56 -64 -61 -52 -39 -28 -24 -31 -34 -29 -21 -19 -25 -28 -33 -39 -51 -57 -59 -64 -73 -75 -70 -66 -64 -63 -57 -48 -47 -55 -72 -80 -86 -92 -97 -99 -98 -97 -97 -97 -95 -91 -87 -82 -76 -74 -72 -71 -72 -74 -76 -78 -82 -87 -91 -94 -94 -91 -86 -82 -82 -83 -84 -84 -83 -83 -80 -74 -62 -55 -55 -60 -65 -66 -65 -62 -58 -56 -57 -60 -64 -69 -72 -67 -61 -57 -57 -60 -64 -70 -77 -83 -83 -75 -62 -50 -49 -54 -57 -56 -54 -55 -57 -61 -68 -75 -79 -81 -81 -79 -79 -81 -82 -77 -63 -53 -50 -51 -56 -61 -64 -65 -65 -66 -68 -71 -73 -74 -73 -71 -69 -66 -64 -64 -64 -64 -64 -65 -64 -57 -49 -42 -40 -44 -50 -53 -53 -53 -55 -52 -47 -41 -39 -36 -35 -34 -33 -33 -37 -43 -47 -47 -46 -45 -46 -49 -51 -54 -56 -57 -58 -59 -59 -60 -60 -60 -59 -59 -59 -59 -60 -58 -55 -55 -58 -64 -65 -64 -63 -63 -64 -66 -65 -63 -59 -57 -58 -57 -54 -48 -46 -45 -45 -48 -54 -57 -58 -57 -56 -57 -58 -62 -67 -70 -69 -70 -75 -82 -88 -94 -100 -105 -109 -110 -106 -94 -76 -56 -57 -66 -73 -73 -69 -70 -71 -71 -71 -72 -76 -80 -85 -91 -97 -102 -107 -112 -117 -120 -123 -126 -129 -130 -126 -122 -119 -117 -115 -111 -109 -108 -110 -111 -110 -111 -114 -118 -119 -119 -119 -121 -122 -122 -121 -120 -119 -117 -114 -111 -110 -113 -119 -126 -133 -138 -141 -144 -144 -144 -143 -142 -140 -139 -137 -136 -136 -136 -137 -138 -139 -139 -139 -139 -138 -137 -133 -126 -120 -117 -116 -116 -115 -114 -114 -115 -116 -117 -119 -121 -124 -125 -126 -123 -120 -117 -114 -113 -114 -115 -116 -113 -106 -102 -102 -102 -101 -99 -98 -98 -97 -97 -96 -95 -94 -93 -93 -92 -92 -92 -92 -92 -90 -89 -88 -87 -86 -85 -85 -85 -87 -84 -82 -82 -82 -80 -78 -76 -73 -72 -71 -70 -68 -67 -66 -66 -66 -66 -65 -64 -62 -60 -60 -59 -58 -57 -56 -56 -56 -28 -29 -30 -34 -35 -32 -30 -31 -35 -36 -34 -32 -32 -35 -36 -38 -40 -44 -48 -52 -56 -57 -55 -54 -54 -58 -64 -66 -65 -57 -44 -31 -33 -43 -40 -29 -21 -25 -27 -30 -37 -48 -58 -64 -67 -70 -74 -71 -70 -69 -70 -62 -51 -48 -57 -71 -76 -80 -84 -89 -92 -93 -94 -95 -96 -91 -86 -82 -80 -74 -71 -69 -69 -72 -76 -79 -82 -85 -89 -91 -90 -86 -80 -76 -77 -79 -81 -82 -80 -78 -78 -78 -73 -63 -57 -56 -59 -64 -66 -66 -65 -63 -62 -64 -68 -71 -72 -67 -60 -56 -56 -60 -64 -69 -75 -81 -84 -84 -75 -62 -49 -46 -51 -55 -56 -55 -54 -58 -64 -72 -77 -79 -80 -80 -78 -77 -77 -77 -72 -63 -54 -50 -50 -54 -60 -65 -67 -68 -69 -72 -75 -76 -75 -74 -72 -70 -68 -67 -66 -64 -62 -61 -61 -58 -51 -45 -41 -40 -44 -48 -49 -50 -53 -56 -51 -44 -38 -38 -36 -35 -34 -33 -34 -39 -44 -47 -46 -44 -45 -48 -51 -54 -56 -57 -57 -57 -58 -58 -59 -59 -60 -60 -59 -58 -58 -59 -55 -53 -56 -62 -66 -64 -63 -62 -63 -64 -66 -66 -64 -57 -46 -42 -42 -44 -46 -52 -55 -52 -47 -52 -57 -58 -58 -58 -59 -61 -64 -68 -70 -70 -73 -78 -85 -90 -98 -104 -109 -112 -111 -104 -89 -69 -54 -58 -67 -73 -73 -69 -69 -71 -72 -73 -75 -78 -81 -85 -91 -96 -102 -108 -114 -118 -120 -123 -127 -130 -130 -126 -123 -121 -118 -113 -108 -105 -105 -106 -109 -111 -113 -115 -116 -116 -115 -116 -118 -119 -117 -115 -115 -115 -113 -110 -107 -107 -110 -116 -123 -129 -135 -140 -143 -144 -144 -142 -141 -139 -138 -136 -136 -135 -136 -137 -139 -140 -140 -140 -140 -138 -136 -133 -128 -123 -119 -116 -114 -112 -112 -112 -113 -114 -115 -116 -118 -122 -125 -126 -123 -120 -117 -114 -112 -113 -116 -117 -113 -106 -103 -102 -102 -102 -100 -99 -99 -99 -98 -97 -96 -95 -93 -93 -92 -92 -92 -92 -92 -91 -89 -89 -87 -86 -86 -86 -87 -88 -85 -83 -83 -83 -81 -79 -76 -74 -72 -71 -70 -69 -68 -67 -67 -67 -67 -66 -65 -64 -63 -62 -61 -60 -59 -58 -59 -58 -31 -35 -38 -40 -40 -38 -36 -35 -37 -39 -38 -36 -35 -35 -36 -39 -43 -47 -49 -51 -54 -57 -59 -59 -61 -62 -61 -57 -62 -64 -56 -40 -32 -43 -47 -43 -35 -36 -34 -32 -33 -42 -56 -65 -69 -70 -70 -68 -68 -69 -69 -59 -49 -48 -56 -67 -73 -77 -81 -86 -91 -93 -94 -93 -92 -86 -81 -77 -75 -71 -70 -71 -73 -76 -80 -82 -84 -85 -88 -88 -84 -79 -75 -73 -77 -80 -81 -81 -80 -77 -76 -76 -74 -67 -59 -57 -59 -65 -69 -70 -69 -69 -69 -71 -72 -70 -66 -59 -56 -58 -62 -65 -70 -76 -81 -84 -84 -83 -75 -62 -48 -43 -47 -52 -55 -56 -55 -58 -64 -71 -76 -77 -78 -76 -72 -69 -72 -72 -69 -63 -54 -50 -50 -54 -62 -67 -70 -72 -73 -75 -76 -77 -76 -74 -73 -71 -69 -66 -63 -61 -59 -58 -57 -53 -47 -43 -40 -40 -44 -45 -46 -49 -55 -55 -49 -41 -36 -36 -37 -36 -35 -34 -36 -42 -46 -48 -46 -44 -46 -49 -52 -54 -56 -57 -58 -58 -58 -58 -59 -60 -60 -57 -56 -56 -57 -59 -57 -57 -61 -67 -66 -64 -63 -64 -66 -69 -69 -68 -65 -54 -36 -30 -34 -44 -52 -60 -62 -56 -46 -47 -52 -56 -58 -60 -62 -64 -68 -72 -73 -74 -77 -81 -86 -90 -96 -103 -107 -109 -107 -97 -79 -60 -53 -59 -66 -71 -73 -72 -71 -71 -72 -74 -77 -80 -83 -88 -94 -100 -106 -111 -116 -119 -121 -125 -128 -130 -128 -125 -123 -121 -117 -111 -106 -103 -103 -106 -110 -113 -114 -113 -114 -113 -113 -114 -116 -115 -113 -111 -111 -110 -108 -105 -104 -105 -109 -114 -120 -127 -134 -139 -142 -143 -142 -141 -140 -139 -137 -136 -135 -135 -136 -137 -140 -141 -141 -141 -140 -139 -137 -134 -130 -124 -121 -117 -113 -111 -110 -110 -111 -112 -113 -113 -115 -119 -122 -124 -122 -119 -116 -113 -111 -113 -115 -116 -112 -107 -105 -104 -103 -101 -100 -100 -100 -100 -100 -99 -98 -96 -95 -94 -93 -93 -93 -92 -92 -91 -90 -89 -88 -87 -87 -87 -89 -87 -85 -84 -84 -84 -82 -80 -76 -75 -73 -72 -71 -70 -68 -67 -67 -67 -68 -67 -67 -66 -64 -63 -62 -61 -61 -60 -60 -59 -31 -37 -41 -45 -48 -48 -45 -41 -38 -38 -38 -36 -34 -33 -34 -38 -43 -46 -46 -47 -48 -47 -47 -51 -56 -58 -55 -47 -47 -54 -59 -53 -41 -45 -50 -50 -44 -45 -47 -45 -40 -39 -51 -64 -70 -70 -68 -65 -65 -63 -60 -51 -47 -50 -57 -65 -72 -77 -82 -86 -89 -90 -91 -91 -89 -84 -79 -75 -72 -69 -70 -74 -78 -83 -87 -87 -87 -87 -89 -88 -85 -81 -78 -78 -80 -80 -80 -81 -82 -78 -77 -77 -76 -69 -61 -59 -62 -69 -72 -74 -73 -73 -73 -72 -70 -66 -60 -57 -60 -65 -70 -72 -77 -81 -84 -84 -82 -79 -71 -59 -47 -42 -44 -49 -53 -55 -55 -59 -65 -72 -76 -76 -74 -69 -64 -67 -72 -72 -68 -61 -54 -50 -50 -54 -60 -67 -71 -74 -74 -74 -75 -75 -74 -73 -71 -67 -63 -59 -58 -58 -57 -56 -53 -50 -47 -43 -40 -39 -42 -44 -46 -50 -55 -52 -45 -39 -36 -35 -36 -37 -36 -36 -39 -44 -48 -48 -45 -45 -48 -51 -54 -56 -58 -60 -61 -62 -61 -60 -59 -59 -57 -54 -54 -56 -58 -60 -60 -61 -63 -65 -63 -64 -66 -69 -74 -76 -75 -70 -61 -48 -34 -32 -39 -51 -59 -65 -64 -58 -50 -49 -51 -54 -58 -61 -62 -67 -72 -78 -80 -80 -80 -80 -82 -87 -93 -99 -103 -103 -97 -84 -69 -57 -56 -59 -64 -69 -72 -73 -72 -72 -72 -75 -79 -83 -88 -94 -101 -107 -112 -116 -120 -122 -124 -127 -128 -127 -124 -123 -122 -121 -116 -111 -106 -104 -105 -108 -112 -115 -115 -115 -115 -115 -115 -114 -113 -112 -111 -109 -107 -105 -102 -101 -102 -104 -107 -111 -117 -124 -132 -137 -140 -141 -140 -139 -139 -138 -137 -136 -135 -135 -136 -138 -141 -142 -142 -141 -141 -140 -139 -137 -133 -128 -122 -117 -113 -110 -110 -110 -110 -110 -110 -110 -112 -115 -118 -120 -119 -117 -115 -111 -110 -111 -113 -114 -112 -109 -106 -105 -103 -101 -100 -101 -101 -101 -101 -101 -99 -98 -96 -94 -94 -93 -93 -92 -92 -91 -90 -89 -89 -88 -88 -89 -90 -88 -86 -86 -85 -84 -83 -81 -78 -76 -74 -73 -72 -71 -69 -67 -67 -68 -69 -68 -68 -68 -67 -65 -63 -62 -62 -62 -61 -59 -31 -36 -42 -48 -52 -51 -46 -39 -35 -34 -34 -34 -33 -30 -31 -37 -44 -47 -47 -47 -45 -42 -41 -48 -52 -53 -51 -46 -42 -47 -55 -60 -55 -52 -53 -53 -51 -52 -57 -59 -57 -49 -53 -62 -69 -69 -65 -63 -61 -58 -52 -45 -47 -54 -64 -70 -76 -81 -85 -87 -86 -85 -87 -87 -85 -81 -79 -76 -74 -74 -74 -77 -82 -87 -92 -93 -93 -93 -94 -92 -90 -87 -84 -83 -81 -78 -78 -82 -83 -79 -77 -77 -77 -71 -64 -63 -67 -73 -75 -76 -75 -74 -72 -69 -67 -64 -61 -62 -67 -73 -77 -80 -82 -84 -84 -82 -79 -73 -64 -55 -46 -42 -43 -47 -51 -53 -55 -61 -67 -72 -73 -71 -67 -64 -64 -71 -75 -73 -67 -59 -52 -49 -50 -53 -58 -64 -69 -71 -71 -70 -70 -70 -71 -71 -66 -60 -56 -55 -57 -57 -55 -52 -49 -49 -49 -46 -41 -38 -41 -44 -46 -49 -52 -47 -41 -38 -37 -37 -36 -35 -35 -37 -41 -46 -48 -47 -45 -46 -50 -54 -57 -60 -62 -63 -64 -65 -64 -62 -60 -57 -55 -54 -55 -58 -60 -61 -61 -61 -62 -63 -64 -66 -71 -75 -78 -78 -73 -63 -50 -37 -35 -40 -47 -55 -64 -70 -69 -63 -58 -57 -55 -56 -59 -62 -65 -70 -76 -82 -86 -86 -85 -83 -83 -87 -90 -89 -82 -73 -67 -63 -60 -58 -58 -60 -64 -70 -73 -72 -71 -72 -73 -75 -80 -86 -93 -101 -107 -112 -114 -116 -119 -121 -122 -124 -125 -122 -121 -121 -121 -120 -116 -111 -108 -108 -109 -111 -113 -114 -114 -116 -116 -115 -113 -112 -111 -110 -109 -107 -103 -100 -98 -98 -101 -103 -105 -108 -114 -122 -130 -135 -137 -138 -137 -137 -137 -137 -136 -135 -134 -134 -136 -139 -142 -143 -142 -141 -141 -141 -140 -138 -136 -131 -124 -118 -113 -111 -111 -110 -109 -108 -108 -109 -111 -113 -114 -113 -113 -113 -113 -111 -109 -110 -111 -113 -112 -109 -107 -106 -104 -102 -101 -101 -102 -103 -103 -102 -101 -99 -97 -95 -94 -94 -94 -92 -92 -91 -90 -89 -89 -90 -90 -90 -90 -88 -88 -87 -86 -85 -83 -82 -79 -77 -75 -74 -73 -72 -70 -68 -67 -69 -69 -69 -70 -70 -69 -67 -64 -63 -62 -62 -61 -60 -37 -40 -44 -46 -47 -45 -41 -36 -31 -30 -32 -34 -34 -30 -30 -36 -42 -45 -47 -49 -48 -45 -42 -44 -47 -50 -51 -50 -46 -46 -51 -58 -59 -56 -54 -53 -53 -56 -61 -66 -69 -64 -60 -62 -65 -66 -62 -59 -57 -53 -47 -42 -49 -60 -71 -77 -80 -83 -85 -87 -85 -84 -85 -86 -81 -77 -76 -77 -79 -81 -82 -83 -84 -88 -93 -96 -97 -98 -97 -94 -91 -88 -86 -82 -79 -79 -81 -84 -83 -79 -77 -77 -77 -73 -70 -71 -73 -75 -75 -75 -75 -73 -70 -67 -67 -67 -68 -70 -74 -78 -82 -86 -85 -83 -82 -79 -75 -66 -58 -51 -46 -42 -44 -48 -50 -53 -58 -63 -68 -69 -68 -66 -64 -65 -70 -77 -77 -72 -63 -56 -51 -49 -49 -52 -57 -61 -64 -65 -64 -62 -64 -68 -70 -66 -58 -53 -52 -55 -57 -56 -54 -51 -48 -48 -48 -47 -43 -38 -39 -42 -45 -47 -49 -45 -39 -36 -39 -41 -38 -35 -35 -38 -43 -46 -46 -45 -46 -50 -54 -57 -60 -63 -64 -66 -67 -68 -67 -64 -61 -57 -55 -55 -57 -61 -63 -63 -62 -62 -63 -65 -67 -71 -76 -79 -77 -70 -61 -50 -39 -36 -44 -52 -57 -60 -68 -76 -77 -72 -65 -62 -61 -61 -62 -65 -69 -75 -81 -86 -89 -90 -89 -87 -85 -85 -84 -79 -69 -62 -60 -59 -57 -55 -57 -60 -66 -72 -74 -72 -72 -73 -75 -76 -81 -88 -97 -105 -110 -112 -113 -114 -114 -116 -118 -120 -121 -119 -118 -118 -118 -118 -115 -113 -112 -112 -113 -113 -113 -113 -113 -114 -114 -112 -110 -109 -108 -108 -106 -103 -98 -95 -95 -96 -99 -100 -102 -107 -113 -120 -127 -131 -134 -134 -135 -135 -135 -135 -135 -133 -133 -134 -136 -139 -141 -142 -141 -140 -139 -140 -139 -138 -137 -133 -127 -121 -117 -115 -114 -112 -110 -108 -108 -109 -110 -110 -108 -106 -107 -109 -110 -110 -109 -109 -111 -112 -112 -111 -109 -107 -105 -103 -102 -102 -103 -103 -103 -103 -101 -99 -97 -96 -96 -95 -94 -93 -92 -91 -90 -90 -91 -91 -91 -91 -89 -89 -89 -88 -87 -86 -84 -82 -81 -77 -75 -74 -74 -73 -71 -69 -69 -71 -71 -70 -70 -71 -71 -70 -67 -65 -64 -63 -62 -61 -41 -43 -44 -43 -40 -37 -34 -30 -25 -25 -30 -34 -34 -29 -30 -34 -37 -40 -45 -51 -53 -52 -49 -44 -43 -45 -49 -51 -51 -50 -50 -52 -54 -53 -52 -51 -52 -55 -59 -64 -69 -70 -67 -63 -61 -61 -59 -54 -50 -46 -44 -45 -52 -60 -66 -69 -73 -78 -82 -85 -87 -88 -88 -84 -77 -70 -70 -73 -78 -83 -88 -91 -92 -94 -96 -93 -92 -92 -93 -92 -89 -84 -80 -78 -80 -83 -84 -83 -81 -79 -78 -77 -77 -75 -75 -75 -73 -71 -71 -72 -73 -73 -71 -69 -71 -74 -76 -77 -78 -81 -85 -87 -84 -82 -79 -76 -70 -60 -53 -49 -47 -44 -46 -47 -49 -53 -60 -64 -65 -64 -64 -66 -69 -73 -77 -80 -76 -68 -60 -54 -50 -48 -49 -51 -56 -60 -61 -61 -59 -58 -63 -67 -66 -58 -50 -50 -53 -57 -58 -56 -53 -50 -48 -46 -46 -45 -43 -39 -37 -39 -42 -46 -48 -44 -39 -37 -39 -41 -39 -37 -37 -40 -44 -45 -45 -46 -50 -55 -58 -61 -62 -63 -65 -66 -68 -69 -68 -65 -62 -58 -55 -57 -60 -64 -65 -64 -63 -64 -66 -68 -72 -77 -81 -81 -72 -58 -47 -42 -41 -43 -50 -57 -60 -63 -71 -77 -77 -72 -67 -65 -64 -64 -65 -68 -73 -78 -83 -86 -88 -91 -92 -89 -84 -79 -75 -69 -63 -65 -70 -69 -61 -53 -55 -59 -65 -71 -71 -71 -72 -76 -79 -80 -84 -91 -99 -105 -107 -108 -108 -108 -108 -110 -112 -114 -115 -114 -114 -115 -116 -116 -116 -115 -114 -114 -115 -114 -113 -112 -112 -111 -110 -109 -108 -106 -106 -105 -103 -98 -93 -92 -93 -94 -96 -97 -101 -106 -113 -119 -124 -127 -129 -131 -132 -133 -134 -133 -133 -132 -133 -134 -135 -137 -139 -139 -139 -139 -139 -139 -139 -138 -137 -133 -129 -124 -120 -118 -115 -113 -110 -108 -108 -108 -107 -105 -104 -103 -104 -105 -108 -110 -110 -109 -110 -112 -113 -111 -109 -108 -105 -104 -103 -103 -104 -104 -103 -102 -101 -100 -98 -97 -97 -96 -94 -93 -92 -92 -91 -92 -93 -93 -92 -92 -89 -89 -89 -89 -88 -87 -85 -83 -82 -78 -76 -74 -73 -73 -71 -71 -72 -73 -72 -71 -70 -71 -72 -71 -69 -68 -67 -65 -63 -62 -37 -41 -42 -41 -36 -35 -33 -29 -23 -21 -27 -31 -32 -30 -31 -32 -32 -35 -42 -52 -58 -59 -57 -50 -45 -43 -44 -48 -53 -54 -53 -51 -49 -49 -48 -49 -50 -54 -58 -60 -62 -66 -66 -63 -60 -58 -56 -50 -43 -40 -40 -44 -48 -51 -53 -54 -61 -69 -75 -82 -86 -87 -85 -79 -69 -64 -66 -71 -77 -82 -85 -89 -92 -93 -92 -85 -82 -83 -85 -83 -80 -77 -75 -74 -77 -78 -78 -76 -79 -80 -80 -80 -79 -76 -72 -68 -64 -64 -67 -70 -73 -74 -74 -74 -75 -76 -78 -78 -80 -83 -86 -86 -82 -79 -75 -70 -65 -57 -52 -49 -49 -48 -47 -48 -49 -53 -59 -62 -64 -65 -68 -72 -75 -77 -78 -76 -71 -64 -57 -53 -52 -49 -48 -50 -56 -60 -62 -61 -59 -60 -66 -67 -61 -49 -47 -51 -56 -60 -60 -56 -53 -50 -48 -46 -43 -42 -41 -38 -36 -37 -41 -46 -46 -41 -38 -37 -40 -41 -40 -39 -41 -44 -47 -48 -49 -52 -57 -60 -62 -63 -64 -63 -64 -66 -69 -69 -68 -66 -63 -59 -57 -60 -63 -66 -66 -65 -66 -67 -71 -74 -77 -80 -82 -79 -66 -53 -46 -46 -51 -57 -61 -63 -63 -66 -72 -77 -76 -71 -68 -67 -67 -66 -67 -71 -75 -78 -81 -83 -85 -89 -91 -89 -82 -74 -67 -62 -59 -67 -74 -75 -68 -58 -56 -59 -65 -69 -69 -70 -73 -76 -80 -83 -88 -94 -99 -101 -101 -102 -102 -102 -103 -106 -109 -111 -112 -111 -112 -113 -113 -114 -114 -114 -113 -114 -114 -114 -112 -111 -111 -110 -109 -107 -106 -104 -104 -102 -98 -93 -91 -91 -92 -92 -93 -95 -100 -106 -112 -117 -122 -124 -126 -128 -130 -131 -132 -131 -131 -131 -132 -134 -135 -136 -137 -137 -138 -138 -138 -138 -138 -139 -138 -134 -128 -123 -121 -118 -113 -110 -108 -106 -105 -105 -105 -103 -102 -101 -102 -103 -105 -108 -108 -108 -108 -111 -112 -111 -109 -107 -105 -104 -103 -103 -104 -103 -102 -102 -101 -100 -99 -98 -98 -97 -94 -93 -92 -92 -92 -93 -94 -94 -93 -93 -91 -90 -89 -88 -88 -87 -86 -85 -82 -79 -76 -74 -73 -72 -72 -73 -75 -76 -74 -72 -70 -70 -72 -72 -71 -70 -69 -66 -64 -63 -35 -40 -43 -42 -37 -37 -37 -33 -27 -24 -27 -30 -32 -31 -31 -30 -30 -32 -40 -54 -61 -62 -59 -57 -53 -49 -46 -46 -52 -56 -56 -54 -48 -47 -47 -48 -51 -55 -59 -61 -62 -63 -64 -59 -56 -55 -53 -47 -42 -42 -49 -58 -59 -58 -56 -57 -64 -72 -78 -83 -85 -81 -75 -68 -63 -61 -64 -69 -75 -82 -87 -91 -91 -88 -83 -78 -76 -77 -77 -77 -75 -72 -69 -69 -73 -73 -73 -75 -81 -81 -82 -82 -80 -74 -66 -60 -58 -62 -68 -72 -75 -77 -76 -76 -76 -75 -75 -77 -79 -82 -83 -82 -77 -73 -69 -66 -62 -56 -53 -51 -50 -48 -47 -47 -48 -52 -59 -64 -68 -71 -74 -77 -78 -75 -72 -71 -67 -60 -53 -50 -50 -49 -48 -49 -58 -64 -65 -64 -62 -65 -69 -66 -56 -45 -48 -54 -60 -62 -60 -56 -53 -51 -50 -47 -44 -41 -38 -36 -35 -37 -41 -45 -43 -39 -37 -38 -42 -42 -40 -41 -44 -47 -50 -52 -54 -58 -62 -64 -64 -64 -63 -61 -63 -66 -68 -68 -65 -64 -63 -62 -60 -61 -64 -66 -67 -66 -67 -71 -76 -79 -80 -80 -76 -70 -59 -54 -54 -58 -62 -68 -69 -67 -64 -67 -74 -78 -78 -74 -71 -71 -70 -69 -70 -73 -76 -79 -80 -80 -82 -85 -87 -86 -80 -72 -65 -59 -59 -66 -73 -77 -76 -68 -61 -61 -65 -69 -69 -71 -74 -78 -80 -84 -89 -94 -97 -99 -100 -101 -102 -102 -103 -107 -110 -112 -111 -110 -109 -109 -111 -112 -112 -112 -112 -113 -114 -114 -114 -113 -112 -110 -108 -106 -104 -102 -101 -97 -93 -90 -90 -91 -91 -91 -91 -93 -98 -104 -110 -115 -119 -121 -123 -124 -126 -128 -129 -129 -130 -130 -131 -132 -134 -136 -137 -137 -137 -137 -137 -137 -138 -139 -139 -134 -129 -123 -120 -116 -110 -105 -102 -102 -102 -104 -104 -103 -101 -100 -101 -102 -104 -106 -105 -104 -105 -108 -109 -108 -107 -106 -105 -104 -103 -103 -104 -103 -102 -101 -101 -100 -99 -98 -98 -97 -95 -94 -93 -93 -94 -94 -94 -94 -93 -93 -91 -90 -90 -88 -88 -88 -87 -86 -83 -80 -77 -75 -75 -74 -74 -76 -78 -78 -76 -74 -71 -70 -72 -72 -72 -71 -70 -67 -66 -64 -36 -44 -48 -46 -41 -41 -41 -39 -34 -31 -32 -33 -34 -32 -31 -30 -29 -32 -40 -54 -64 -65 -58 -54 -57 -58 -55 -50 -48 -50 -52 -50 -46 -45 -46 -49 -51 -55 -61 -66 -68 -66 -64 -60 -55 -51 -48 -41 -38 -41 -53 -66 -72 -75 -74 -74 -75 -77 -79 -82 -82 -76 -66 -58 -57 -62 -68 -74 -80 -85 -90 -91 -87 -80 -73 -71 -72 -73 -72 -73 -74 -73 -72 -72 -74 -74 -76 -80 -85 -84 -84 -83 -80 -72 -63 -59 -60 -67 -73 -78 -81 -82 -80 -78 -75 -73 -72 -75 -78 -80 -80 -77 -71 -65 -62 -61 -59 -57 -54 -50 -48 -46 -46 -47 -50 -56 -64 -70 -74 -76 -77 -77 -72 -67 -64 -67 -65 -58 -51 -48 -48 -48 -49 -51 -60 -66 -69 -70 -70 -71 -69 -61 -51 -46 -54 -60 -63 -63 -59 -55 -53 -52 -54 -53 -49 -43 -37 -36 -36 -38 -40 -42 -40 -37 -37 -39 -43 -43 -42 -43 -45 -49 -52 -56 -60 -62 -63 -63 -63 -63 -63 -63 -65 -67 -68 -66 -63 -62 -62 -63 -63 -63 -65 -67 -67 -67 -70 -74 -79 -81 -79 -74 -66 -57 -53 -58 -63 -68 -69 -71 -69 -67 -65 -69 -76 -80 -80 -76 -73 -72 -72 -73 -76 -80 -82 -82 -81 -81 -82 -84 -85 -82 -75 -67 -61 -59 -61 -66 -70 -75 -78 -75 -66 -62 -63 -69 -69 -71 -74 -78 -80 -83 -88 -92 -97 -100 -102 -104 -106 -107 -110 -113 -115 -113 -110 -107 -105 -105 -107 -109 -109 -109 -111 -112 -115 -115 -115 -114 -112 -110 -108 -106 -104 -103 -99 -95 -91 -89 -90 -91 -90 -89 -89 -91 -95 -101 -107 -111 -115 -117 -118 -119 -122 -125 -127 -128 -128 -128 -129 -130 -132 -135 -137 -137 -137 -135 -135 -136 -137 -138 -138 -135 -130 -124 -119 -114 -108 -103 -100 -100 -101 -104 -106 -104 -102 -100 -100 -101 -102 -102 -100 -100 -103 -105 -105 -105 -105 -105 -105 -104 -104 -103 -103 -102 -102 -101 -100 -100 -98 -98 -97 -96 -95 -94 -94 -94 -94 -94 -93 -93 -94 -93 -92 -90 -89 -88 -87 -87 -87 -86 -85 -82 -79 -77 -76 -76 -77 -79 -80 -79 -78 -76 -73 -72 -72 -72 -72 -72 -70 -69 -67 -66 -40 -48 -52 -51 -45 -44 -45 -44 -41 -37 -37 -38 -38 -36 -32 -31 -31 -33 -40 -53 -65 -68 -59 -47 -50 -56 -59 -55 -48 -46 -48 -49 -46 -46 -49 -51 -51 -54 -62 -68 -69 -66 -64 -60 -55 -47 -41 -35 -33 -39 -52 -67 -77 -82 -82 -78 -76 -76 -78 -81 -81 -71 -61 -54 -56 -66 -75 -81 -86 -88 -92 -91 -85 -75 -67 -67 -70 -72 -73 -74 -77 -80 -82 -82 -80 -80 -83 -87 -88 -85 -84 -82 -77 -71 -66 -65 -69 -75 -79 -83 -84 -83 -80 -77 -74 -72 -71 -74 -77 -78 -77 -72 -64 -59 -56 -55 -56 -57 -54 -50 -47 -45 -46 -49 -54 -61 -67 -71 -73 -73 -72 -68 -64 -61 -63 -66 -64 -57 -49 -46 -47 -48 -49 -54 -60 -64 -66 -67 -66 -65 -60 -55 -50 -53 -59 -62 -61 -60 -58 -57 -56 -57 -60 -60 -54 -48 -42 -39 -39 -39 -39 -39 -37 -37 -38 -40 -44 -44 -44 -45 -48 -52 -55 -59 -61 -62 -62 -62 -63 -63 -63 -65 -68 -69 -68 -64 -62 -62 -62 -63 -65 -67 -69 -70 -69 -69 -72 -76 -79 -82 -78 -68 -57 -50 -56 -63 -70 -73 -72 -70 -67 -66 -66 -71 -78 -81 -80 -76 -72 -72 -74 -77 -81 -83 -81 -78 -76 -76 -80 -83 -85 -85 -78 -67 -58 -54 -59 -64 -68 -72 -76 -77 -71 -65 -63 -67 -69 -71 -74 -78 -81 -84 -88 -93 -97 -101 -105 -107 -108 -110 -113 -116 -116 -112 -107 -103 -101 -102 -104 -106 -106 -107 -109 -112 -114 -114 -114 -113 -111 -109 -107 -105 -103 -99 -94 -91 -90 -89 -90 -90 -89 -88 -88 -89 -92 -97 -103 -107 -111 -113 -114 -116 -119 -122 -125 -126 -126 -127 -128 -129 -131 -133 -135 -136 -135 -135 -135 -136 -137 -137 -137 -135 -132 -127 -120 -114 -110 -105 -101 -100 -102 -105 -107 -106 -104 -102 -101 -100 -100 -98 -96 -96 -98 -101 -102 -103 -103 -104 -105 -105 -104 -103 -102 -101 -101 -100 -100 -99 -98 -97 -97 -96 -96 -96 -95 -95 -95 -93 -92 -93 -94 -93 -92 -91 -89 -88 -87 -87 -87 -86 -85 -83 -80 -79 -79 -79 -80 -80 -81 -80 -79 -78 -75 -74 -74 -73 -73 -73 -71 -70 -68 -67 -45 -52 -55 -53 -46 -45 -48 -49 -48 -44 -42 -44 -45 -44 -38 -33 -32 -35 -41 -51 -63 -68 -61 -46 -45 -52 -58 -58 -52 -47 -47 -48 -49 -49 -52 -55 -56 -54 -61 -67 -69 -64 -61 -57 -50 -41 -33 -30 -35 -45 -59 -71 -78 -78 -75 -70 -69 -71 -76 -80 -80 -66 -57 -54 -61 -71 -80 -86 -89 -90 -93 -92 -86 -76 -68 -68 -70 -74 -77 -79 -83 -87 -89 -90 -87 -86 -88 -89 -86 -83 -81 -79 -75 -72 -72 -74 -77 -81 -83 -84 -83 -80 -77 -74 -72 -71 -71 -73 -75 -76 -73 -65 -57 -53 -52 -52 -54 -57 -55 -50 -46 -44 -45 -49 -56 -62 -65 -66 -66 -65 -62 -60 -59 -61 -65 -67 -63 -54 -47 -46 -48 -49 -51 -55 -58 -60 -61 -62 -61 -60 -57 -55 -56 -59 -60 -61 -62 -63 -62 -60 -61 -62 -64 -60 -55 -50 -46 -44 -42 -40 -39 -38 -37 -38 -39 -41 -44 -47 -48 -50 -52 -56 -57 -58 -58 -59 -60 -61 -63 -65 -66 -70 -72 -70 -66 -64 -63 -63 -63 -65 -68 -71 -74 -75 -73 -73 -75 -77 -80 -83 -83 -77 -66 -59 -62 -69 -75 -76 -74 -71 -69 -67 -68 -74 -79 -81 -79 -75 -71 -72 -76 -82 -85 -85 -81 -76 -73 -75 -79 -83 -86 -85 -75 -61 -50 -47 -54 -60 -64 -69 -75 -78 -76 -71 -66 -66 -69 -72 -74 -78 -83 -88 -92 -95 -98 -102 -106 -108 -108 -111 -115 -115 -113 -108 -105 -101 -99 -99 -102 -104 -105 -106 -108 -110 -112 -112 -112 -111 -109 -107 -105 -102 -98 -94 -91 -91 -91 -90 -90 -90 -89 -87 -86 -87 -89 -94 -99 -104 -108 -110 -112 -114 -117 -121 -124 -125 -125 -126 -126 -128 -130 -131 -132 -133 -134 -135 -136 -137 -138 -136 -135 -135 -134 -130 -119 -112 -109 -109 -108 -106 -106 -107 -109 -108 -105 -102 -100 -98 -96 -95 -94 -94 -96 -98 -99 -101 -101 -103 -103 -104 -104 -102 -101 -100 -100 -99 -99 -99 -98 -97 -96 -96 -96 -97 -97 -96 -94 -92 -92 -93 -93 -93 -92 -91 -89 -88 -87 -87 -87 -86 -86 -85 -83 -81 -82 -82 -82 -81 -80 -80 -80 -80 -78 -76 -75 -75 -74 -74 -72 -71 -69 -67 -48 -55 -58 -58 -53 -52 -55 -56 -54 -49 -48 -50 -53 -54 -48 -40 -36 -37 -44 -52 -62 -66 -61 -47 -43 -48 -56 -59 -55 -51 -49 -50 -51 -52 -55 -58 -60 -56 -60 -63 -65 -61 -56 -50 -42 -33 -26 -29 -40 -54 -67 -75 -76 -71 -65 -62 -66 -70 -76 -80 -77 -62 -53 -55 -65 -77 -83 -87 -89 -91 -93 -91 -86 -81 -76 -74 -75 -77 -80 -84 -87 -88 -89 -90 -88 -86 -85 -84 -80 -77 -76 -76 -77 -78 -78 -80 -81 -81 -81 -80 -79 -75 -73 -71 -69 -68 -70 -72 -73 -73 -69 -58 -50 -48 -49 -51 -55 -57 -56 -51 -46 -42 -44 -48 -54 -58 -58 -58 -57 -57 -57 -59 -61 -65 -69 -68 -61 -53 -46 -46 -48 -49 -51 -54 -56 -58 -60 -62 -62 -61 -59 -59 -60 -61 -62 -64 -66 -68 -67 -65 -64 -64 -64 -59 -53 -47 -42 -40 -38 -37 -37 -38 -39 -40 -42 -44 -48 -53 -56 -57 -56 -55 -54 -53 -53 -56 -60 -64 -67 -70 -74 -77 -76 -71 -66 -65 -65 -65 -66 -69 -72 -76 -79 -80 -79 -78 -80 -82 -84 -88 -91 -87 -78 -68 -67 -73 -78 -80 -77 -76 -73 -71 -72 -77 -79 -79 -76 -73 -71 -74 -80 -88 -91 -88 -83 -77 -73 -76 -80 -85 -88 -88 -74 -57 -45 -43 -52 -58 -62 -66 -72 -78 -79 -76 -70 -69 -71 -73 -75 -80 -87 -93 -98 -100 -102 -106 -109 -111 -112 -115 -115 -113 -109 -108 -105 -100 -98 -99 -103 -104 -104 -104 -106 -109 -109 -110 -110 -109 -107 -105 -101 -97 -92 -90 -90 -92 -93 -92 -90 -88 -87 -86 -86 -86 -88 -92 -98 -102 -106 -109 -110 -113 -117 -121 -123 -124 -124 -125 -126 -127 -128 -129 -131 -132 -133 -135 -136 -137 -137 -134 -133 -135 -136 -132 -117 -109 -107 -111 -112 -110 -109 -109 -109 -107 -103 -99 -96 -95 -93 -91 -91 -91 -93 -95 -97 -98 -99 -99 -100 -101 -102 -102 -101 -100 -100 -99 -99 -98 -97 -97 -96 -96 -97 -97 -97 -96 -94 -93 -92 -93 -92 -92 -92 -91 -89 -88 -87 -87 -87 -86 -86 -86 -85 -85 -85 -84 -83 -82 -80 -80 -80 -80 -80 -78 -77 -76 -76 -74 -73 -71 -69 -67 -49 -55 -61 -64 -63 -60 -61 -59 -55 -49 -48 -51 -55 -58 -55 -47 -41 -39 -45 -52 -60 -65 -63 -52 -46 -47 -52 -57 -56 -54 -53 -52 -54 -54 -54 -56 -60 -60 -59 -59 -57 -54 -50 -42 -34 -27 -24 -32 -44 -56 -65 -72 -70 -67 -64 -66 -70 -75 -78 -80 -74 -60 -54 -58 -70 -79 -83 -86 -88 -92 -92 -89 -87 -87 -87 -85 -84 -84 -84 -86 -84 -82 -82 -85 -84 -82 -79 -76 -72 -71 -73 -77 -82 -85 -84 -83 -83 -82 -79 -75 -73 -72 -71 -70 -69 -68 -68 -70 -71 -68 -62 -51 -44 -45 -49 -53 -56 -57 -55 -52 -45 -40 -42 -47 -52 -52 -53 -53 -55 -56 -60 -64 -68 -71 -72 -66 -58 -51 -47 -46 -46 -49 -52 -55 -57 -60 -63 -66 -66 -65 -65 -65 -65 -65 -66 -69 -72 -73 -71 -67 -64 -63 -63 -59 -53 -47 -42 -39 -37 -36 -36 -38 -40 -42 -45 -49 -53 -57 -59 -58 -56 -53 -52 -53 -57 -63 -68 -73 -78 -81 -83 -82 -77 -71 -66 -67 -67 -68 -71 -76 -79 -82 -85 -87 -85 -85 -86 -88 -90 -92 -92 -88 -80 -72 -71 -75 -80 -82 -81 -80 -77 -74 -72 -75 -77 -77 -74 -71 -72 -78 -86 -93 -95 -92 -85 -78 -75 -78 -83 -88 -90 -83 -65 -50 -44 -49 -55 -58 -60 -64 -69 -74 -79 -80 -78 -75 -75 -75 -78 -83 -90 -97 -102 -106 -108 -111 -114 -115 -116 -116 -113 -110 -108 -109 -106 -101 -99 -101 -105 -106 -106 -105 -105 -107 -108 -108 -108 -107 -105 -101 -95 -89 -86 -87 -90 -92 -93 -92 -90 -88 -87 -86 -86 -86 -88 -93 -98 -102 -105 -107 -109 -113 -117 -121 -123 -124 -124 -124 -125 -126 -127 -128 -129 -130 -132 -134 -135 -136 -135 -132 -132 -134 -138 -133 -118 -108 -106 -110 -110 -109 -107 -106 -103 -97 -93 -91 -91 -92 -91 -89 -87 -86 -88 -91 -94 -96 -96 -96 -97 -99 -100 -100 -100 -100 -100 -99 -98 -97 -96 -96 -96 -96 -96 -97 -97 -96 -95 -94 -93 -93 -92 -92 -91 -90 -89 -88 -88 -87 -87 -86 -86 -86 -86 -87 -87 -86 -84 -84 -82 -80 -80 -80 -80 -80 -78 -77 -76 -75 -73 -72 -71 -70 -53 -56 -61 -65 -66 -63 -61 -58 -54 -49 -46 -48 -52 -55 -55 -51 -44 -40 -44 -51 -59 -65 -68 -60 -52 -49 -50 -53 -55 -55 -54 -53 -54 -54 -51 -51 -55 -61 -60 -56 -52 -48 -42 -34 -26 -25 -32 -43 -51 -56 -60 -65 -69 -72 -74 -76 -79 -82 -83 -79 -66 -55 -53 -58 -68 -74 -78 -82 -86 -90 -91 -89 -88 -89 -90 -89 -89 -89 -87 -83 -77 -75 -77 -83 -80 -75 -70 -68 -67 -70 -74 -78 -83 -86 -88 -86 -82 -78 -73 -71 -70 -70 -70 -70 -69 -69 -68 -68 -68 -64 -56 -44 -41 -45 -51 -55 -56 -56 -54 -50 -44 -40 -42 -46 -50 -51 -54 -56 -59 -62 -67 -71 -73 -73 -71 -62 -54 -49 -47 -44 -42 -47 -54 -59 -59 -62 -67 -70 -71 -69 -69 -69 -70 -70 -72 -74 -75 -74 -70 -66 -63 -62 -61 -56 -49 -44 -42 -41 -40 -39 -38 -39 -41 -45 -50 -53 -55 -56 -58 -58 -57 -56 -57 -61 -66 -70 -76 -82 -85 -86 -86 -81 -74 -70 -68 -70 -71 -74 -79 -86 -89 -91 -92 -93 -91 -91 -91 -91 -91 -92 -89 -83 -76 -71 -72 -77 -81 -83 -83 -79 -74 -69 -68 -73 -77 -77 -71 -70 -73 -80 -88 -93 -93 -88 -82 -77 -76 -80 -86 -90 -87 -70 -52 -44 -48 -58 -62 -62 -61 -62 -65 -70 -76 -81 -83 -82 -80 -80 -83 -88 -92 -97 -102 -108 -111 -114 -117 -119 -118 -113 -107 -106 -108 -110 -106 -103 -103 -105 -107 -108 -107 -106 -107 -108 -108 -107 -107 -105 -101 -95 -88 -84 -85 -87 -89 -91 -92 -93 -91 -90 -89 -88 -88 -88 -90 -93 -96 -99 -102 -105 -108 -113 -117 -120 -123 -124 -124 -124 -125 -126 -127 -127 -128 -129 -132 -133 -134 -134 -132 -130 -130 -132 -137 -134 -121 -110 -106 -109 -108 -107 -105 -103 -100 -96 -92 -90 -90 -92 -92 -89 -86 -84 -84 -87 -91 -95 -95 -95 -95 -95 -97 -98 -99 -99 -98 -97 -96 -95 -95 -94 -95 -95 -96 -96 -96 -96 -96 -95 -94 -93 -93 -92 -91 -90 -89 -89 -89 -89 -88 -87 -87 -87 -88 -88 -88 -87 -85 -84 -83 -82 -81 -80 -80 -80 -79 -77 -76 -75 -74 -74 -73 -73 -58 -58 -60 -61 -62 -59 -56 -54 -52 -49 -46 -45 -46 -48 -52 -52 -47 -42 -43 -51 -58 -66 -70 -66 -57 -51 -50 -52 -54 -54 -54 -52 -51 -50 -46 -45 -50 -61 -63 -59 -52 -44 -35 -25 -22 -28 -43 -59 -70 -75 -76 -77 -78 -77 -76 -75 -79 -82 -82 -78 -67 -56 -52 -54 -60 -65 -71 -78 -85 -89 -89 -88 -88 -89 -89 -89 -90 -90 -86 -78 -72 -72 -76 -82 -78 -70 -65 -64 -68 -73 -78 -82 -85 -87 -88 -87 -83 -77 -72 -69 -69 -69 -70 -70 -70 -69 -69 -68 -66 -60 -51 -40 -39 -46 -52 -56 -56 -55 -53 -49 -45 -41 -43 -47 -52 -56 -60 -63 -66 -69 -72 -74 -76 -74 -68 -59 -51 -46 -43 -42 -43 -48 -57 -63 -64 -66 -69 -73 -74 -72 -71 -71 -72 -73 -75 -75 -72 -68 -65 -64 -63 -61 -60 -52 -43 -38 -38 -38 -39 -40 -40 -41 -45 -50 -55 -57 -55 -54 -55 -57 -60 -62 -63 -66 -70 -75 -81 -85 -86 -85 -82 -75 -70 -69 -71 -75 -79 -84 -91 -97 -99 -99 -98 -95 -92 -91 -90 -88 -88 -88 -83 -76 -71 -70 -73 -78 -82 -84 -83 -79 -73 -68 -68 -75 -78 -76 -70 -70 -75 -81 -87 -90 -88 -83 -80 -80 -80 -84 -89 -90 -80 -57 -43 -42 -52 -62 -65 -65 -63 -61 -63 -68 -73 -79 -83 -83 -82 -82 -85 -91 -93 -95 -98 -103 -107 -112 -117 -119 -113 -104 -100 -103 -109 -110 -108 -107 -108 -109 -109 -109 -108 -108 -108 -108 -107 -106 -105 -101 -94 -89 -86 -86 -86 -87 -89 -90 -93 -94 -94 -93 -92 -92 -91 -90 -90 -89 -89 -92 -97 -102 -107 -112 -116 -119 -122 -124 -125 -125 -126 -127 -127 -127 -128 -129 -131 -132 -133 -132 -130 -128 -127 -128 -133 -131 -120 -110 -106 -109 -109 -107 -105 -103 -102 -98 -94 -91 -90 -91 -91 -90 -87 -84 -83 -85 -89 -95 -95 -95 -93 -92 -93 -95 -97 -98 -96 -94 -94 -93 -93 -94 -93 -93 -94 -94 -95 -96 -96 -96 -95 -94 -93 -92 -91 -90 -90 -90 -90 -89 -88 -87 -88 -89 -89 -89 -89 -88 -86 -85 -84 -83 -82 -80 -80 -80 -79 -78 -77 -76 -76 -76 -76 -76 -59 -59 -58 -57 -56 -52 -48 -47 -48 -48 -45 -42 -42 -44 -49 -51 -49 -46 -44 -50 -56 -62 -66 -65 -58 -53 -50 -50 -52 -50 -49 -48 -47 -44 -40 -39 -44 -56 -64 -64 -58 -47 -34 -23 -21 -27 -43 -60 -71 -78 -80 -78 -74 -72 -72 -76 -81 -82 -80 -76 -73 -68 -62 -59 -60 -64 -71 -78 -83 -86 -87 -88 -89 -89 -89 -90 -90 -89 -83 -75 -72 -73 -76 -76 -70 -65 -64 -67 -73 -78 -82 -85 -87 -89 -90 -89 -85 -78 -71 -70 -70 -71 -72 -71 -71 -71 -70 -69 -64 -56 -46 -38 -40 -46 -53 -56 -55 -53 -52 -49 -46 -43 -45 -50 -56 -61 -63 -65 -67 -71 -75 -76 -74 -67 -59 -53 -50 -47 -45 -43 -46 -53 -61 -68 -70 -70 -72 -75 -77 -75 -74 -72 -72 -72 -72 -69 -64 -59 -62 -63 -63 -61 -60 -50 -40 -34 -34 -35 -37 -40 -42 -45 -51 -56 -59 -59 -56 -54 -55 -58 -62 -64 -66 -69 -74 -79 -83 -84 -82 -80 -75 -70 -68 -71 -75 -83 -90 -96 -100 -102 -103 -101 -98 -92 -86 -84 -82 -80 -84 -83 -78 -72 -70 -71 -75 -80 -84 -85 -85 -82 -77 -71 -70 -75 -77 -75 -71 -72 -77 -82 -86 -88 -86 -83 -81 -83 -86 -91 -94 -92 -77 -55 -44 -45 -55 -60 -63 -65 -66 -64 -63 -66 -71 -76 -80 -82 -84 -87 -93 -99 -102 -101 -101 -103 -109 -115 -117 -113 -102 -95 -96 -102 -109 -110 -110 -111 -111 -110 -109 -109 -109 -108 -108 -108 -107 -106 -103 -97 -92 -89 -88 -87 -86 -87 -89 -92 -95 -96 -96 -96 -95 -94 -94 -93 -91 -84 -82 -84 -91 -99 -105 -110 -114 -118 -121 -124 -125 -126 -127 -127 -127 -127 -127 -128 -130 -131 -131 -131 -130 -126 -123 -122 -125 -124 -116 -108 -105 -109 -109 -108 -107 -105 -104 -101 -97 -93 -90 -90 -91 -91 -88 -85 -84 -85 -89 -94 -94 -93 -91 -90 -91 -93 -94 -95 -93 -92 -92 -92 -92 -91 -91 -91 -92 -93 -94 -95 -96 -96 -96 -96 -95 -93 -92 -91 -90 -90 -91 -89 -88 -88 -89 -90 -90 -89 -89 -89 -87 -86 -85 -84 -82 -82 -81 -79 -78 -79 -79 -79 -79 -79 -79 -78 -56 -57 -56 -54 -52 -47 -44 -44 -45 -44 -42 -42 -43 -46 -50 -49 -46 -41 -37 -41 -50 -56 -59 -58 -55 -53 -51 -49 -47 -46 -46 -46 -45 -44 -45 -46 -49 -55 -60 -61 -58 -50 -38 -29 -25 -28 -39 -55 -67 -74 -74 -70 -66 -66 -70 -78 -82 -79 -74 -70 -72 -74 -73 -70 -68 -70 -75 -80 -84 -87 -90 -91 -91 -91 -91 -90 -88 -84 -78 -74 -73 -72 -70 -66 -63 -64 -68 -74 -80 -83 -86 -88 -90 -91 -91 -90 -87 -79 -71 -69 -71 -75 -75 -74 -73 -72 -71 -68 -62 -52 -42 -37 -40 -46 -51 -54 -53 -52 -51 -50 -47 -46 -48 -52 -58 -62 -64 -66 -67 -70 -73 -70 -64 -57 -52 -51 -50 -48 -46 -44 -49 -56 -64 -70 -71 -72 -73 -74 -73 -71 -68 -66 -65 -66 -64 -60 -56 -57 -63 -66 -65 -62 -58 -50 -42 -37 -37 -39 -40 -43 -46 -52 -56 -60 -61 -61 -58 -57 -59 -62 -64 -65 -68 -73 -78 -80 -79 -77 -74 -72 -68 -66 -69 -75 -83 -92 -97 -100 -102 -101 -101 -97 -90 -83 -77 -74 -74 -76 -82 -80 -75 -71 -72 -73 -78 -82 -86 -88 -88 -86 -81 -75 -73 -75 -76 -75 -73 -74 -79 -84 -86 -86 -86 -85 -86 -90 -96 -99 -95 -81 -62 -50 -50 -55 -59 -59 -62 -66 -68 -67 -66 -67 -70 -75 -78 -81 -86 -93 -102 -109 -112 -111 -109 -110 -112 -112 -109 -100 -92 -93 -98 -104 -108 -109 -110 -110 -109 -107 -106 -106 -107 -108 -108 -108 -106 -103 -100 -96 -93 -90 -89 -88 -87 -89 -91 -93 -95 -95 -96 -97 -96 -95 -95 -94 -92 -84 -79 -79 -86 -94 -101 -107 -111 -116 -120 -124 -126 -127 -127 -127 -126 -126 -126 -127 -128 -129 -129 -129 -129 -126 -120 -113 -112 -115 -115 -110 -105 -105 -107 -109 -109 -107 -106 -104 -100 -95 -89 -88 -89 -91 -89 -86 -86 -87 -90 -92 -89 -87 -86 -88 -89 -91 -91 -91 -91 -91 -90 -90 -90 -89 -89 -89 -90 -91 -93 -94 -95 -96 -96 -96 -96 -95 -94 -92 -91 -91 -91 -90 -89 -90 -91 -91 -91 -89 -89 -89 -88 -88 -87 -85 -83 -83 -81 -80 -80 -81 -81 -81 -82 -82 -81 -80 -48 -49 -49 -48 -46 -45 -44 -43 -42 -39 -39 -42 -44 -46 -48 -50 -46 -40 -33 -33 -42 -51 -57 -57 -52 -50 -50 -49 -44 -41 -42 -43 -44 -47 -53 -56 -58 -57 -56 -53 -50 -46 -42 -38 -34 -33 -38 -52 -64 -69 -65 -60 -62 -67 -74 -79 -79 -72 -66 -62 -65 -72 -76 -78 -77 -77 -80 -84 -89 -93 -95 -95 -95 -92 -90 -86 -81 -75 -71 -70 -68 -65 -61 -60 -63 -68 -74 -80 -84 -87 -89 -90 -92 -92 -91 -90 -87 -81 -73 -70 -72 -77 -79 -78 -75 -72 -70 -66 -59 -50 -41 -37 -40 -44 -49 -51 -51 -52 -52 -51 -50 -49 -50 -54 -60 -63 -65 -66 -67 -69 -67 -61 -54 -49 -50 -52 -51 -48 -45 -44 -49 -56 -64 -66 -66 -68 -68 -66 -62 -59 -58 -58 -59 -62 -61 -59 -58 -64 -69 -69 -66 -60 -50 -41 -36 -35 -38 -43 -44 -46 -50 -55 -58 -60 -61 -61 -59 -60 -63 -66 -67 -69 -71 -75 -80 -78 -72 -68 -67 -66 -64 -66 -72 -80 -90 -96 -99 -100 -99 -95 -91 -86 -82 -81 -77 -73 -73 -77 -82 -79 -75 -73 -74 -76 -80 -85 -88 -91 -92 -89 -84 -76 -74 -74 -75 -75 -75 -76 -81 -84 -85 -87 -90 -93 -97 -100 -104 -105 -95 -76 -52 -46 -52 -62 -68 -67 -68 -68 -70 -71 -70 -70 -72 -74 -77 -81 -88 -97 -108 -114 -117 -118 -116 -115 -114 -111 -105 -96 -92 -95 -100 -105 -107 -110 -110 -109 -106 -103 -102 -103 -105 -107 -107 -106 -103 -99 -96 -94 -92 -91 -90 -89 -90 -92 -94 -94 -94 -94 -96 -97 -96 -95 -95 -94 -92 -87 -81 -78 -80 -88 -96 -103 -108 -114 -120 -124 -127 -128 -128 -127 -126 -125 -125 -125 -126 -127 -127 -127 -129 -127 -120 -109 -103 -109 -114 -115 -110 -106 -105 -106 -108 -107 -106 -105 -102 -97 -90 -88 -88 -90 -89 -88 -88 -89 -90 -90 -87 -85 -83 -85 -87 -89 -89 -89 -90 -89 -89 -88 -88 -88 -88 -89 -89 -90 -92 -93 -94 -95 -96 -96 -96 -95 -95 -94 -93 -92 -92 -90 -90 -91 -92 -92 -91 -89 -88 -88 -89 -89 -88 -86 -84 -83 -82 -81 -82 -83 -83 -83 -84 -84 -83 -81 -44 -39 -36 -37 -40 -46 -45 -42 -39 -37 -39 -42 -44 -46 -48 -50 -49 -44 -36 -31 -38 -48 -55 -56 -51 -49 -48 -46 -40 -38 -38 -41 -44 -49 -56 -60 -60 -57 -51 -45 -42 -40 -41 -43 -41 -38 -39 -52 -62 -63 -58 -54 -63 -72 -77 -77 -73 -65 -59 -56 -59 -66 -74 -79 -80 -80 -84 -89 -94 -97 -98 -98 -95 -90 -86 -78 -70 -65 -63 -62 -60 -58 -59 -62 -68 -74 -78 -82 -85 -88 -90 -91 -91 -90 -90 -88 -86 -83 -77 -72 -72 -77 -81 -79 -76 -72 -69 -64 -57 -49 -43 -39 -40 -43 -47 -49 -50 -52 -53 -53 -53 -52 -53 -57 -63 -65 -66 -67 -68 -66 -60 -52 -48 -48 -52 -55 -53 -48 -44 -44 -49 -56 -61 -61 -61 -62 -63 -60 -56 -54 -53 -56 -62 -66 -65 -63 -65 -71 -72 -70 -65 -57 -44 -36 -34 -37 -41 -43 -45 -47 -50 -51 -52 -53 -55 -56 -59 -63 -67 -70 -72 -73 -75 -78 -81 -74 -65 -62 -64 -65 -65 -69 -76 -85 -91 -92 -92 -91 -87 -82 -79 -77 -77 -81 -78 -74 -74 -80 -82 -80 -77 -74 -73 -76 -83 -90 -94 -97 -96 -92 -83 -76 -75 -75 -76 -76 -76 -79 -83 -87 -88 -94 -100 -106 -108 -109 -108 -101 -87 -67 -48 -45 -53 -65 -74 -75 -75 -74 -75 -77 -77 -77 -76 -74 -76 -81 -89 -99 -108 -113 -116 -117 -117 -116 -115 -111 -105 -99 -97 -99 -103 -108 -110 -111 -110 -107 -103 -101 -101 -102 -104 -104 -104 -101 -98 -94 -92 -91 -90 -90 -89 -91 -93 -94 -94 -92 -92 -93 -95 -97 -96 -95 -93 -91 -89 -88 -85 -81 -79 -83 -90 -98 -105 -111 -118 -124 -128 -129 -128 -126 -124 -123 -123 -124 -124 -124 -124 -125 -127 -128 -124 -116 -112 -117 -120 -120 -115 -111 -108 -105 -104 -103 -104 -105 -104 -100 -94 -90 -89 -89 -88 -88 -88 -89 -90 -91 -89 -86 -83 -83 -86 -87 -87 -87 -88 -89 -88 -87 -87 -87 -88 -88 -88 -89 -91 -92 -93 -94 -95 -96 -96 -96 -96 -95 -94 -93 -92 -91 -91 -92 -93 -92 -92 -90 -88 -88 -89 -89 -89 -87 -86 -85 -84 -83 -84 -84 -85 -85 -85 -85 -83 -81 -38 -33 -30 -32 -38 -45 -44 -41 -38 -37 -39 -43 -46 -47 -46 -48 -51 -48 -39 -32 -37 -45 -52 -54 -52 -50 -47 -44 -39 -37 -38 -41 -45 -52 -56 -58 -57 -54 -46 -39 -35 -36 -39 -42 -42 -40 -41 -51 -57 -58 -54 -56 -67 -74 -75 -73 -69 -63 -57 -55 -58 -65 -72 -77 -80 -83 -88 -92 -95 -97 -98 -97 -92 -84 -77 -67 -60 -56 -55 -54 -57 -61 -65 -69 -73 -76 -79 -82 -86 -89 -89 -89 -87 -88 -87 -86 -85 -83 -80 -76 -74 -76 -81 -79 -76 -72 -68 -63 -57 -50 -44 -41 -41 -42 -45 -47 -51 -53 -54 -55 -55 -55 -57 -61 -67 -68 -68 -68 -67 -62 -54 -49 -48 -51 -57 -57 -54 -48 -45 -45 -51 -57 -60 -58 -59 -60 -60 -59 -57 -56 -57 -62 -69 -71 -69 -68 -70 -72 -72 -69 -64 -54 -42 -38 -39 -41 -42 -42 -43 -46 -51 -52 -53 -53 -53 -52 -56 -65 -73 -78 -78 -77 -79 -82 -84 -72 -64 -63 -66 -67 -68 -74 -81 -87 -87 -84 -82 -79 -72 -71 -72 -74 -77 -80 -78 -76 -77 -82 -82 -81 -77 -74 -74 -81 -89 -96 -99 -101 -97 -90 -82 -76 -77 -79 -80 -79 -79 -83 -88 -92 -96 -105 -112 -115 -115 -113 -104 -91 -75 -60 -52 -54 -61 -69 -73 -73 -72 -73 -76 -80 -81 -82 -81 -80 -79 -83 -90 -100 -108 -111 -112 -112 -112 -113 -113 -111 -107 -104 -102 -104 -106 -109 -110 -110 -107 -104 -100 -100 -100 -100 -101 -100 -97 -95 -93 -91 -89 -88 -88 -88 -89 -91 -93 -94 -93 -92 -92 -94 -95 -95 -94 -93 -90 -86 -85 -88 -88 -86 -81 -82 -87 -94 -101 -108 -115 -122 -127 -129 -128 -125 -123 -121 -120 -121 -122 -121 -121 -122 -125 -128 -128 -127 -128 -129 -129 -125 -119 -115 -111 -107 -103 -101 -101 -103 -105 -104 -100 -95 -91 -88 -87 -87 -88 -89 -91 -92 -91 -88 -84 -84 -86 -87 -87 -87 -88 -88 -88 -87 -87 -87 -88 -89 -89 -89 -90 -90 -92 -93 -95 -96 -96 -96 -96 -96 -96 -95 -94 -93 -92 -93 -94 -92 -92 -91 -90 -89 -88 -88 -88 -88 -88 -87 -85 -85 -86 -86 -86 -86 -86 -85 -82 -81 -32 -29 -28 -32 -38 -45 -43 -41 -39 -38 -41 -44 -46 -47 -45 -48 -51 -49 -42 -34 -37 -43 -48 -51 -52 -50 -48 -44 -39 -38 -41 -45 -48 -54 -56 -55 -53 -51 -43 -35 -33 -36 -40 -42 -41 -40 -42 -48 -51 -53 -56 -62 -69 -71 -71 -71 -72 -68 -62 -58 -60 -68 -73 -77 -81 -87 -90 -92 -94 -95 -94 -94 -91 -83 -67 -55 -50 -50 -50 -53 -59 -66 -73 -77 -79 -80 -83 -85 -86 -86 -85 -85 -85 -86 -85 -85 -85 -84 -81 -77 -75 -75 -77 -77 -74 -70 -65 -59 -53 -48 -44 -40 -40 -41 -43 -48 -52 -54 -55 -56 -59 -59 -61 -64 -69 -70 -69 -67 -63 -56 -51 -50 -52 -55 -59 -58 -54 -49 -46 -49 -55 -59 -61 -60 -61 -62 -63 -64 -64 -63 -65 -69 -74 -71 -69 -68 -70 -71 -71 -69 -65 -55 -44 -42 -42 -43 -43 -43 -45 -49 -54 -57 -58 -57 -54 -52 -60 -72 -80 -82 -82 -82 -84 -85 -81 -67 -63 -64 -68 -68 -71 -77 -84 -87 -83 -80 -77 -74 -67 -69 -71 -74 -77 -80 -78 -78 -80 -84 -84 -82 -78 -76 -80 -90 -98 -102 -103 -102 -94 -86 -79 -77 -80 -82 -82 -81 -81 -87 -94 -101 -106 -112 -115 -116 -115 -110 -97 -81 -66 -56 -58 -64 -70 -74 -73 -70 -69 -70 -74 -79 -82 -84 -85 -85 -86 -89 -94 -100 -105 -105 -104 -103 -105 -109 -110 -109 -107 -106 -105 -106 -107 -109 -108 -107 -104 -101 -99 -98 -97 -97 -96 -92 -89 -89 -90 -90 -88 -87 -86 -86 -88 -91 -92 -93 -93 -94 -94 -94 -93 -93 -92 -90 -87 -83 -84 -86 -87 -87 -87 -87 -88 -92 -97 -103 -111 -118 -124 -127 -126 -124 -121 -119 -118 -119 -120 -120 -120 -122 -126 -128 -128 -127 -128 -130 -132 -129 -121 -116 -112 -109 -104 -100 -99 -102 -107 -108 -106 -101 -96 -90 -87 -86 -87 -89 -91 -93 -91 -88 -84 -84 -85 -86 -87 -88 -88 -88 -88 -88 -88 -88 -88 -89 -89 -89 -89 -90 -91 -93 -94 -96 -96 -97 -97 -97 -97 -96 -94 -93 -93 -94 -94 -93 -93 -93 -92 -90 -88 -87 -87 -88 -89 -88 -87 -86 -88 -88 -87 -87 -87 -84 -82 -82 -27 -27 -29 -33 -39 -44 -43 -42 -41 -40 -43 -46 -46 -45 -44 -47 -51 -49 -43 -35 -36 -39 -44 -47 -49 -48 -47 -44 -40 -40 -45 -50 -53 -55 -52 -51 -51 -51 -46 -39 -35 -38 -44 -43 -41 -41 -44 -45 -47 -50 -55 -61 -67 -72 -73 -73 -71 -69 -65 -62 -65 -73 -77 -79 -81 -84 -88 -89 -90 -90 -89 -90 -88 -80 -63 -49 -46 -49 -54 -59 -65 -70 -74 -77 -79 -81 -83 -83 -84 -84 -83 -84 -84 -86 -86 -85 -84 -82 -80 -79 -78 -77 -75 -72 -68 -65 -62 -56 -50 -44 -41 -40 -39 -40 -43 -48 -52 -54 -57 -59 -62 -63 -65 -66 -69 -71 -67 -61 -57 -53 -52 -52 -54 -58 -60 -58 -53 -50 -50 -54 -60 -64 -66 -66 -68 -69 -70 -71 -70 -69 -70 -71 -71 -66 -65 -67 -70 -71 -71 -70 -67 -57 -47 -43 -42 -43 -45 -45 -48 -53 -59 -63 -66 -64 -60 -58 -68 -78 -84 -84 -83 -83 -83 -81 -75 -64 -62 -64 -66 -69 -74 -81 -87 -88 -84 -85 -84 -81 -72 -71 -72 -74 -76 -79 -80 -80 -83 -86 -85 -82 -81 -81 -90 -100 -106 -107 -105 -98 -89 -82 -80 -79 -81 -82 -81 -79 -82 -90 -97 -103 -107 -111 -112 -111 -108 -104 -94 -80 -65 -55 -58 -67 -75 -79 -77 -73 -70 -69 -71 -77 -82 -86 -88 -88 -92 -95 -97 -99 -101 -101 -100 -100 -104 -108 -109 -108 -106 -106 -106 -106 -106 -106 -105 -103 -101 -99 -97 -95 -93 -91 -88 -85 -85 -86 -88 -87 -86 -85 -83 -83 -87 -90 -93 -94 -96 -96 -95 -93 -91 -90 -89 -87 -85 -83 -84 -85 -86 -87 -88 -88 -89 -90 -94 -99 -105 -112 -118 -123 -123 -122 -119 -117 -116 -116 -117 -118 -119 -122 -126 -129 -129 -126 -126 -128 -131 -130 -122 -115 -111 -110 -107 -101 -99 -102 -108 -110 -109 -106 -101 -95 -89 -86 -86 -88 -90 -90 -89 -86 -84 -84 -84 -85 -87 -89 -88 -88 -87 -87 -88 -89 -88 -88 -89 -89 -90 -90 -91 -92 -93 -95 -95 -96 -97 -97 -97 -96 -95 -94 -94 -95 -95 -94 -94 -94 -93 -91 -88 -87 -87 -88 -89 -88 -88 -88 -89 -89 -88 -87 -86 -84 -84 -84 -25 -26 -29 -34 -38 -42 -43 -42 -42 -43 -46 -48 -46 -44 -43 -47 -49 -49 -44 -35 -33 -36 -41 -45 -47 -46 -45 -42 -38 -40 -46 -53 -55 -51 -48 -49 -51 -50 -49 -48 -45 -43 -44 -45 -46 -47 -49 -49 -50 -52 -57 -63 -68 -72 -74 -75 -73 -71 -68 -68 -69 -73 -74 -75 -77 -80 -84 -85 -86 -86 -87 -88 -83 -72 -53 -43 -44 -51 -59 -63 -65 -67 -69 -71 -75 -78 -81 -83 -84 -83 -84 -84 -86 -86 -85 -83 -82 -81 -80 -79 -78 -75 -71 -66 -62 -59 -56 -51 -47 -44 -41 -39 -38 -39 -43 -48 -52 -56 -59 -62 -64 -66 -67 -67 -68 -67 -60 -56 -54 -54 -53 -53 -56 -60 -61 -58 -54 -53 -56 -61 -66 -69 -71 -72 -74 -75 -74 -72 -68 -66 -67 -67 -64 -63 -65 -69 -72 -73 -73 -71 -65 -54 -46 -43 -42 -43 -45 -47 -51 -57 -64 -69 -72 -71 -67 -67 -75 -82 -86 -84 -82 -79 -76 -73 -67 -62 -61 -62 -66 -72 -78 -84 -88 -88 -87 -90 -91 -89 -83 -79 -76 -74 -75 -80 -82 -84 -85 -86 -85 -84 -85 -90 -98 -106 -109 -109 -102 -91 -83 -81 -81 -81 -82 -81 -81 -82 -87 -91 -95 -98 -100 -100 -99 -99 -100 -101 -95 -82 -66 -56 -59 -68 -77 -83 -83 -80 -75 -72 -72 -76 -81 -86 -90 -92 -98 -103 -105 -104 -102 -101 -102 -105 -109 -109 -107 -104 -103 -106 -107 -106 -105 -103 -102 -100 -98 -97 -94 -91 -87 -84 -82 -82 -83 -85 -87 -86 -85 -83 -82 -82 -87 -91 -94 -96 -96 -95 -93 -90 -87 -87 -86 -85 -84 -83 -83 -85 -86 -87 -87 -88 -90 -92 -94 -96 -100 -105 -111 -117 -119 -119 -117 -115 -114 -114 -115 -116 -118 -121 -125 -127 -127 -125 -125 -126 -128 -129 -122 -115 -111 -112 -109 -103 -100 -103 -109 -111 -110 -108 -105 -98 -91 -88 -88 -88 -89 -88 -86 -83 -83 -83 -84 -85 -87 -88 -88 -86 -86 -88 -89 -89 -88 -88 -89 -90 -90 -90 -90 -91 -92 -93 -94 -94 -95 -96 -96 -96 -95 -95 -95 -95 -95 -95 -95 -95 -94 -92 -90 -88 -87 -89 -89 -89 -89 -90 -90 -89 -88 -87 -86 -85 -86 -86 -23 -25 -29 -34 -39 -41 -43 -43 -44 -47 -50 -49 -46 -44 -44 -47 -49 -49 -45 -36 -32 -35 -40 -44 -46 -47 -49 -49 -43 -42 -46 -50 -50 -46 -46 -49 -50 -47 -46 -51 -55 -54 -49 -50 -53 -56 -57 -56 -56 -58 -61 -66 -71 -73 -75 -77 -76 -72 -70 -69 -70 -71 -71 -71 -73 -77 -80 -81 -83 -84 -85 -83 -75 -61 -43 -39 -43 -51 -59 -63 -65 -66 -67 -68 -72 -76 -80 -83 -85 -84 -84 -84 -85 -84 -82 -80 -80 -80 -79 -78 -75 -70 -65 -60 -56 -52 -50 -46 -44 -43 -42 -40 -38 -39 -43 -49 -54 -58 -62 -65 -66 -66 -65 -65 -64 -61 -56 -53 -54 -56 -56 -57 -59 -62 -62 -59 -58 -59 -63 -65 -67 -69 -71 -72 -72 -70 -65 -58 -57 -60 -64 -65 -65 -68 -71 -74 -75 -75 -74 -69 -58 -44 -40 -41 -43 -45 -45 -49 -56 -63 -69 -73 -75 -75 -74 -74 -80 -85 -86 -84 -79 -71 -65 -62 -63 -64 -62 -62 -67 -74 -81 -86 -88 -88 -89 -90 -92 -92 -88 -83 -78 -76 -76 -81 -85 -88 -88 -87 -85 -88 -93 -98 -101 -106 -109 -106 -96 -86 -82 -82 -83 -83 -83 -83 -84 -87 -89 -90 -90 -90 -90 -92 -94 -97 -101 -104 -98 -86 -71 -64 -66 -72 -77 -79 -81 -81 -79 -78 -76 -77 -81 -86 -91 -96 -103 -109 -112 -111 -108 -106 -106 -109 -112 -109 -105 -101 -101 -103 -104 -104 -102 -100 -98 -96 -95 -93 -89 -84 -80 -78 -79 -81 -83 -85 -86 -85 -83 -82 -81 -83 -88 -91 -92 -92 -92 -91 -89 -87 -85 -85 -85 -84 -83 -83 -83 -85 -87 -88 -88 -90 -92 -94 -95 -96 -98 -100 -105 -110 -114 -115 -114 -113 -112 -112 -112 -114 -117 -120 -123 -125 -125 -124 -123 -123 -125 -128 -123 -117 -113 -114 -110 -104 -101 -104 -109 -110 -108 -105 -103 -98 -93 -91 -90 -89 -88 -87 -85 -82 -84 -84 -84 -84 -86 -87 -86 -85 -85 -87 -88 -88 -88 -86 -87 -89 -89 -89 -89 -89 -90 -91 -91 -92 -93 -94 -94 -95 -94 -95 -95 -96 -95 -95 -95 -96 -95 -93 -91 -89 -89 -90 -90 -89 -90 -91 -90 -89 -88 -87 -87 -87 -88 -88 -22 -23 -28 -34 -39 -42 -44 -46 -48 -51 -53 -49 -45 -42 -43 -46 -49 -50 -48 -41 -35 -35 -39 -44 -48 -50 -55 -57 -53 -51 -50 -48 -46 -44 -47 -50 -50 -44 -43 -50 -57 -61 -57 -57 -63 -68 -68 -63 -62 -63 -66 -69 -73 -75 -76 -77 -75 -73 -71 -71 -70 -69 -68 -68 -70 -74 -77 -79 -81 -81 -80 -73 -63 -51 -41 -42 -46 -51 -57 -62 -68 -70 -69 -68 -72 -77 -81 -83 -83 -82 -82 -82 -82 -81 -79 -78 -78 -78 -78 -76 -71 -65 -59 -53 -48 -47 -48 -45 -44 -43 -42 -40 -38 -39 -44 -51 -56 -61 -64 -65 -64 -62 -61 -61 -61 -58 -55 -54 -55 -59 -61 -62 -63 -64 -63 -62 -63 -65 -67 -67 -67 -67 -67 -68 -65 -60 -54 -52 -58 -64 -68 -68 -69 -72 -75 -77 -77 -75 -69 -58 -44 -34 -35 -40 -44 -46 -45 -51 -61 -70 -75 -74 -72 -72 -74 -78 -82 -85 -84 -80 -72 -63 -57 -58 -64 -67 -64 -63 -69 -78 -83 -86 -87 -88 -88 -89 -89 -90 -89 -87 -83 -79 -78 -85 -91 -93 -92 -88 -88 -92 -97 -99 -101 -104 -105 -101 -92 -85 -83 -84 -85 -86 -87 -89 -90 -93 -91 -89 -87 -87 -88 -91 -96 -101 -105 -106 -100 -89 -76 -71 -75 -78 -79 -77 -78 -79 -81 -83 -83 -82 -83 -86 -93 -100 -106 -111 -115 -116 -114 -111 -109 -108 -110 -108 -106 -104 -104 -104 -104 -102 -100 -98 -96 -94 -90 -86 -81 -77 -76 -78 -80 -82 -83 -85 -86 -85 -84 -82 -81 -84 -86 -88 -89 -90 -89 -88 -86 -84 -83 -83 -82 -82 -82 -82 -83 -85 -87 -88 -90 -92 -94 -96 -98 -98 -98 -98 -99 -103 -107 -110 -110 -110 -110 -109 -110 -111 -114 -117 -120 -123 -124 -123 -121 -121 -123 -126 -122 -116 -111 -112 -111 -106 -104 -106 -110 -108 -105 -101 -100 -98 -96 -94 -93 -92 -90 -88 -85 -83 -85 -86 -85 -84 -85 -86 -85 -83 -83 -85 -86 -87 -87 -85 -84 -85 -86 -86 -87 -88 -88 -89 -89 -90 -91 -92 -93 -93 -93 -93 -94 -96 -96 -95 -95 -95 -96 -94 -92 -91 -90 -90 -90 -90 -91 -91 -90 -89 -88 -88 -89 -90 -90 -88 -19 -23 -28 -33 -38 -42 -46 -49 -52 -54 -54 -47 -41 -38 -40 -46 -48 -49 -47 -43 -36 -34 -38 -44 -48 -51 -57 -61 -62 -62 -59 -52 -45 -41 -45 -50 -52 -47 -41 -46 -56 -63 -62 -62 -69 -75 -74 -67 -63 -64 -68 -71 -73 -74 -75 -75 -74 -72 -72 -72 -71 -69 -67 -67 -69 -73 -77 -79 -80 -77 -71 -62 -54 -49 -50 -53 -56 -58 -61 -67 -74 -77 -75 -72 -75 -81 -83 -81 -77 -77 -78 -79 -79 -78 -78 -77 -76 -76 -75 -73 -68 -60 -52 -45 -42 -43 -47 -48 -46 -43 -41 -39 -38 -41 -46 -53 -58 -62 -62 -61 -59 -58 -59 -60 -61 -59 -57 -57 -59 -64 -66 -66 -66 -66 -65 -65 -66 -69 -69 -67 -66 -65 -64 -65 -62 -58 -55 -57 -65 -70 -72 -71 -72 -76 -79 -80 -79 -76 -67 -53 -38 -32 -35 -40 -45 -48 -52 -60 -68 -73 -73 -69 -66 -65 -71 -80 -86 -85 -79 -71 -64 -58 -58 -62 -66 -66 -64 -65 -73 -82 -85 -87 -87 -87 -88 -86 -84 -83 -86 -90 -89 -85 -82 -89 -95 -97 -95 -93 -96 -100 -103 -102 -101 -101 -100 -96 -91 -86 -84 -84 -86 -90 -94 -97 -98 -98 -95 -92 -90 -89 -91 -96 -100 -104 -107 -108 -102 -89 -72 -66 -73 -80 -82 -79 -80 -80 -81 -83 -86 -85 -85 -87 -93 -100 -107 -112 -115 -117 -116 -112 -109 -108 -109 -109 -110 -110 -109 -108 -106 -103 -99 -96 -93 -89 -85 -81 -77 -76 -77 -80 -82 -83 -84 -85 -86 -87 -85 -83 -82 -83 -84 -86 -87 -88 -88 -86 -84 -82 -81 -81 -81 -81 -80 -81 -83 -85 -86 -87 -90 -93 -95 -97 -99 -100 -98 -96 -96 -98 -101 -104 -106 -107 -108 -107 -108 -109 -111 -114 -117 -121 -122 -121 -120 -119 -120 -123 -123 -119 -113 -111 -110 -108 -107 -110 -110 -106 -102 -101 -102 -100 -99 -98 -96 -95 -93 -88 -84 -83 -85 -86 -85 -84 -84 -84 -83 -81 -82 -82 -84 -84 -84 -83 -82 -82 -83 -83 -84 -86 -87 -88 -88 -89 -91 -91 -91 -91 -91 -91 -93 -95 -95 -94 -94 -95 -95 -94 -93 -92 -91 -90 -89 -90 -92 -91 -90 -89 -89 -90 -91 -92 -91 -88 -20 -23 -25 -30 -35 -42 -47 -51 -55 -56 -55 -47 -38 -35 -38 -45 -48 -47 -44 -41 -36 -34 -36 -41 -46 -51 -58 -63 -66 -65 -62 -56 -47 -39 -42 -50 -55 -53 -43 -44 -53 -64 -67 -68 -73 -77 -78 -70 -62 -61 -66 -70 -71 -72 -74 -75 -75 -71 -71 -72 -72 -68 -66 -67 -70 -75 -79 -79 -77 -72 -63 -54 -51 -54 -60 -68 -72 -74 -75 -78 -82 -83 -83 -81 -82 -85 -84 -79 -72 -72 -75 -76 -77 -76 -76 -76 -74 -71 -71 -70 -64 -55 -46 -39 -37 -41 -46 -49 -48 -44 -40 -39 -39 -43 -49 -55 -58 -58 -58 -57 -57 -58 -61 -63 -64 -62 -61 -62 -65 -69 -70 -69 -68 -67 -66 -67 -68 -70 -70 -67 -65 -64 -64 -65 -66 -66 -65 -66 -72 -75 -76 -75 -78 -81 -83 -83 -82 -76 -66 -52 -40 -34 -36 -42 -50 -57 -63 -70 -75 -77 -75 -73 -73 -75 -81 -89 -90 -85 -75 -66 -61 -63 -66 -68 -64 -60 -62 -69 -80 -87 -89 -89 -88 -89 -89 -85 -79 -75 -84 -92 -95 -93 -89 -92 -96 -98 -98 -99 -101 -102 -103 -100 -99 -100 -99 -96 -92 -86 -83 -85 -93 -98 -102 -104 -104 -102 -99 -96 -95 -94 -95 -97 -100 -102 -105 -108 -103 -90 -70 -63 -71 -81 -86 -83 -82 -82 -82 -83 -85 -85 -85 -86 -88 -95 -104 -111 -115 -117 -115 -112 -110 -110 -111 -112 -112 -112 -112 -110 -106 -102 -98 -95 -91 -87 -83 -81 -79 -78 -79 -81 -82 -83 -85 -87 -88 -87 -86 -84 -82 -83 -84 -85 -86 -86 -86 -84 -82 -80 -79 -79 -79 -80 -81 -82 -83 -84 -84 -86 -89 -92 -95 -98 -99 -99 -96 -94 -94 -95 -97 -100 -103 -105 -106 -106 -106 -107 -108 -111 -114 -118 -120 -120 -118 -117 -118 -120 -122 -122 -120 -116 -112 -109 -108 -111 -110 -107 -104 -104 -105 -103 -102 -100 -99 -97 -93 -88 -83 -84 -85 -85 -84 -83 -83 -83 -81 -80 -79 -80 -81 -81 -82 -81 -81 -80 -81 -81 -82 -83 -85 -87 -88 -90 -90 -90 -89 -89 -88 -89 -91 -93 -94 -94 -94 -95 -94 -94 -93 -92 -91 -90 -90 -90 -91 -91 -90 -90 -90 -92 -93 -93 -91 -88 -20 -23 -26 -32 -39 -45 -50 -55 -58 -58 -55 -47 -38 -34 -36 -45 -49 -47 -43 -39 -37 -36 -36 -39 -43 -49 -58 -64 -65 -62 -58 -53 -47 -40 -42 -50 -57 -59 -51 -47 -53 -65 -75 -79 -82 -85 -85 -80 -68 -63 -64 -68 -68 -71 -73 -75 -76 -71 -69 -70 -71 -68 -65 -66 -69 -75 -77 -75 -70 -63 -51 -45 -48 -58 -68 -72 -75 -77 -77 -76 -78 -80 -83 -84 -84 -84 -81 -75 -70 -71 -72 -73 -72 -72 -72 -73 -72 -69 -69 -67 -63 -54 -43 -36 -36 -40 -46 -50 -48 -45 -41 -38 -40 -44 -49 -53 -54 -55 -56 -58 -61 -64 -66 -67 -69 -67 -65 -67 -70 -71 -71 -70 -68 -66 -66 -66 -68 -69 -69 -66 -64 -64 -65 -68 -72 -75 -76 -74 -76 -78 -81 -81 -84 -86 -88 -86 -82 -72 -60 -49 -40 -37 -39 -46 -56 -65 -71 -74 -77 -80 -81 -83 -85 -88 -91 -94 -92 -83 -71 -65 -68 -71 -70 -65 -56 -56 -63 -76 -90 -95 -95 -93 -91 -92 -92 -85 -78 -75 -85 -94 -99 -100 -96 -94 -95 -97 -99 -99 -100 -101 -101 -99 -101 -102 -101 -96 -90 -84 -85 -91 -99 -102 -104 -105 -104 -100 -98 -97 -97 -98 -96 -95 -95 -96 -101 -105 -102 -90 -72 -67 -74 -83 -88 -85 -84 -84 -85 -86 -86 -87 -87 -88 -90 -97 -105 -112 -114 -115 -114 -113 -112 -112 -114 -114 -113 -111 -110 -108 -104 -100 -97 -94 -89 -85 -83 -82 -81 -80 -80 -81 -83 -86 -88 -89 -88 -86 -85 -83 -82 -83 -84 -84 -83 -83 -83 -82 -80 -78 -77 -77 -79 -80 -81 -81 -82 -82 -83 -85 -88 -92 -96 -98 -98 -95 -92 -90 -92 -93 -94 -96 -100 -103 -104 -105 -105 -105 -106 -108 -111 -115 -119 -119 -118 -116 -117 -118 -120 -122 -123 -122 -117 -113 -108 -109 -109 -108 -107 -108 -106 -106 -105 -103 -101 -98 -93 -88 -84 -85 -85 -84 -82 -81 -82 -82 -80 -78 -77 -79 -79 -79 -80 -79 -78 -78 -79 -79 -79 -80 -82 -85 -87 -89 -89 -88 -87 -86 -86 -87 -89 -92 -94 -94 -95 -95 -94 -93 -92 -91 -91 -90 -89 -91 -91 -90 -90 -91 -92 -93 -93 -92 -90 -89 -19 -22 -28 -35 -42 -47 -53 -57 -59 -59 -56 -50 -41 -37 -38 -47 -52 -51 -48 -46 -47 -45 -42 -40 -41 -46 -56 -63 -65 -59 -50 -45 -42 -41 -45 -51 -58 -62 -59 -54 -56 -67 -82 -90 -95 -98 -100 -102 -95 -84 -73 -65 -64 -69 -73 -75 -75 -71 -68 -67 -70 -71 -70 -72 -75 -75 -72 -69 -63 -55 -46 -44 -49 -58 -69 -70 -69 -67 -67 -70 -73 -75 -76 -76 -80 -81 -78 -71 -68 -67 -66 -65 -66 -68 -71 -72 -70 -66 -67 -67 -63 -55 -43 -36 -35 -39 -46 -48 -48 -45 -42 -39 -41 -44 -47 -49 -52 -56 -61 -64 -67 -69 -69 -70 -72 -71 -69 -69 -70 -71 -70 -69 -68 -66 -65 -66 -67 -68 -68 -66 -65 -65 -67 -69 -74 -79 -81 -78 -78 -81 -84 -86 -87 -89 -89 -85 -74 -61 -50 -43 -39 -37 -41 -50 -61 -71 -74 -76 -77 -80 -83 -88 -92 -94 -94 -94 -89 -77 -66 -68 -74 -75 -71 -65 -57 -60 -72 -88 -99 -100 -99 -97 -96 -96 -95 -89 -84 -85 -93 -99 -103 -103 -99 -94 -93 -95 -97 -95 -96 -99 -102 -102 -105 -106 -102 -93 -87 -84 -87 -94 -99 -100 -99 -98 -96 -96 -96 -97 -98 -99 -97 -94 -94 -96 -101 -102 -97 -87 -75 -74 -79 -85 -90 -88 -86 -86 -88 -90 -88 -88 -88 -91 -96 -104 -111 -114 -114 -114 -113 -114 -113 -113 -114 -115 -114 -111 -108 -105 -102 -99 -96 -92 -88 -85 -82 -83 -83 -83 -82 -83 -85 -87 -88 -87 -86 -84 -84 -84 -84 -84 -83 -82 -80 -80 -80 -80 -80 -78 -77 -76 -77 -79 -80 -80 -81 -82 -82 -84 -87 -91 -95 -95 -93 -90 -88 -87 -89 -91 -92 -95 -98 -101 -103 -104 -105 -104 -105 -106 -108 -113 -116 -118 -117 -115 -115 -116 -118 -119 -121 -123 -121 -118 -114 -112 -110 -108 -107 -108 -109 -109 -108 -105 -102 -98 -95 -90 -88 -87 -86 -83 -80 -80 -81 -82 -80 -76 -76 -77 -78 -79 -78 -77 -76 -76 -77 -77 -77 -78 -80 -83 -84 -85 -85 -85 -85 -84 -84 -85 -87 -90 -92 -94 -95 -94 -94 -93 -91 -91 -90 -89 -89 -90 -90 -90 -90 -92 -93 -93 -91 -90 -90 -90 -17 -22 -29 -35 -42 -48 -54 -56 -58 -60 -59 -53 -46 -42 -42 -48 -56 -60 -62 -63 -64 -60 -53 -47 -44 -44 -52 -61 -65 -60 -49 -40 -36 -37 -45 -51 -55 -57 -60 -57 -57 -62 -75 -85 -94 -99 -103 -105 -106 -102 -92 -76 -65 -64 -65 -68 -70 -70 -69 -69 -69 -70 -71 -72 -73 -71 -65 -61 -57 -54 -53 -57 -62 -69 -75 -78 -77 -74 -73 -75 -77 -76 -75 -76 -79 -77 -70 -63 -60 -61 -61 -63 -66 -68 -72 -72 -70 -66 -66 -66 -63 -56 -45 -36 -34 -37 -43 -45 -46 -45 -42 -40 -41 -44 -48 -51 -56 -61 -65 -68 -69 -70 -70 -70 -71 -70 -68 -67 -68 -68 -68 -69 -70 -69 -66 -63 -64 -66 -68 -66 -65 -66 -67 -69 -74 -78 -81 -79 -81 -85 -88 -88 -87 -87 -84 -75 -59 -47 -41 -39 -38 -38 -43 -53 -65 -75 -78 -79 -79 -79 -81 -87 -92 -94 -91 -90 -80 -68 -60 -70 -76 -74 -68 -62 -61 -70 -84 -97 -103 -103 -101 -99 -98 -101 -100 -98 -97 -103 -106 -107 -106 -105 -99 -93 -91 -91 -92 -92 -96 -101 -105 -106 -110 -109 -101 -90 -85 -85 -89 -93 -94 -92 -91 -90 -90 -92 -93 -94 -97 -99 -99 -98 -98 -100 -100 -94 -84 -73 -70 -75 -81 -86 -92 -93 -89 -88 -89 -92 -91 -89 -89 -92 -101 -109 -114 -116 -115 -114 -114 -114 -115 -115 -115 -115 -113 -110 -106 -104 -102 -100 -96 -92 -87 -83 -81 -82 -84 -85 -84 -84 -86 -86 -86 -85 -84 -84 -84 -85 -85 -84 -82 -80 -79 -79 -79 -80 -79 -78 -76 -76 -76 -77 -78 -79 -79 -80 -81 -82 -85 -88 -90 -89 -88 -87 -86 -85 -86 -88 -91 -94 -97 -99 -102 -105 -105 -104 -104 -104 -106 -110 -113 -115 -114 -114 -114 -114 -114 -115 -117 -119 -121 -122 -122 -117 -111 -107 -107 -110 -111 -110 -108 -103 -100 -99 -98 -95 -92 -90 -87 -82 -78 -79 -80 -81 -80 -76 -74 -74 -76 -77 -76 -75 -75 -75 -75 -75 -75 -76 -78 -80 -81 -81 -82 -83 -84 -83 -83 -83 -85 -88 -91 -93 -94 -94 -93 -92 -91 -91 -90 -89 -88 -89 -90 -90 -91 -93 -93 -92 -90 -89 -90 -92 -16 -25 -32 -37 -42 -48 -54 -55 -57 -59 -61 -56 -52 -49 -48 -50 -58 -67 -74 -78 -79 -73 -65 -57 -51 -48 -51 -57 -63 -62 -55 -44 -35 -33 -42 -49 -51 -50 -54 -55 -58 -63 -71 -80 -86 -89 -91 -94 -96 -98 -95 -86 -73 -64 -61 -61 -65 -67 -67 -65 -64 -62 -64 -66 -67 -65 -58 -53 -51 -53 -60 -66 -70 -73 -74 -77 -78 -78 -78 -77 -77 -76 -76 -78 -77 -68 -58 -51 -53 -57 -61 -65 -69 -71 -74 -73 -71 -65 -64 -63 -61 -56 -46 -36 -32 -34 -40 -43 -45 -45 -43 -42 -45 -49 -53 -56 -60 -64 -66 -67 -69 -69 -70 -69 -70 -70 -68 -67 -66 -67 -69 -70 -70 -70 -66 -63 -62 -65 -66 -65 -65 -66 -67 -69 -73 -77 -80 -82 -84 -87 -89 -88 -86 -82 -72 -57 -42 -39 -39 -40 -40 -41 -47 -57 -68 -79 -83 -83 -82 -80 -81 -86 -89 -89 -86 -81 -69 -59 -57 -69 -74 -71 -65 -64 -71 -83 -95 -103 -106 -106 -105 -103 -103 -105 -104 -103 -104 -112 -112 -110 -107 -104 -97 -92 -90 -91 -94 -97 -101 -105 -108 -111 -115 -110 -98 -87 -85 -88 -91 -92 -89 -88 -88 -89 -90 -90 -91 -93 -96 -99 -100 -101 -100 -99 -92 -82 -73 -71 -78 -83 -86 -88 -94 -96 -93 -91 -90 -94 -94 -93 -92 -94 -103 -111 -115 -116 -115 -114 -114 -115 -115 -115 -114 -113 -112 -107 -105 -104 -104 -101 -97 -91 -85 -81 -79 -82 -84 -85 -85 -85 -86 -86 -85 -85 -84 -85 -85 -86 -86 -84 -82 -81 -80 -80 -80 -79 -78 -77 -75 -74 -74 -75 -76 -76 -77 -77 -78 -80 -82 -84 -85 -84 -83 -83 -83 -83 -83 -85 -88 -91 -94 -97 -102 -106 -106 -105 -104 -104 -104 -107 -110 -111 -111 -111 -111 -110 -111 -112 -113 -115 -117 -120 -124 -119 -112 -105 -105 -108 -110 -109 -106 -102 -100 -101 -101 -100 -96 -93 -88 -83 -78 -77 -78 -80 -79 -75 -73 -73 -74 -75 -75 -74 -74 -73 -73 -73 -74 -74 -76 -76 -77 -78 -79 -81 -82 -83 -83 -82 -83 -85 -88 -91 -92 -93 -93 -93 -92 -91 -90 -89 -89 -89 -89 -90 -91 -93 -92 -90 -88 -89 -90 -93 -20 -33 -41 -44 -47 -51 -56 -57 -58 -60 -64 -63 -61 -61 -61 -59 -61 -68 -73 -75 -74 -70 -64 -57 -53 -51 -52 -55 -58 -61 -60 -52 -42 -33 -39 -47 -49 -46 -46 -52 -58 -65 -72 -77 -79 -81 -82 -84 -85 -87 -87 -83 -75 -67 -61 -60 -62 -64 -62 -58 -55 -55 -57 -59 -60 -57 -50 -44 -43 -49 -59 -67 -69 -68 -65 -67 -71 -74 -74 -70 -69 -71 -75 -78 -70 -56 -45 -42 -50 -58 -64 -69 -72 -74 -75 -73 -70 -65 -62 -60 -58 -52 -44 -35 -30 -31 -38 -43 -45 -46 -46 -47 -52 -57 -61 -62 -63 -64 -65 -67 -68 -68 -68 -68 -69 -69 -69 -68 -66 -67 -69 -70 -70 -69 -67 -64 -63 -62 -63 -62 -63 -65 -67 -69 -72 -76 -80 -84 -88 -89 -89 -87 -82 -72 -59 -47 -40 -40 -39 -39 -40 -42 -50 -62 -74 -83 -82 -79 -75 -75 -80 -85 -85 -81 -78 -72 -62 -55 -57 -69 -74 -74 -73 -76 -86 -96 -104 -108 -110 -110 -108 -107 -107 -108 -107 -107 -109 -115 -114 -111 -107 -103 -96 -91 -90 -93 -98 -102 -106 -109 -112 -116 -115 -107 -96 -88 -90 -93 -95 -94 -92 -92 -93 -94 -93 -94 -95 -96 -98 -98 -99 -98 -97 -94 -83 -74 -71 -76 -85 -88 -90 -91 -95 -98 -97 -95 -93 -95 -97 -97 -97 -100 -106 -111 -114 -116 -115 -114 -115 -115 -115 -114 -113 -112 -110 -106 -105 -104 -103 -101 -96 -90 -83 -79 -80 -82 -83 -84 -84 -85 -85 -86 -86 -86 -86 -86 -86 -86 -86 -85 -83 -80 -79 -78 -78 -77 -77 -75 -73 -71 -71 -72 -73 -74 -74 -74 -75 -77 -79 -80 -80 -80 -80 -80 -79 -79 -80 -83 -86 -90 -92 -95 -100 -106 -108 -107 -105 -103 -103 -105 -107 -108 -108 -108 -108 -107 -108 -109 -110 -110 -112 -115 -120 -118 -112 -103 -101 -103 -105 -106 -105 -103 -101 -101 -102 -102 -97 -94 -89 -83 -76 -75 -76 -77 -76 -75 -73 -72 -72 -72 -72 -73 -73 -72 -71 -71 -72 -73 -73 -73 -74 -75 -77 -78 -80 -82 -82 -82 -82 -83 -86 -89 -91 -92 -93 -92 -92 -91 -91 -90 -89 -88 -88 -89 -91 -92 -91 -89 -87 -89 -91 -94 -25 -40 -47 -49 -51 -54 -60 -64 -64 -65 -67 -69 -70 -70 -70 -70 -69 -69 -69 -67 -66 -63 -56 -50 -49 -52 -51 -49 -49 -53 -56 -53 -45 -37 -39 -44 -45 -42 -43 -51 -59 -66 -73 -76 -75 -75 -76 -77 -78 -78 -77 -74 -70 -65 -61 -59 -60 -60 -57 -51 -47 -49 -53 -55 -55 -51 -44 -40 -39 -43 -51 -58 -60 -59 -57 -59 -63 -66 -63 -57 -56 -62 -71 -75 -61 -45 -37 -40 -51 -61 -68 -72 -74 -75 -73 -71 -67 -62 -59 -57 -53 -47 -40 -32 -28 -29 -37 -43 -47 -49 -51 -54 -59 -64 -67 -66 -65 -64 -66 -68 -68 -67 -67 -68 -69 -70 -70 -69 -67 -67 -69 -69 -69 -68 -68 -66 -63 -60 -59 -60 -61 -63 -66 -69 -72 -76 -81 -86 -88 -88 -85 -79 -71 -61 -54 -49 -47 -45 -41 -38 -37 -43 -55 -67 -76 -75 -70 -67 -66 -71 -79 -84 -83 -77 -74 -67 -59 -55 -58 -68 -77 -84 -89 -95 -100 -105 -109 -111 -112 -112 -111 -110 -111 -112 -112 -111 -111 -111 -109 -108 -107 -105 -98 -92 -90 -94 -102 -106 -108 -110 -112 -114 -109 -101 -93 -92 -95 -98 -100 -100 -99 -99 -99 -98 -97 -99 -101 -101 -98 -95 -93 -93 -95 -92 -82 -76 -77 -83 -89 -91 -93 -94 -97 -100 -101 -100 -98 -97 -98 -100 -104 -110 -113 -114 -114 -114 -114 -114 -115 -116 -115 -114 -112 -110 -108 -105 -104 -103 -102 -99 -95 -88 -82 -78 -81 -82 -83 -83 -83 -83 -85 -86 -88 -89 -89 -87 -85 -84 -84 -84 -81 -78 -77 -77 -76 -76 -75 -73 -70 -69 -68 -69 -71 -71 -72 -72 -73 -74 -75 -76 -76 -76 -76 -77 -76 -76 -78 -80 -83 -85 -87 -92 -98 -106 -108 -107 -105 -103 -102 -103 -104 -105 -105 -105 -105 -105 -106 -106 -107 -108 -109 -111 -116 -115 -110 -103 -100 -101 -103 -104 -104 -103 -102 -102 -102 -102 -98 -94 -90 -84 -76 -74 -74 -74 -73 -73 -73 -73 -71 -70 -70 -71 -71 -70 -70 -71 -72 -72 -72 -72 -72 -74 -75 -76 -78 -80 -81 -81 -81 -82 -84 -86 -88 -89 -90 -91 -90 -91 -91 -91 -89 -88 -87 -88 -90 -91 -89 -87 -88 -90 -93 -95 -26 -36 -41 -47 -53 -59 -64 -68 -71 -72 -72 -69 -69 -69 -69 -68 -66 -65 -64 -62 -62 -58 -51 -46 -47 -52 -49 -44 -41 -44 -47 -47 -44 -42 -45 -46 -44 -40 -41 -50 -60 -68 -74 -76 -75 -72 -70 -71 -73 -72 -69 -65 -61 -58 -56 -56 -57 -57 -53 -46 -40 -43 -49 -54 -55 -52 -47 -45 -44 -42 -41 -45 -49 -53 -55 -59 -61 -58 -50 -44 -49 -60 -69 -71 -54 -42 -39 -46 -56 -64 -70 -73 -75 -73 -70 -67 -65 -59 -56 -53 -49 -44 -38 -31 -27 -29 -37 -45 -50 -54 -58 -62 -65 -69 -70 -70 -67 -67 -68 -70 -70 -69 -69 -69 -70 -70 -71 -70 -67 -66 -69 -70 -70 -70 -70 -66 -62 -57 -56 -57 -59 -61 -65 -68 -72 -76 -82 -86 -88 -85 -77 -64 -55 -52 -53 -53 -53 -50 -45 -40 -38 -46 -58 -66 -67 -65 -66 -66 -69 -73 -80 -85 -84 -77 -71 -67 -61 -58 -62 -73 -85 -93 -98 -101 -105 -109 -111 -111 -111 -110 -111 -112 -113 -114 -113 -111 -107 -99 -98 -101 -107 -109 -100 -93 -91 -95 -102 -104 -105 -106 -108 -106 -100 -94 -93 -96 -99 -101 -102 -103 -100 -99 -98 -97 -97 -99 -99 -97 -91 -87 -87 -91 -96 -95 -87 -82 -83 -88 -92 -93 -94 -95 -97 -102 -104 -104 -101 -100 -103 -107 -112 -118 -119 -118 -115 -113 -112 -114 -115 -116 -115 -113 -111 -108 -104 -102 -101 -100 -99 -97 -94 -87 -80 -78 -82 -83 -82 -82 -82 -83 -86 -89 -91 -90 -89 -88 -85 -82 -81 -80 -78 -76 -76 -75 -75 -74 -73 -71 -69 -67 -66 -68 -69 -70 -70 -71 -71 -72 -72 -72 -71 -72 -73 -75 -75 -76 -77 -79 -80 -81 -83 -86 -92 -98 -103 -104 -104 -103 -102 -102 -102 -102 -103 -103 -104 -104 -104 -104 -105 -106 -107 -109 -112 -112 -108 -103 -102 -104 -104 -103 -102 -102 -101 -100 -101 -100 -97 -94 -90 -84 -78 -76 -74 -72 -70 -71 -73 -74 -72 -70 -69 -70 -70 -69 -70 -70 -71 -72 -72 -72 -72 -72 -73 -74 -76 -78 -79 -80 -81 -82 -83 -84 -86 -87 -87 -88 -88 -89 -89 -90 -88 -87 -86 -86 -88 -88 -88 -87 -89 -91 -94 -95 -24 -32 -37 -48 -56 -62 -66 -69 -72 -73 -74 -71 -70 -69 -67 -63 -59 -58 -57 -57 -57 -56 -53 -51 -52 -55 -51 -44 -38 -37 -37 -37 -40 -46 -54 -56 -52 -45 -41 -49 -61 -70 -74 -76 -73 -70 -66 -67 -70 -68 -63 -55 -50 -49 -50 -52 -57 -55 -47 -39 -35 -39 -48 -56 -61 -62 -58 -58 -58 -55 -45 -40 -42 -49 -57 -61 -56 -47 -38 -39 -51 -63 -69 -63 -50 -47 -49 -55 -59 -65 -70 -74 -76 -73 -69 -65 -62 -57 -53 -50 -47 -43 -38 -31 -27 -28 -37 -46 -54 -59 -62 -65 -68 -71 -72 -72 -70 -70 -71 -72 -72 -71 -71 -71 -70 -70 -70 -69 -67 -67 -69 -71 -72 -73 -71 -66 -59 -54 -53 -54 -57 -60 -63 -67 -71 -76 -81 -84 -86 -80 -68 -49 -45 -49 -53 -53 -52 -51 -49 -45 -43 -49 -56 -59 -60 -64 -68 -71 -73 -76 -81 -86 -86 -78 -69 -64 -63 -63 -65 -75 -89 -97 -99 -101 -104 -106 -106 -105 -104 -106 -109 -112 -111 -109 -108 -105 -98 -89 -89 -97 -108 -110 -99 -93 -93 -97 -102 -104 -104 -104 -102 -97 -93 -92 -94 -97 -98 -99 -98 -96 -93 -90 -89 -89 -89 -89 -88 -85 -81 -83 -89 -96 -100 -97 -91 -87 -87 -90 -93 -95 -95 -95 -98 -103 -106 -106 -102 -101 -104 -110 -116 -119 -120 -119 -118 -117 -117 -116 -115 -115 -114 -111 -107 -103 -100 -99 -98 -97 -96 -95 -92 -85 -78 -77 -83 -84 -83 -81 -80 -83 -87 -90 -91 -90 -90 -88 -86 -82 -79 -77 -76 -75 -75 -74 -74 -72 -71 -70 -69 -68 -66 -67 -68 -69 -69 -70 -70 -71 -70 -69 -67 -69 -71 -73 -74 -75 -76 -77 -79 -79 -80 -82 -86 -91 -96 -100 -102 -102 -102 -101 -101 -101 -101 -102 -102 -102 -102 -102 -104 -105 -106 -107 -109 -109 -107 -104 -105 -107 -107 -104 -101 -99 -98 -98 -99 -97 -95 -92 -89 -83 -79 -76 -74 -70 -67 -69 -73 -76 -73 -71 -70 -70 -69 -69 -69 -70 -71 -71 -71 -72 -72 -71 -71 -72 -74 -76 -78 -80 -81 -82 -83 -84 -85 -86 -86 -86 -87 -88 -89 -89 -88 -87 -86 -85 -86 -86 -87 -88 -90 -92 -93 -93 -22 -29 -36 -45 -53 -61 -66 -69 -71 -71 -72 -70 -70 -69 -65 -59 -55 -56 -57 -57 -55 -57 -59 -61 -62 -61 -56 -48 -40 -34 -28 -28 -34 -46 -60 -68 -70 -65 -54 -54 -60 -67 -71 -71 -69 -66 -64 -66 -68 -65 -57 -47 -41 -43 -48 -54 -57 -48 -39 -33 -32 -38 -48 -57 -64 -70 -70 -70 -70 -70 -65 -53 -46 -44 -48 -49 -45 -41 -39 -48 -61 -67 -64 -53 -47 -51 -57 -63 -67 -71 -75 -77 -76 -73 -70 -64 -58 -52 -50 -47 -45 -42 -39 -33 -29 -29 -37 -46 -53 -58 -61 -65 -68 -71 -74 -74 -73 -72 -72 -73 -73 -73 -72 -71 -70 -67 -67 -67 -69 -70 -71 -73 -74 -73 -69 -62 -55 -50 -50 -52 -53 -55 -58 -63 -69 -74 -78 -80 -81 -73 -58 -39 -43 -51 -54 -51 -49 -50 -51 -51 -50 -51 -54 -57 -63 -69 -73 -75 -76 -76 -81 -87 -86 -79 -66 -61 -62 -66 -68 -77 -86 -93 -97 -100 -101 -99 -95 -91 -94 -102 -107 -106 -100 -101 -103 -103 -96 -90 -92 -99 -107 -102 -94 -93 -96 -102 -107 -108 -106 -102 -96 -92 -92 -93 -95 -95 -93 -91 -89 -86 -83 -83 -83 -83 -83 -84 -85 -86 -87 -93 -98 -101 -99 -92 -88 -87 -89 -91 -93 -95 -95 -95 -98 -104 -107 -106 -101 -100 -104 -110 -116 -118 -119 -120 -120 -120 -118 -116 -115 -114 -111 -105 -99 -95 -94 -96 -97 -96 -95 -94 -89 -82 -77 -78 -84 -85 -84 -82 -81 -84 -87 -90 -90 -90 -90 -89 -87 -84 -80 -78 -76 -75 -74 -72 -71 -70 -69 -70 -70 -69 -67 -66 -66 -67 -69 -70 -70 -70 -69 -66 -65 -66 -68 -71 -72 -74 -74 -76 -77 -78 -78 -78 -80 -85 -90 -95 -98 -99 -99 -99 -99 -100 -101 -101 -101 -100 -99 -100 -102 -103 -105 -106 -107 -108 -109 -107 -107 -107 -107 -105 -100 -97 -96 -97 -97 -94 -90 -87 -84 -79 -75 -73 -71 -68 -67 -69 -72 -75 -73 -71 -70 -69 -67 -68 -69 -70 -71 -71 -71 -71 -71 -71 -71 -72 -73 -76 -77 -78 -80 -82 -83 -84 -84 -85 -85 -85 -86 -86 -87 -87 -87 -86 -86 -84 -84 -85 -86 -88 -89 -91 -92 -92 -23 -30 -38 -43 -49 -57 -63 -67 -68 -69 -69 -68 -66 -65 -64 -62 -61 -65 -67 -66 -62 -63 -65 -67 -67 -66 -64 -59 -51 -41 -29 -24 -26 -37 -53 -69 -80 -86 -85 -77 -71 -68 -68 -69 -67 -66 -65 -68 -70 -64 -55 -44 -39 -43 -49 -52 -49 -41 -35 -35 -38 -43 -49 -54 -60 -67 -74 -78 -79 -79 -78 -72 -64 -57 -53 -50 -48 -49 -53 -62 -68 -66 -58 -48 -47 -51 -58 -65 -70 -74 -77 -77 -74 -71 -67 -60 -53 -49 -46 -44 -43 -44 -41 -34 -28 -28 -37 -46 -52 -57 -60 -63 -66 -70 -74 -76 -75 -74 -73 -71 -68 -67 -66 -65 -64 -64 -64 -65 -68 -70 -70 -69 -68 -66 -62 -57 -52 -47 -47 -48 -48 -47 -49 -53 -61 -68 -73 -75 -74 -64 -49 -34 -43 -53 -58 -55 -51 -51 -52 -53 -54 -53 -56 -63 -72 -77 -77 -75 -72 -73 -82 -86 -84 -73 -58 -55 -60 -67 -69 -75 -84 -91 -96 -98 -96 -92 -88 -84 -93 -103 -104 -96 -92 -100 -109 -112 -105 -98 -98 -99 -98 -93 -91 -94 -101 -108 -113 -113 -109 -101 -94 -93 -94 -96 -96 -94 -91 -88 -85 -83 -82 -83 -84 -85 -87 -90 -93 -95 -97 -101 -102 -100 -95 -88 -87 -88 -91 -92 -92 -93 -94 -95 -100 -106 -108 -105 -100 -101 -106 -112 -117 -119 -119 -120 -120 -120 -118 -116 -113 -110 -103 -97 -93 -92 -95 -98 -99 -98 -95 -91 -85 -80 -77 -80 -85 -87 -85 -83 -83 -85 -88 -90 -90 -90 -90 -89 -88 -85 -82 -79 -75 -72 -71 -70 -69 -67 -68 -70 -71 -70 -68 -66 -65 -66 -68 -69 -70 -69 -68 -64 -62 -63 -65 -68 -69 -70 -72 -73 -76 -77 -76 -76 -76 -80 -85 -89 -93 -95 -95 -95 -96 -97 -99 -100 -99 -98 -97 -98 -100 -102 -103 -104 -106 -107 -108 -108 -108 -108 -107 -106 -102 -99 -98 -97 -94 -89 -84 -81 -79 -75 -73 -71 -70 -67 -68 -70 -73 -73 -72 -71 -70 -68 -66 -67 -68 -70 -70 -70 -70 -70 -71 -71 -71 -71 -72 -74 -75 -76 -78 -82 -84 -84 -84 -84 -84 -84 -85 -86 -86 -86 -86 -86 -86 -84 -83 -84 -85 -87 -88 -90 -91 -92 -29 -33 -41 -44 -48 -54 -61 -66 -67 -67 -68 -68 -63 -61 -63 -68 -73 -76 -79 -79 -76 -73 -71 -69 -68 -68 -69 -70 -69 -63 -46 -34 -31 -37 -49 -61 -71 -80 -85 -84 -80 -75 -70 -68 -69 -70 -71 -72 -71 -64 -53 -40 -34 -41 -46 -47 -42 -36 -34 -37 -43 -49 -54 -59 -65 -70 -74 -75 -75 -76 -79 -78 -75 -71 -66 -63 -62 -64 -68 -69 -67 -63 -59 -56 -54 -55 -59 -64 -70 -74 -76 -76 -73 -67 -60 -53 -48 -47 -43 -41 -41 -45 -43 -35 -28 -28 -36 -45 -52 -56 -59 -62 -66 -69 -73 -75 -74 -72 -69 -65 -62 -60 -59 -58 -60 -62 -64 -64 -63 -62 -59 -56 -55 -54 -55 -55 -53 -50 -47 -43 -39 -37 -39 -46 -55 -63 -69 -69 -66 -55 -40 -29 -42 -57 -67 -67 -60 -56 -54 -53 -53 -56 -64 -72 -79 -83 -77 -69 -64 -71 -83 -86 -80 -67 -53 -51 -56 -63 -66 -76 -85 -93 -98 -99 -96 -92 -88 -87 -97 -105 -104 -95 -96 -106 -114 -116 -109 -101 -98 -95 -92 -92 -94 -98 -102 -107 -113 -114 -111 -104 -100 -97 -98 -99 -99 -98 -95 -92 -88 -87 -86 -85 -87 -89 -92 -96 -100 -102 -105 -104 -101 -97 -93 -89 -87 -88 -91 -94 -94 -93 -93 -95 -103 -108 -109 -104 -100 -103 -109 -115 -119 -121 -121 -120 -119 -119 -117 -114 -110 -103 -97 -93 -92 -94 -98 -99 -98 -95 -93 -88 -82 -78 -78 -82 -86 -88 -86 -83 -84 -87 -89 -90 -90 -89 -88 -87 -86 -84 -81 -78 -75 -71 -68 -67 -66 -66 -68 -70 -70 -69 -68 -65 -64 -63 -65 -67 -68 -68 -67 -63 -61 -62 -64 -66 -67 -68 -69 -71 -74 -75 -74 -73 -73 -76 -80 -85 -89 -91 -91 -91 -92 -94 -96 -97 -97 -96 -95 -95 -97 -99 -101 -103 -104 -104 -104 -105 -106 -107 -108 -108 -106 -103 -99 -95 -91 -88 -85 -81 -79 -76 -73 -71 -69 -68 -70 -71 -72 -70 -70 -70 -70 -69 -67 -66 -67 -69 -70 -70 -69 -69 -70 -70 -70 -71 -72 -72 -72 -74 -77 -81 -83 -84 -83 -83 -83 -83 -84 -86 -86 -85 -85 -84 -84 -84 -83 -84 -84 -85 -87 -89 -91 -92 -38 -40 -45 -49 -52 -55 -60 -68 -69 -68 -67 -67 -65 -66 -71 -77 -81 -81 -79 -77 -76 -74 -71 -69 -68 -69 -70 -72 -72 -70 -57 -45 -41 -46 -53 -60 -67 -74 -80 -83 -82 -79 -75 -73 -73 -72 -72 -72 -69 -62 -51 -38 -32 -38 -42 -41 -37 -34 -36 -39 -45 -50 -57 -64 -69 -71 -70 -71 -71 -73 -74 -74 -75 -74 -73 -73 -73 -73 -71 -68 -65 -64 -66 -67 -66 -65 -65 -68 -72 -74 -74 -72 -68 -60 -51 -45 -44 -46 -41 -39 -41 -47 -45 -37 -29 -28 -35 -45 -52 -56 -59 -62 -65 -69 -71 -71 -68 -65 -62 -59 -57 -56 -56 -58 -60 -62 -62 -58 -54 -50 -49 -49 -50 -52 -54 -56 -56 -56 -54 -48 -42 -39 -44 -51 -57 -63 -68 -72 -68 -55 -38 -30 -44 -60 -72 -74 -67 -64 -61 -58 -57 -64 -72 -78 -80 -76 -68 -61 -62 -75 -86 -87 -80 -70 -56 -51 -52 -57 -65 -81 -91 -97 -102 -103 -100 -96 -94 -94 -102 -107 -107 -101 -103 -112 -118 -117 -111 -105 -100 -96 -93 -92 -94 -98 -105 -111 -115 -117 -116 -110 -104 -101 -102 -104 -104 -103 -102 -99 -96 -92 -88 -87 -88 -92 -96 -99 -101 -103 -104 -101 -96 -93 -90 -88 -88 -89 -91 -93 -94 -95 -96 -99 -106 -109 -109 -106 -103 -107 -113 -119 -121 -122 -122 -120 -117 -116 -114 -109 -103 -97 -92 -91 -92 -95 -98 -97 -95 -92 -89 -84 -80 -78 -79 -84 -88 -89 -86 -82 -84 -88 -90 -90 -89 -87 -85 -84 -83 -81 -79 -77 -74 -71 -68 -66 -65 -66 -68 -68 -67 -66 -66 -64 -62 -61 -62 -63 -65 -66 -66 -63 -62 -62 -64 -64 -65 -66 -68 -70 -72 -72 -72 -71 -71 -73 -77 -81 -85 -87 -88 -88 -89 -90 -92 -94 -94 -93 -92 -93 -94 -97 -99 -101 -102 -101 -101 -101 -102 -104 -106 -107 -105 -102 -98 -94 -91 -89 -86 -83 -79 -76 -73 -70 -69 -69 -70 -70 -69 -68 -69 -70 -70 -69 -67 -67 -67 -68 -69 -69 -68 -68 -69 -69 -70 -70 -71 -70 -70 -71 -75 -78 -81 -82 -82 -81 -81 -82 -84 -86 -86 -85 -84 -83 -83 -83 -84 -84 -85 -83 -86 -89 -91 -93 -47 -51 -53 -56 -59 -60 -62 -66 -63 -60 -61 -67 -70 -75 -80 -83 -82 -77 -73 -73 -74 -73 -73 -73 -72 -71 -72 -72 -71 -67 -55 -47 -45 -50 -56 -62 -68 -72 -77 -80 -81 -80 -78 -76 -74 -73 -71 -69 -64 -55 -45 -35 -31 -36 -38 -38 -36 -38 -41 -45 -49 -54 -61 -66 -67 -66 -67 -68 -69 -69 -67 -66 -67 -69 -71 -74 -74 -71 -66 -63 -65 -67 -70 -71 -72 -72 -73 -74 -76 -75 -71 -67 -60 -51 -43 -40 -41 -44 -40 -39 -41 -48 -46 -38 -31 -28 -36 -46 -52 -56 -58 -61 -64 -67 -68 -66 -62 -59 -57 -56 -55 -56 -58 -61 -63 -62 -59 -54 -48 -46 -48 -52 -55 -58 -60 -61 -61 -60 -56 -48 -43 -42 -48 -54 -59 -65 -71 -75 -69 -56 -40 -33 -45 -59 -70 -75 -73 -69 -64 -58 -58 -65 -72 -74 -69 -65 -63 -66 -74 -84 -89 -90 -85 -75 -58 -51 -52 -58 -71 -87 -96 -100 -104 -106 -104 -101 -99 -100 -105 -109 -109 -106 -107 -113 -116 -115 -113 -110 -107 -103 -99 -91 -92 -98 -107 -113 -116 -117 -116 -113 -110 -108 -107 -107 -106 -106 -106 -104 -101 -97 -90 -87 -89 -95 -97 -98 -98 -98 -96 -92 -89 -88 -89 -88 -89 -91 -93 -94 -95 -97 -100 -104 -107 -109 -111 -112 -111 -112 -115 -118 -120 -121 -120 -118 -114 -112 -107 -102 -95 -90 -87 -87 -90 -94 -97 -96 -93 -89 -85 -81 -79 -79 -81 -86 -89 -88 -84 -81 -85 -89 -89 -87 -85 -84 -82 -80 -80 -78 -76 -74 -73 -71 -69 -67 -66 -66 -66 -65 -64 -64 -64 -63 -61 -59 -59 -61 -63 -64 -64 -63 -63 -64 -64 -64 -65 -66 -67 -69 -70 -70 -68 -67 -67 -70 -74 -79 -83 -84 -85 -85 -85 -87 -89 -90 -91 -90 -89 -90 -91 -93 -96 -99 -99 -99 -98 -97 -97 -98 -101 -102 -100 -96 -92 -90 -89 -89 -88 -86 -83 -79 -75 -71 -68 -68 -69 -68 -67 -67 -69 -71 -71 -70 -69 -68 -67 -67 -68 -67 -65 -66 -68 -68 -69 -69 -70 -69 -68 -69 -72 -75 -77 -79 -79 -79 -80 -81 -84 -86 -86 -85 -85 -83 -83 -83 -83 -84 -85 -84 -86 -89 -92 -93 -49 -57 -60 -58 -57 -56 -56 -57 -55 -54 -56 -65 -72 -78 -81 -81 -78 -73 -71 -69 -67 -67 -71 -74 -75 -74 -74 -74 -70 -62 -52 -47 -48 -53 -60 -67 -73 -76 -79 -80 -81 -80 -78 -76 -74 -72 -70 -66 -57 -46 -36 -30 -29 -33 -35 -37 -39 -45 -49 -54 -58 -63 -66 -65 -62 -61 -64 -65 -63 -59 -57 -58 -61 -65 -68 -70 -69 -65 -62 -64 -65 -65 -64 -65 -69 -72 -75 -77 -75 -71 -67 -62 -54 -44 -38 -37 -40 -42 -39 -39 -42 -49 -47 -40 -32 -29 -36 -46 -53 -56 -58 -61 -64 -65 -64 -61 -58 -57 -57 -57 -56 -58 -61 -64 -64 -62 -57 -53 -49 -51 -56 -61 -64 -66 -69 -69 -66 -61 -54 -47 -45 -48 -54 -58 -64 -70 -76 -78 -71 -57 -42 -36 -46 -59 -70 -73 -73 -70 -64 -57 -56 -61 -65 -67 -65 -68 -74 -80 -86 -90 -92 -90 -85 -76 -66 -59 -55 -57 -72 -87 -95 -100 -104 -105 -102 -99 -96 -98 -103 -108 -110 -107 -107 -109 -110 -108 -112 -113 -112 -108 -101 -89 -88 -94 -101 -107 -111 -112 -112 -111 -111 -110 -109 -109 -109 -108 -107 -106 -104 -100 -95 -93 -95 -98 -97 -96 -93 -90 -86 -83 -83 -86 -88 -89 -89 -91 -93 -94 -96 -99 -105 -110 -111 -112 -115 -118 -119 -120 -120 -119 -119 -118 -117 -115 -112 -107 -100 -93 -88 -83 -81 -82 -87 -93 -96 -95 -91 -88 -84 -80 -78 -79 -83 -87 -88 -86 -83 -83 -86 -88 -87 -84 -83 -80 -78 -77 -78 -76 -73 -71 -72 -72 -70 -68 -66 -64 -63 -62 -62 -63 -63 -61 -59 -57 -57 -59 -61 -62 -63 -64 -65 -65 -64 -64 -65 -66 -67 -68 -68 -67 -65 -64 -64 -67 -71 -76 -80 -81 -82 -82 -83 -84 -85 -87 -88 -88 -87 -87 -89 -91 -93 -95 -96 -96 -95 -94 -93 -93 -95 -96 -94 -90 -87 -87 -88 -88 -86 -83 -79 -75 -71 -67 -66 -66 -66 -67 -68 -69 -70 -72 -71 -70 -69 -68 -67 -67 -66 -64 -64 -64 -66 -67 -68 -69 -69 -67 -67 -67 -69 -71 -74 -76 -78 -78 -79 -80 -83 -85 -86 -86 -85 -84 -83 -82 -83 -83 -84 -85 -87 -89 -92 -93 -43 -50 -53 -49 -46 -45 -47 -52 -55 -56 -59 -65 -74 -78 -78 -76 -74 -72 -70 -67 -62 -60 -66 -72 -75 -75 -74 -74 -70 -62 -54 -50 -51 -57 -65 -73 -80 -83 -83 -81 -80 -78 -76 -75 -72 -69 -66 -64 -55 -42 -31 -25 -26 -30 -33 -37 -42 -50 -55 -59 -62 -66 -64 -60 -57 -58 -61 -58 -52 -47 -45 -50 -57 -65 -69 -68 -66 -63 -62 -59 -54 -51 -53 -61 -68 -72 -75 -75 -71 -65 -61 -57 -50 -41 -36 -36 -39 -41 -39 -40 -44 -50 -47 -39 -32 -30 -37 -46 -53 -57 -60 -62 -62 -62 -61 -61 -60 -60 -59 -57 -58 -61 -64 -66 -65 -63 -59 -56 -56 -60 -65 -69 -72 -74 -76 -74 -68 -59 -53 -51 -52 -56 -60 -64 -70 -76 -81 -81 -72 -57 -42 -38 -45 -58 -69 -75 -75 -70 -64 -59 -58 -60 -63 -65 -66 -72 -77 -82 -85 -89 -92 -92 -87 -79 -67 -57 -52 -55 -69 -83 -91 -96 -102 -101 -96 -91 -89 -93 -100 -106 -108 -107 -105 -104 -102 -100 -107 -109 -109 -106 -99 -88 -86 -89 -93 -98 -102 -104 -104 -104 -104 -104 -103 -103 -103 -102 -102 -103 -104 -101 -100 -100 -101 -99 -96 -93 -89 -83 -80 -81 -82 -84 -87 -90 -90 -90 -92 -94 -97 -101 -109 -114 -115 -116 -118 -120 -121 -121 -122 -121 -120 -118 -116 -113 -110 -102 -95 -89 -85 -80 -78 -80 -86 -93 -95 -93 -89 -86 -82 -79 -78 -80 -83 -86 -87 -85 -82 -85 -87 -87 -85 -83 -81 -79 -76 -75 -76 -73 -71 -69 -70 -71 -70 -68 -64 -62 -61 -61 -62 -63 -62 -60 -58 -56 -55 -57 -59 -61 -63 -64 -65 -64 -64 -64 -65 -66 -67 -66 -65 -64 -62 -61 -62 -65 -69 -73 -76 -78 -79 -80 -81 -81 -82 -84 -85 -85 -85 -85 -86 -87 -89 -90 -92 -93 -92 -91 -89 -89 -90 -91 -89 -87 -86 -88 -88 -86 -82 -79 -75 -72 -68 -64 -62 -62 -62 -64 -68 -70 -71 -71 -70 -68 -67 -67 -67 -66 -64 -62 -62 -64 -66 -68 -69 -69 -68 -66 -65 -66 -67 -69 -71 -73 -75 -76 -77 -79 -81 -83 -85 -86 -85 -84 -82 -82 -81 -82 -83 -85 -86 -89 -92 -93 -37 -41 -43 -41 -39 -39 -42 -51 -58 -61 -64 -69 -77 -78 -76 -73 -72 -71 -69 -67 -62 -58 -62 -68 -73 -74 -72 -72 -70 -66 -59 -55 -56 -60 -68 -76 -82 -84 -83 -78 -76 -75 -76 -72 -66 -63 -63 -66 -60 -46 -31 -22 -23 -28 -34 -40 -48 -53 -55 -59 -63 -65 -58 -53 -51 -54 -57 -51 -43 -36 -37 -48 -58 -64 -64 -60 -57 -54 -51 -46 -42 -43 -49 -57 -62 -67 -70 -71 -70 -66 -61 -56 -51 -43 -36 -33 -36 -39 -38 -41 -46 -50 -46 -37 -31 -30 -38 -48 -54 -58 -61 -61 -61 -61 -62 -63 -63 -62 -61 -60 -61 -64 -67 -68 -67 -65 -63 -63 -64 -67 -71 -74 -77 -79 -77 -72 -64 -56 -56 -58 -61 -63 -65 -69 -74 -80 -83 -79 -68 -55 -43 -38 -45 -56 -68 -77 -76 -69 -63 -61 -61 -62 -63 -62 -61 -67 -74 -81 -86 -90 -92 -90 -84 -72 -61 -55 -53 -55 -67 -80 -89 -93 -97 -97 -92 -87 -86 -93 -100 -104 -106 -105 -102 -98 -96 -97 -102 -103 -101 -99 -94 -90 -89 -91 -92 -94 -97 -99 -99 -99 -98 -96 -94 -94 -94 -94 -94 -95 -97 -98 -100 -102 -101 -98 -93 -89 -84 -80 -79 -80 -82 -83 -87 -91 -92 -91 -93 -95 -98 -103 -110 -116 -118 -118 -118 -119 -119 -120 -120 -121 -119 -117 -114 -111 -106 -96 -89 -84 -81 -78 -78 -82 -88 -94 -93 -91 -88 -85 -80 -77 -78 -81 -84 -86 -86 -84 -83 -87 -88 -87 -84 -83 -81 -78 -75 -74 -74 -72 -70 -68 -69 -68 -67 -65 -62 -60 -60 -61 -62 -62 -61 -60 -58 -56 -55 -56 -58 -60 -61 -63 -63 -62 -62 -63 -63 -64 -65 -64 -63 -61 -60 -60 -61 -63 -66 -70 -72 -74 -75 -77 -78 -78 -79 -81 -82 -82 -83 -84 -84 -84 -85 -86 -87 -89 -89 -88 -86 -86 -86 -86 -85 -85 -87 -89 -88 -84 -79 -75 -72 -69 -66 -62 -61 -60 -60 -61 -65 -69 -70 -69 -67 -66 -66 -66 -67 -65 -63 -61 -62 -64 -66 -67 -68 -69 -66 -65 -65 -65 -66 -67 -68 -70 -72 -74 -75 -77 -79 -81 -83 -84 -85 -84 -82 -81 -80 -81 -82 -84 -86 -88 -91 -93 -31 -33 -36 -38 -38 -39 -42 -52 -60 -66 -69 -72 -77 -78 -75 -70 -67 -67 -68 -68 -66 -62 -63 -68 -72 -73 -70 -69 -68 -67 -63 -59 -57 -58 -63 -69 -74 -76 -75 -72 -70 -71 -73 -70 -63 -61 -63 -67 -65 -53 -39 -26 -22 -30 -39 -47 -54 -56 -57 -61 -66 -63 -53 -47 -47 -52 -53 -46 -39 -36 -43 -51 -56 -56 -51 -48 -48 -51 -52 -48 -43 -45 -52 -59 -62 -65 -68 -70 -69 -65 -63 -60 -55 -44 -36 -33 -34 -36 -37 -41 -46 -50 -45 -37 -31 -31 -40 -49 -55 -58 -58 -58 -59 -61 -64 -66 -66 -66 -65 -65 -66 -68 -70 -71 -70 -69 -68 -68 -69 -72 -75 -79 -81 -79 -71 -63 -57 -56 -59 -62 -64 -65 -66 -71 -77 -82 -82 -71 -60 -51 -44 -40 -46 -55 -65 -73 -71 -65 -61 -61 -62 -62 -60 -57 -54 -62 -73 -83 -90 -90 -87 -81 -73 -60 -53 -51 -53 -57 -68 -80 -89 -93 -94 -93 -89 -86 -86 -90 -96 -101 -105 -106 -100 -95 -94 -98 -102 -100 -95 -92 -92 -97 -101 -102 -101 -100 -100 -100 -100 -99 -97 -94 -90 -88 -88 -88 -88 -89 -91 -95 -98 -100 -99 -93 -86 -82 -80 -81 -80 -79 -80 -82 -87 -91 -92 -92 -94 -96 -100 -106 -113 -117 -119 -118 -117 -117 -116 -116 -117 -118 -117 -114 -112 -109 -101 -90 -84 -82 -80 -78 -79 -84 -91 -94 -92 -89 -86 -82 -76 -74 -77 -82 -86 -87 -86 -84 -86 -90 -90 -87 -83 -82 -80 -78 -74 -71 -72 -72 -70 -68 -66 -65 -63 -62 -60 -59 -59 -60 -61 -61 -61 -61 -60 -58 -57 -57 -58 -59 -58 -59 -60 -60 -60 -60 -61 -62 -62 -61 -60 -59 -58 -58 -59 -61 -63 -66 -68 -70 -72 -74 -74 -74 -76 -78 -79 -81 -82 -83 -82 -82 -82 -82 -83 -85 -85 -85 -84 -83 -82 -81 -81 -82 -85 -86 -84 -81 -76 -71 -68 -66 -64 -62 -60 -59 -59 -60 -63 -66 -68 -68 -65 -64 -64 -65 -66 -65 -63 -62 -62 -64 -65 -66 -67 -67 -66 -65 -65 -65 -65 -65 -66 -67 -70 -72 -73 -75 -77 -79 -81 -83 -84 -83 -82 -81 -80 -80 -81 -83 -85 -87 -90 -93 -25 -28 -32 -39 -42 -44 -46 -53 -62 -67 -70 -70 -73 -75 -73 -68 -63 -63 -67 -70 -69 -66 -66 -69 -72 -74 -70 -67 -65 -64 -66 -67 -69 -71 -73 -76 -78 -79 -77 -74 -73 -72 -70 -65 -61 -61 -63 -66 -63 -52 -38 -27 -24 -33 -43 -52 -57 -56 -58 -62 -66 -62 -50 -44 -44 -50 -50 -45 -41 -42 -47 -49 -48 -45 -42 -42 -45 -50 -55 -54 -52 -53 -57 -63 -67 -68 -69 -69 -67 -62 -60 -59 -56 -47 -38 -33 -32 -34 -35 -40 -46 -51 -48 -40 -34 -34 -43 -49 -53 -55 -54 -55 -58 -62 -66 -69 -70 -70 -69 -69 -69 -71 -72 -73 -73 -72 -71 -71 -73 -75 -79 -80 -78 -68 -60 -56 -57 -60 -62 -63 -64 -66 -70 -77 -83 -84 -77 -61 -50 -44 -44 -43 -46 -50 -57 -66 -65 -62 -59 -58 -60 -60 -57 -55 -57 -66 -77 -87 -92 -88 -80 -71 -62 -51 -48 -50 -57 -65 -76 -84 -89 -91 -92 -90 -88 -86 -86 -88 -92 -98 -103 -104 -99 -95 -93 -95 -97 -95 -92 -92 -96 -106 -112 -113 -112 -109 -105 -102 -102 -103 -102 -98 -93 -89 -87 -85 -85 -86 -89 -92 -95 -96 -93 -84 -78 -77 -79 -83 -82 -79 -78 -81 -86 -89 -91 -94 -97 -100 -105 -110 -115 -117 -117 -116 -115 -115 -114 -113 -112 -112 -112 -111 -109 -106 -94 -84 -79 -80 -81 -80 -82 -86 -92 -92 -90 -87 -84 -77 -73 -74 -79 -85 -89 -88 -86 -86 -89 -91 -90 -87 -82 -81 -80 -77 -73 -70 -70 -71 -71 -69 -66 -63 -62 -61 -60 -60 -59 -59 -59 -59 -61 -62 -62 -61 -59 -58 -59 -58 -57 -57 -58 -58 -57 -57 -57 -58 -58 -58 -57 -56 -56 -57 -58 -59 -60 -61 -63 -66 -69 -71 -71 -72 -73 -75 -77 -79 -81 -82 -81 -80 -79 -79 -80 -81 -82 -82 -82 -81 -79 -78 -78 -80 -82 -81 -79 -76 -72 -67 -65 -64 -63 -61 -59 -58 -57 -59 -61 -64 -65 -65 -64 -63 -63 -63 -64 -63 -62 -62 -63 -64 -64 -65 -66 -66 -65 -65 -65 -66 -65 -65 -65 -66 -68 -70 -72 -73 -75 -77 -79 -81 -82 -83 -82 -81 -80 -80 -80 -81 -83 -86 -89 -92 -20 -24 -31 -41 -48 -50 -51 -54 -61 -67 -68 -66 -65 -68 -68 -65 -61 -63 -67 -70 -68 -65 -66 -70 -75 -78 -74 -69 -66 -65 -69 -75 -81 -86 -87 -87 -87 -86 -83 -79 -74 -70 -65 -62 -62 -63 -64 -63 -59 -48 -35 -25 -24 -35 -45 -52 -56 -58 -60 -63 -64 -58 -47 -41 -42 -49 -52 -49 -48 -47 -47 -44 -42 -41 -40 -42 -46 -51 -56 -59 -60 -61 -63 -66 -69 -68 -67 -65 -63 -58 -55 -55 -57 -51 -41 -34 -31 -32 -35 -41 -48 -54 -53 -46 -40 -38 -44 -48 -51 -51 -51 -55 -59 -65 -69 -72 -72 -70 -70 -71 -72 -72 -73 -73 -74 -73 -74 -75 -77 -78 -77 -73 -66 -59 -57 -58 -61 -64 -65 -67 -70 -77 -85 -89 -87 -78 -62 -50 -46 -46 -47 -45 -47 -51 -57 -63 -62 -60 -59 -60 -63 -62 -60 -60 -67 -76 -83 -88 -91 -87 -79 -68 -58 -49 -49 -55 -66 -79 -86 -86 -86 -88 -91 -91 -89 -87 -86 -85 -88 -93 -99 -99 -96 -93 -92 -94 -95 -96 -96 -98 -102 -109 -114 -116 -118 -113 -107 -102 -100 -102 -103 -101 -97 -91 -86 -84 -84 -86 -89 -91 -93 -93 -85 -76 -73 -76 -80 -82 -81 -78 -76 -80 -84 -88 -91 -95 -100 -105 -109 -112 -115 -114 -113 -113 -114 -114 -113 -110 -108 -108 -108 -107 -104 -99 -87 -79 -77 -80 -83 -83 -85 -89 -93 -91 -89 -85 -80 -74 -73 -76 -82 -86 -88 -87 -86 -87 -90 -91 -89 -86 -82 -80 -78 -76 -73 -71 -70 -69 -70 -70 -66 -64 -63 -62 -61 -59 -57 -57 -56 -58 -60 -62 -63 -63 -61 -61 -60 -59 -57 -56 -56 -56 -55 -54 -54 -54 -54 -54 -53 -53 -54 -55 -55 -56 -56 -57 -60 -63 -66 -68 -68 -69 -71 -73 -75 -77 -78 -79 -79 -78 -78 -77 -78 -78 -79 -80 -80 -79 -78 -77 -77 -78 -79 -77 -74 -70 -65 -63 -62 -61 -61 -59 -57 -56 -56 -57 -60 -61 -62 -62 -62 -62 -61 -61 -61 -61 -62 -63 -63 -63 -64 -65 -65 -64 -64 -64 -65 -66 -66 -65 -64 -65 -66 -68 -71 -73 -73 -74 -76 -79 -81 -81 -81 -81 -80 -79 -79 -80 -82 -85 -88 -91 -17 -25 -37 -49 -54 -54 -53 -53 -60 -66 -66 -61 -57 -57 -58 -59 -63 -69 -70 -68 -63 -63 -70 -75 -79 -80 -80 -78 -76 -76 -78 -82 -85 -87 -86 -84 -84 -84 -82 -76 -70 -65 -62 -61 -64 -64 -61 -58 -55 -45 -34 -25 -25 -34 -42 -48 -52 -57 -61 -64 -63 -54 -44 -40 -42 -49 -56 -58 -57 -53 -46 -41 -40 -42 -45 -47 -50 -54 -58 -62 -65 -66 -66 -67 -66 -62 -58 -55 -54 -50 -50 -53 -58 -53 -42 -33 -29 -32 -38 -45 -53 -59 -59 -53 -47 -43 -45 -48 -49 -50 -53 -58 -63 -68 -72 -72 -69 -67 -68 -71 -73 -74 -75 -75 -76 -77 -77 -78 -77 -74 -68 -62 -57 -57 -61 -66 -69 -71 -73 -76 -81 -89 -96 -91 -79 -61 -46 -42 -42 -43 -44 -46 -48 -52 -56 -59 -58 -59 -63 -70 -76 -76 -75 -75 -79 -82 -85 -88 -90 -86 -74 -63 -56 -52 -54 -63 -75 -86 -84 -80 -80 -86 -92 -92 -91 -89 -87 -81 -81 -86 -92 -93 -91 -90 -90 -94 -99 -103 -105 -107 -109 -110 -111 -113 -115 -113 -109 -104 -100 -101 -101 -100 -97 -92 -89 -88 -88 -88 -89 -91 -93 -91 -80 -71 -72 -78 -82 -80 -79 -77 -76 -80 -84 -88 -92 -96 -101 -106 -110 -113 -115 -115 -115 -113 -112 -111 -110 -108 -106 -106 -105 -103 -100 -92 -82 -78 -77 -80 -83 -84 -87 -90 -92 -90 -87 -83 -79 -73 -73 -77 -83 -87 -87 -86 -86 -86 -87 -88 -87 -84 -81 -79 -76 -74 -73 -73 -70 -69 -69 -70 -68 -66 -64 -62 -60 -58 -57 -56 -56 -57 -58 -60 -62 -63 -64 -63 -62 -60 -57 -56 -55 -54 -53 -52 -51 -50 -50 -50 -50 -50 -50 -52 -53 -53 -54 -55 -57 -61 -64 -66 -67 -68 -69 -70 -72 -73 -75 -75 -76 -76 -76 -76 -76 -77 -78 -78 -78 -77 -77 -76 -76 -77 -76 -73 -69 -64 -61 -60 -59 -58 -58 -57 -55 -54 -55 -56 -58 -59 -59 -59 -60 -60 -60 -59 -60 -61 -62 -63 -63 -63 -63 -64 -64 -63 -63 -63 -63 -65 -66 -66 -66 -65 -66 -67 -69 -71 -71 -72 -74 -76 -79 -80 -80 -80 -80 -78 -78 -79 -81 -84 -87 -90 -19 -32 -47 -58 -63 -64 -62 -60 -64 -65 -62 -57 -51 -46 -46 -53 -64 -71 -71 -65 -59 -60 -71 -79 -83 -83 -83 -83 -83 -84 -85 -85 -83 -80 -77 -76 -76 -76 -74 -69 -64 -61 -61 -63 -63 -61 -57 -53 -51 -44 -35 -27 -26 -33 -40 -46 -49 -54 -61 -64 -62 -52 -42 -40 -44 -51 -59 -67 -68 -61 -49 -43 -43 -48 -54 -57 -59 -60 -62 -66 -68 -67 -64 -61 -58 -52 -46 -43 -43 -43 -48 -55 -60 -53 -41 -31 -29 -33 -42 -52 -60 -66 -66 -62 -56 -52 -52 -52 -52 -54 -59 -64 -68 -71 -71 -66 -63 -63 -66 -70 -73 -75 -77 -79 -79 -79 -78 -75 -70 -64 -58 -55 -58 -65 -71 -76 -79 -81 -84 -88 -93 -99 -99 -86 -66 -46 -39 -43 -45 -45 -45 -48 -51 -55 -58 -58 -58 -62 -68 -77 -84 -88 -88 -89 -90 -90 -90 -90 -91 -83 -69 -57 -53 -55 -60 -68 -76 -75 -68 -69 -76 -88 -93 -92 -91 -88 -82 -75 -75 -81 -88 -89 -87 -87 -91 -98 -106 -111 -113 -115 -112 -111 -110 -109 -109 -110 -110 -108 -103 -99 -96 -95 -94 -94 -92 -90 -89 -90 -91 -92 -92 -88 -77 -70 -73 -79 -83 -80 -78 -76 -77 -81 -86 -92 -96 -100 -103 -106 -109 -111 -113 -115 -115 -114 -112 -109 -108 -108 -106 -104 -103 -100 -96 -87 -78 -75 -77 -79 -82 -84 -87 -91 -92 -89 -86 -82 -77 -73 -74 -78 -84 -86 -85 -85 -86 -87 -88 -89 -87 -83 -79 -77 -75 -73 -73 -73 -71 -68 -68 -70 -69 -67 -64 -61 -59 -57 -56 -56 -56 -57 -58 -59 -61 -63 -64 -64 -63 -60 -58 -56 -55 -53 -51 -50 -49 -47 -46 -46 -46 -46 -47 -48 -50 -51 -52 -53 -56 -59 -62 -64 -66 -66 -67 -68 -69 -71 -72 -74 -74 -74 -74 -74 -75 -76 -77 -77 -76 -76 -76 -76 -76 -75 -73 -70 -65 -61 -58 -57 -56 -55 -55 -55 -54 -54 -55 -56 -56 -56 -56 -57 -57 -58 -58 -57 -58 -59 -60 -61 -62 -62 -63 -63 -62 -62 -62 -62 -62 -63 -65 -66 -66 -66 -66 -66 -68 -69 -69 -69 -71 -74 -77 -79 -79 -79 -79 -78 -78 -79 -81 -83 -86 -88 -25 -40 -54 -61 -64 -64 -63 -61 -65 -64 -59 -53 -49 -41 -40 -46 -58 -67 -69 -64 -57 -56 -66 -75 -80 -80 -81 -81 -83 -84 -83 -81 -77 -73 -69 -70 -71 -69 -67 -63 -60 -60 -62 -63 -60 -55 -51 -48 -48 -42 -33 -27 -28 -38 -46 -51 -54 -57 -62 -63 -59 -49 -44 -45 -49 -54 -61 -68 -72 -69 -60 -54 -56 -62 -69 -72 -72 -70 -68 -69 -68 -62 -55 -48 -44 -40 -37 -36 -38 -43 -52 -59 -61 -51 -38 -29 -29 -36 -47 -57 -65 -70 -71 -70 -68 -65 -63 -60 -59 -62 -67 -71 -71 -69 -64 -59 -59 -63 -67 -70 -72 -74 -77 -79 -79 -76 -72 -67 -61 -58 -57 -59 -66 -75 -82 -86 -89 -91 -94 -97 -100 -101 -94 -76 -56 -39 -40 -47 -49 -49 -49 -51 -55 -59 -61 -60 -60 -62 -68 -76 -84 -90 -94 -96 -95 -93 -91 -90 -89 -82 -67 -55 -52 -55 -59 -65 -67 -64 -62 -67 -78 -89 -92 -91 -89 -85 -76 -70 -73 -80 -89 -88 -86 -88 -95 -104 -111 -115 -117 -118 -115 -112 -110 -107 -105 -107 -109 -109 -103 -94 -91 -91 -93 -95 -95 -94 -92 -92 -92 -92 -90 -82 -72 -70 -74 -82 -85 -83 -80 -78 -79 -84 -90 -96 -102 -105 -106 -107 -107 -107 -108 -109 -109 -108 -106 -106 -106 -105 -104 -102 -101 -98 -93 -83 -75 -72 -73 -78 -81 -84 -87 -90 -92 -89 -86 -81 -76 -74 -76 -80 -84 -86 -85 -85 -86 -89 -89 -89 -87 -83 -78 -75 -73 -72 -72 -71 -70 -68 -67 -69 -68 -67 -64 -61 -59 -57 -57 -57 -57 -58 -58 -60 -61 -63 -64 -64 -62 -59 -58 -56 -54 -52 -50 -49 -47 -45 -43 -43 -43 -43 -44 -45 -47 -49 -51 -53 -56 -59 -61 -63 -65 -65 -66 -66 -68 -69 -71 -72 -72 -72 -72 -73 -74 -75 -76 -76 -75 -74 -75 -75 -75 -73 -71 -67 -62 -58 -56 -54 -53 -53 -53 -54 -54 -53 -54 -54 -54 -54 -54 -55 -55 -55 -55 -56 -56 -57 -59 -60 -61 -62 -62 -61 -61 -61 -61 -61 -61 -62 -63 -64 -64 -64 -65 -66 -66 -66 -66 -67 -69 -72 -75 -77 -77 -78 -78 -78 -78 -79 -81 -83 -85 -88 -28 -41 -52 -56 -58 -60 -60 -60 -65 -63 -58 -51 -48 -44 -40 -41 -48 -60 -66 -65 -58 -53 -60 -68 -73 -74 -74 -76 -78 -79 -77 -74 -69 -66 -65 -67 -69 -69 -65 -60 -59 -61 -63 -62 -56 -49 -43 -41 -43 -38 -31 -27 -31 -44 -54 -60 -63 -65 -66 -62 -55 -48 -49 -52 -55 -58 -63 -69 -72 -73 -72 -73 -75 -78 -78 -75 -73 -73 -73 -72 -66 -57 -45 -32 -29 -31 -33 -34 -37 -46 -56 -61 -59 -48 -37 -30 -31 -41 -51 -60 -66 -70 -72 -72 -72 -73 -73 -72 -71 -73 -76 -74 -67 -59 -52 -54 -59 -64 -66 -66 -69 -73 -75 -74 -69 -65 -61 -59 -59 -62 -66 -71 -76 -83 -89 -93 -95 -96 -97 -96 -94 -90 -80 -64 -49 -39 -41 -47 -51 -52 -51 -53 -57 -61 -64 -63 -61 -61 -65 -74 -81 -86 -90 -93 -89 -83 -81 -82 -87 -84 -72 -60 -54 -54 -57 -60 -61 -60 -61 -68 -78 -88 -90 -91 -90 -86 -78 -74 -78 -86 -94 -91 -89 -93 -102 -110 -114 -115 -117 -120 -117 -113 -108 -106 -103 -103 -104 -104 -100 -92 -90 -93 -97 -98 -95 -93 -91 -91 -92 -90 -85 -76 -69 -70 -75 -82 -87 -86 -82 -80 -83 -90 -96 -101 -106 -109 -109 -108 -106 -104 -102 -102 -102 -101 -101 -103 -104 -103 -102 -101 -99 -95 -89 -81 -73 -68 -69 -76 -80 -83 -85 -89 -91 -90 -86 -82 -78 -77 -78 -81 -85 -87 -86 -86 -87 -89 -90 -89 -87 -83 -79 -75 -72 -70 -69 -69 -68 -68 -68 -68 -67 -65 -64 -62 -61 -59 -58 -58 -57 -58 -58 -60 -61 -62 -63 -63 -61 -59 -57 -55 -52 -50 -49 -47 -45 -43 -41 -41 -41 -42 -43 -44 -46 -49 -51 -53 -55 -58 -60 -62 -64 -65 -65 -66 -67 -68 -69 -70 -70 -70 -70 -72 -74 -75 -76 -75 -74 -73 -73 -73 -72 -71 -68 -65 -61 -56 -53 -52 -52 -51 -52 -52 -52 -52 -52 -52 -53 -52 -52 -52 -52 -53 -53 -54 -55 -56 -58 -59 -60 -60 -60 -60 -60 -60 -60 -60 -60 -60 -61 -62 -62 -63 -64 -65 -65 -65 -65 -65 -66 -68 -72 -75 -76 -77 -77 -78 -79 -79 -80 -82 -84 -87 -27 -36 -44 -47 -51 -55 -57 -59 -63 -64 -60 -55 -51 -53 -49 -44 -42 -52 -62 -65 -60 -53 -56 -62 -68 -71 -70 -72 -74 -76 -75 -69 -63 -60 -60 -67 -72 -73 -70 -63 -59 -59 -60 -58 -52 -42 -33 -29 -35 -33 -28 -26 -33 -45 -53 -59 -64 -66 -64 -60 -55 -49 -50 -56 -62 -68 -70 -73 -76 -77 -78 -78 -77 -75 -73 -70 -71 -72 -73 -72 -68 -59 -45 -26 -22 -26 -30 -33 -39 -50 -60 -63 -57 -44 -35 -31 -34 -43 -52 -59 -64 -67 -70 -72 -73 -75 -76 -77 -77 -76 -70 -59 -49 -45 -48 -56 -61 -64 -65 -66 -69 -70 -68 -64 -60 -60 -61 -64 -69 -74 -79 -84 -88 -91 -94 -96 -96 -95 -92 -86 -78 -69 -59 -50 -44 -42 -45 -47 -49 -51 -50 -50 -54 -59 -65 -65 -62 -62 -68 -78 -82 -85 -86 -87 -81 -74 -72 -77 -85 -86 -79 -69 -61 -59 -58 -58 -59 -59 -61 -67 -76 -85 -90 -93 -94 -90 -83 -79 -83 -93 -104 -102 -97 -97 -103 -111 -115 -116 -116 -120 -119 -112 -106 -103 -99 -97 -98 -99 -97 -94 -95 -98 -99 -97 -92 -89 -89 -90 -91 -88 -82 -72 -67 -69 -75 -83 -87 -87 -84 -84 -88 -95 -101 -106 -109 -111 -111 -109 -106 -102 -101 -100 -100 -99 -100 -103 -104 -103 -102 -101 -98 -93 -86 -79 -71 -66 -67 -73 -77 -80 -84 -89 -91 -88 -85 -83 -83 -80 -80 -82 -86 -89 -88 -87 -88 -90 -90 -89 -86 -84 -81 -77 -73 -70 -68 -67 -67 -68 -68 -66 -65 -65 -65 -65 -63 -61 -59 -58 -57 -57 -58 -58 -58 -59 -60 -61 -59 -56 -54 -52 -50 -48 -47 -46 -44 -42 -41 -40 -41 -41 -43 -44 -46 -48 -50 -52 -54 -56 -58 -60 -63 -64 -65 -65 -66 -67 -68 -68 -67 -67 -69 -71 -73 -75 -75 -74 -73 -72 -72 -71 -70 -68 -65 -62 -59 -54 -51 -50 -51 -50 -50 -50 -51 -51 -51 -51 -50 -50 -50 -50 -51 -52 -52 -53 -54 -56 -57 -58 -58 -59 -59 -59 -60 -60 -60 -59 -59 -59 -60 -61 -62 -62 -63 -63 -64 -63 -63 -63 -64 -66 -69 -71 -74 -76 -76 -77 -78 -78 -79 -81 -83 -86 -26 -31 -35 -40 -45 -51 -55 -57 -60 -64 -66 -65 -60 -64 -64 -58 -47 -47 -55 -60 -59 -53 -54 -60 -67 -74 -74 -72 -73 -77 -80 -75 -65 -57 -55 -61 -67 -70 -70 -68 -68 -65 -60 -53 -48 -40 -31 -26 -29 -30 -27 -26 -31 -40 -49 -58 -64 -62 -60 -60 -60 -59 -59 -61 -65 -70 -72 -75 -77 -78 -77 -74 -72 -70 -69 -71 -72 -73 -73 -72 -69 -60 -45 -26 -20 -23 -29 -37 -47 -58 -64 -63 -53 -38 -30 -30 -35 -43 -51 -57 -61 -64 -67 -69 -71 -73 -75 -75 -72 -63 -50 -42 -42 -46 -54 -61 -65 -67 -68 -69 -69 -66 -62 -58 -60 -65 -71 -75 -79 -82 -86 -89 -92 -95 -97 -97 -96 -90 -80 -70 -61 -55 -51 -50 -50 -50 -48 -46 -46 -48 -49 -50 -54 -58 -62 -64 -65 -70 -79 -88 -89 -90 -90 -88 -82 -77 -76 -79 -83 -85 -82 -76 -68 -64 -60 -58 -57 -59 -63 -68 -76 -85 -92 -95 -96 -92 -84 -80 -86 -97 -108 -108 -105 -103 -105 -111 -114 -116 -118 -120 -119 -115 -110 -106 -102 -99 -97 -98 -99 -98 -98 -97 -96 -92 -90 -90 -92 -92 -90 -85 -78 -70 -67 -69 -75 -81 -85 -85 -85 -86 -91 -98 -103 -107 -109 -112 -112 -111 -109 -107 -106 -104 -102 -101 -103 -105 -105 -104 -104 -102 -97 -90 -82 -76 -69 -65 -65 -71 -75 -79 -84 -89 -91 -88 -85 -82 -82 -81 -82 -85 -87 -89 -89 -88 -88 -91 -91 -89 -86 -84 -82 -78 -74 -70 -68 -68 -68 -68 -68 -68 -68 -67 -67 -66 -65 -63 -61 -59 -57 -56 -56 -55 -54 -55 -56 -57 -55 -53 -50 -48 -47 -45 -45 -44 -43 -42 -42 -41 -42 -42 -43 -45 -46 -48 -49 -50 -52 -54 -56 -58 -60 -62 -63 -64 -65 -65 -66 -65 -65 -65 -68 -70 -73 -74 -74 -73 -72 -71 -70 -69 -68 -65 -63 -60 -57 -54 -52 -51 -50 -48 -48 -49 -50 -51 -50 -49 -48 -48 -49 -50 -51 -51 -52 -53 -54 -55 -56 -55 -56 -56 -57 -58 -59 -60 -60 -59 -58 -59 -60 -62 -62 -61 -61 -62 -62 -61 -61 -62 -63 -64 -66 -69 -71 -74 -75 -77 -78 -78 -78 -80 -82 -85 -27 -28 -30 -34 -41 -48 -53 -56 -57 -63 -71 -77 -75 -73 -77 -73 -61 -51 -53 -56 -56 -52 -52 -58 -67 -75 -80 -79 -79 -81 -84 -84 -78 -69 -60 -60 -64 -68 -70 -70 -72 -70 -63 -54 -47 -39 -29 -23 -25 -27 -28 -29 -33 -40 -48 -55 -60 -58 -56 -58 -61 -65 -68 -71 -73 -75 -76 -79 -78 -75 -70 -67 -66 -66 -69 -72 -72 -71 -71 -72 -69 -59 -44 -27 -20 -23 -31 -42 -55 -63 -64 -58 -46 -33 -28 -30 -36 -44 -51 -56 -60 -62 -64 -65 -66 -69 -70 -66 -55 -43 -34 -38 -46 -54 -61 -66 -69 -70 -69 -68 -68 -64 -61 -59 -66 -73 -79 -83 -86 -88 -89 -91 -94 -96 -95 -92 -85 -74 -64 -58 -56 -54 -49 -49 -52 -56 -56 -53 -48 -45 -46 -49 -54 -59 -66 -71 -78 -86 -94 -98 -98 -96 -94 -93 -91 -86 -81 -77 -74 -77 -80 -79 -72 -67 -62 -59 -58 -61 -67 -74 -81 -91 -97 -98 -97 -93 -85 -82 -87 -98 -108 -112 -111 -109 -111 -113 -113 -114 -116 -119 -120 -118 -115 -112 -110 -107 -105 -103 -100 -97 -94 -92 -92 -94 -95 -96 -96 -93 -87 -80 -73 -69 -67 -69 -74 -78 -82 -84 -86 -89 -97 -103 -107 -110 -112 -113 -112 -111 -109 -108 -108 -106 -105 -104 -105 -106 -106 -105 -105 -102 -95 -86 -79 -74 -69 -65 -64 -69 -73 -78 -83 -88 -88 -87 -84 -82 -81 -82 -83 -85 -87 -90 -90 -89 -88 -90 -90 -89 -87 -85 -83 -79 -73 -69 -68 -69 -70 -70 -71 -71 -70 -69 -68 -67 -66 -65 -63 -61 -59 -57 -54 -52 -51 -51 -53 -54 -52 -50 -47 -45 -45 -45 -44 -43 -43 -43 -43 -43 -43 -43 -44 -45 -46 -46 -47 -48 -50 -52 -54 -56 -57 -59 -60 -61 -62 -63 -62 -62 -62 -64 -66 -69 -72 -73 -73 -72 -72 -71 -69 -68 -66 -64 -61 -58 -55 -53 -51 -50 -49 -47 -46 -47 -49 -50 -50 -49 -48 -48 -50 -51 -51 -50 -51 -53 -54 -55 -54 -53 -53 -54 -55 -57 -58 -59 -58 -58 -58 -59 -60 -61 -62 -61 -60 -60 -60 -60 -60 -61 -62 -63 -65 -67 -69 -71 -72 -74 -77 -78 -78 -79 -81 -85 -27 -26 -28 -33 -40 -46 -50 -52 -55 -61 -73 -84 -86 -81 -86 -85 -75 -59 -52 -53 -55 -52 -48 -53 -62 -73 -82 -87 -87 -87 -86 -87 -88 -85 -77 -69 -68 -70 -73 -76 -77 -74 -68 -60 -54 -45 -34 -27 -27 -29 -31 -36 -43 -46 -48 -52 -56 -58 -58 -59 -61 -66 -72 -78 -81 -83 -83 -82 -77 -70 -62 -61 -61 -64 -68 -70 -68 -68 -69 -72 -69 -61 -49 -33 -24 -25 -33 -46 -58 -62 -58 -51 -41 -31 -29 -32 -41 -49 -54 -58 -59 -60 -60 -60 -61 -63 -60 -49 -36 -28 -32 -45 -55 -63 -67 -70 -70 -69 -68 -68 -68 -66 -64 -65 -72 -79 -83 -85 -87 -88 -90 -92 -93 -93 -89 -81 -69 -58 -56 -57 -58 -55 -48 -46 -48 -53 -54 -54 -51 -47 -43 -44 -51 -61 -74 -85 -94 -101 -103 -98 -91 -87 -85 -86 -84 -77 -67 -58 -58 -70 -80 -82 -74 -68 -65 -63 -62 -67 -74 -81 -88 -99 -103 -101 -98 -95 -90 -88 -92 -100 -109 -113 -114 -113 -114 -116 -114 -112 -112 -114 -116 -117 -117 -115 -115 -114 -113 -111 -107 -101 -97 -97 -101 -103 -102 -100 -95 -89 -80 -73 -70 -67 -67 -69 -72 -76 -82 -85 -88 -93 -101 -107 -111 -114 -116 -116 -115 -114 -111 -109 -106 -102 -100 -101 -103 -105 -105 -104 -103 -98 -89 -80 -76 -74 -70 -65 -64 -68 -73 -77 -82 -85 -85 -84 -82 -80 -82 -82 -82 -84 -88 -91 -91 -89 -88 -90 -91 -90 -89 -87 -84 -78 -72 -68 -67 -69 -71 -72 -73 -72 -71 -69 -68 -68 -67 -67 -65 -64 -62 -59 -54 -52 -51 -50 -51 -51 -49 -47 -46 -45 -45 -45 -45 -44 -43 -43 -43 -43 -44 -43 -44 -44 -44 -44 -45 -46 -49 -51 -53 -53 -54 -55 -57 -58 -59 -60 -60 -61 -62 -63 -65 -68 -69 -71 -71 -71 -71 -70 -68 -66 -64 -62 -60 -56 -53 -51 -49 -48 -47 -46 -46 -47 -49 -51 -51 -50 -49 -49 -51 -52 -53 -51 -51 -52 -52 -52 -51 -51 -51 -52 -54 -56 -57 -58 -57 -57 -58 -59 -60 -60 -60 -58 -57 -58 -59 -60 -60 -61 -62 -63 -64 -66 -67 -68 -69 -72 -75 -76 -77 -78 -81 -83 -23 -22 -24 -28 -34 -40 -47 -54 -60 -65 -76 -87 -93 -90 -91 -91 -85 -71 -58 -54 -55 -53 -48 -48 -55 -65 -76 -83 -86 -87 -87 -88 -91 -93 -90 -81 -75 -73 -76 -81 -83 -78 -72 -68 -68 -61 -52 -44 -42 -38 -38 -43 -53 -52 -48 -48 -54 -62 -65 -66 -67 -69 -75 -80 -84 -87 -87 -82 -73 -64 -59 -58 -60 -62 -65 -65 -65 -67 -68 -70 -69 -65 -56 -43 -29 -27 -34 -46 -57 -55 -50 -43 -37 -31 -32 -38 -48 -56 -59 -60 -59 -57 -55 -55 -56 -55 -46 -33 -25 -28 -41 -54 -62 -68 -70 -69 -68 -67 -68 -71 -72 -71 -69 -71 -77 -81 -83 -84 -84 -87 -89 -91 -92 -88 -79 -66 -54 -53 -60 -65 -65 -57 -50 -48 -48 -49 -50 -51 -51 -49 -46 -46 -53 -65 -80 -92 -98 -99 -94 -83 -75 -72 -73 -75 -69 -60 -53 -53 -64 -77 -85 -85 -79 -73 -70 -69 -71 -75 -79 -83 -91 -103 -106 -104 -100 -99 -97 -98 -100 -105 -108 -111 -113 -113 -115 -117 -115 -112 -110 -110 -113 -115 -117 -117 -117 -118 -118 -118 -115 -111 -109 -108 -108 -106 -101 -94 -88 -83 -76 -71 -68 -65 -66 -68 -72 -76 -83 -88 -91 -95 -102 -107 -111 -114 -116 -117 -116 -114 -110 -106 -101 -97 -95 -99 -101 -102 -102 -101 -97 -90 -82 -76 -74 -72 -69 -66 -67 -71 -73 -76 -79 -80 -81 -81 -81 -78 -80 -82 -84 -85 -89 -91 -90 -89 -88 -91 -93 -93 -91 -88 -83 -77 -73 -70 -68 -69 -71 -72 -74 -73 -71 -69 -68 -69 -69 -69 -68 -67 -65 -61 -58 -55 -53 -52 -51 -49 -47 -46 -45 -46 -47 -47 -45 -44 -42 -42 -42 -43 -43 -43 -43 -43 -42 -43 -44 -46 -48 -50 -51 -51 -51 -52 -53 -55 -57 -58 -59 -60 -62 -64 -65 -67 -68 -69 -70 -70 -70 -69 -67 -65 -64 -62 -59 -55 -52 -50 -49 -47 -48 -48 -48 -48 -49 -50 -50 -51 -51 -51 -52 -53 -53 -52 -52 -52 -51 -50 -49 -49 -50 -51 -54 -56 -57 -56 -56 -56 -57 -58 -60 -59 -56 -53 -52 -56 -58 -59 -59 -60 -61 -62 -63 -64 -65 -66 -67 -69 -73 -75 -77 -78 -80 -83 -20 -20 -21 -22 -26 -35 -45 -56 -64 -73 -84 -93 -99 -100 -99 -97 -93 -83 -68 -60 -57 -56 -52 -48 -50 -59 -69 -74 -78 -82 -85 -86 -89 -91 -91 -82 -74 -71 -76 -84 -86 -81 -76 -75 -82 -81 -76 -70 -65 -54 -49 -51 -59 -57 -49 -46 -50 -61 -69 -75 -79 -81 -82 -82 -82 -82 -82 -76 -69 -63 -59 -58 -58 -59 -60 -63 -66 -67 -66 -66 -66 -61 -51 -36 -25 -27 -37 -47 -53 -47 -41 -36 -34 -32 -35 -44 -54 -59 -59 -58 -55 -51 -50 -51 -51 -47 -35 -25 -25 -34 -49 -59 -64 -66 -65 -63 -65 -68 -71 -74 -77 -77 -77 -77 -80 -81 -82 -82 -83 -86 -89 -90 -90 -81 -67 -54 -48 -58 -71 -76 -72 -59 -54 -54 -55 -52 -49 -49 -49 -49 -48 -48 -56 -69 -83 -91 -90 -85 -75 -65 -60 -60 -64 -69 -65 -59 -56 -60 -75 -84 -89 -89 -87 -81 -78 -76 -77 -78 -79 -83 -92 -104 -107 -107 -106 -105 -105 -106 -107 -107 -107 -107 -109 -112 -115 -115 -114 -112 -111 -112 -114 -117 -118 -120 -121 -121 -121 -121 -119 -117 -114 -111 -108 -102 -93 -85 -81 -80 -77 -73 -70 -66 -66 -68 -72 -77 -85 -91 -95 -97 -101 -104 -107 -109 -111 -113 -111 -108 -104 -101 -97 -95 -96 -99 -99 -98 -96 -94 -89 -84 -80 -77 -75 -73 -72 -73 -77 -76 -75 -75 -76 -76 -78 -79 -80 -76 -78 -82 -85 -86 -88 -90 -90 -88 -87 -91 -94 -94 -91 -87 -82 -77 -74 -71 -70 -70 -71 -73 -74 -73 -71 -69 -69 -70 -70 -71 -71 -69 -67 -64 -62 -59 -56 -53 -50 -48 -46 -46 -47 -48 -48 -47 -45 -42 -41 -40 -41 -42 -43 -44 -43 -43 -42 -43 -44 -46 -47 -48 -49 -50 -50 -50 -52 -53 -55 -56 -58 -60 -62 -64 -65 -66 -67 -68 -69 -69 -69 -68 -66 -65 -63 -61 -58 -55 -52 -50 -48 -47 -48 -50 -50 -49 -48 -48 -48 -50 -52 -52 -52 -52 -53 -52 -52 -51 -51 -49 -48 -48 -48 -50 -53 -55 -55 -54 -54 -56 -57 -58 -60 -58 -52 -46 -45 -51 -55 -57 -58 -59 -60 -61 -62 -62 -63 -64 -65 -67 -72 -74 -74 -75 -78 -82 -20 -19 -18 -19 -23 -32 -44 -56 -66 -75 -87 -96 -102 -107 -108 -106 -102 -95 -82 -69 -61 -60 -57 -50 -49 -56 -66 -70 -72 -75 -79 -81 -82 -83 -81 -72 -65 -66 -74 -84 -85 -81 -76 -76 -85 -91 -91 -86 -82 -73 -67 -65 -65 -58 -49 -44 -43 -48 -61 -73 -83 -88 -85 -83 -82 -83 -79 -72 -66 -61 -59 -57 -57 -59 -62 -66 -67 -66 -62 -59 -56 -51 -41 -28 -21 -26 -36 -45 -48 -41 -35 -31 -31 -32 -37 -43 -49 -50 -49 -48 -48 -48 -50 -51 -50 -45 -32 -25 -28 -40 -52 -60 -62 -60 -57 -59 -65 -71 -75 -78 -80 -81 -81 -79 -79 -80 -82 -84 -85 -87 -88 -89 -87 -74 -59 -50 -54 -70 -81 -83 -76 -63 -60 -62 -63 -60 -52 -49 -48 -47 -47 -49 -58 -70 -81 -83 -77 -69 -61 -55 -54 -56 -62 -69 -71 -71 -73 -80 -88 -90 -89 -88 -86 -81 -77 -77 -78 -78 -80 -85 -94 -103 -107 -108 -106 -106 -109 -111 -112 -110 -106 -105 -106 -109 -113 -113 -113 -112 -113 -116 -119 -121 -121 -123 -123 -122 -120 -119 -116 -113 -108 -102 -97 -90 -82 -76 -78 -82 -80 -75 -70 -67 -67 -70 -75 -81 -90 -97 -102 -105 -107 -107 -106 -105 -106 -105 -103 -100 -99 -97 -95 -96 -99 -99 -97 -94 -90 -86 -83 -81 -82 -84 -85 -85 -85 -85 -83 -79 -76 -73 -73 -73 -75 -77 -79 -77 -77 -80 -84 -86 -87 -89 -89 -88 -87 -90 -93 -94 -91 -87 -82 -78 -75 -73 -71 -71 -72 -73 -73 -72 -71 -70 -70 -70 -70 -71 -72 -70 -68 -66 -65 -62 -59 -55 -51 -48 -47 -48 -49 -51 -50 -47 -43 -40 -39 -39 -40 -42 -43 -44 -45 -44 -44 -45 -46 -46 -47 -48 -50 -50 -51 -51 -52 -53 -54 -55 -57 -59 -62 -64 -65 -66 -67 -67 -68 -68 -67 -66 -65 -64 -62 -60 -58 -55 -52 -49 -47 -46 -48 -49 -50 -49 -47 -47 -47 -49 -52 -52 -52 -51 -52 -52 -51 -51 -50 -49 -48 -48 -48 -49 -51 -52 -53 -53 -53 -54 -56 -58 -59 -57 -50 -43 -40 -48 -53 -56 -57 -59 -60 -60 -61 -60 -61 -61 -62 -65 -70 -71 -72 -73 -76 -80 -21 -18 -17 -19 -24 -32 -44 -57 -67 -74 -85 -95 -101 -106 -112 -114 -111 -106 -94 -78 -66 -63 -61 -51 -48 -54 -66 -70 -71 -70 -71 -72 -73 -72 -69 -62 -60 -65 -73 -81 -82 -79 -74 -71 -75 -86 -90 -88 -86 -82 -79 -77 -76 -67 -56 -49 -46 -46 -52 -61 -70 -77 -78 -78 -78 -76 -71 -65 -62 -59 -59 -58 -59 -61 -64 -66 -64 -58 -52 -50 -45 -40 -33 -25 -22 -28 -37 -42 -40 -33 -29 -29 -30 -32 -35 -38 -40 -41 -42 -45 -49 -54 -56 -57 -55 -51 -38 -30 -32 -41 -53 -56 -54 -52 -55 -63 -70 -75 -78 -79 -80 -81 -82 -81 -80 -81 -83 -85 -86 -87 -88 -88 -83 -68 -55 -53 -66 -81 -85 -81 -71 -64 -63 -65 -67 -66 -57 -52 -48 -47 -47 -50 -58 -67 -72 -72 -67 -61 -56 -55 -57 -62 -68 -76 -82 -87 -92 -96 -95 -87 -81 -79 -79 -78 -78 -80 -84 -84 -85 -87 -94 -103 -107 -106 -104 -104 -108 -111 -112 -110 -108 -108 -108 -109 -112 -114 -115 -115 -116 -121 -122 -122 -121 -120 -119 -116 -113 -109 -106 -101 -94 -87 -85 -79 -73 -71 -79 -82 -80 -75 -71 -69 -70 -74 -81 -88 -96 -102 -107 -112 -114 -112 -109 -107 -104 -100 -97 -97 -98 -97 -96 -97 -100 -100 -97 -91 -85 -80 -78 -80 -84 -88 -90 -90 -89 -88 -86 -82 -77 -74 -71 -71 -74 -77 -79 -77 -76 -78 -82 -85 -86 -87 -89 -89 -88 -90 -92 -93 -90 -85 -81 -78 -76 -75 -74 -73 -71 -72 -73 -74 -73 -71 -69 -69 -70 -71 -71 -70 -69 -68 -67 -64 -61 -57 -53 -51 -50 -52 -53 -53 -51 -47 -42 -39 -39 -39 -41 -43 -44 -46 -47 -48 -48 -49 -49 -49 -50 -51 -52 -53 -54 -55 -55 -55 -55 -56 -58 -60 -61 -63 -65 -66 -67 -67 -67 -66 -65 -64 -64 -62 -61 -59 -57 -54 -51 -48 -46 -46 -45 -46 -47 -48 -47 -46 -47 -48 -50 -52 -51 -50 -51 -51 -51 -50 -50 -49 -49 -48 -48 -48 -50 -51 -52 -52 -53 -54 -55 -58 -59 -57 -51 -44 -41 -45 -50 -54 -57 -59 -60 -60 -60 -59 -59 -59 -60 -63 -66 -69 -70 -71 -74 -78 -20 -18 -19 -22 -27 -34 -45 -59 -70 -74 -83 -91 -96 -98 -107 -115 -117 -112 -103 -88 -74 -66 -63 -53 -48 -52 -63 -70 -70 -65 -60 -62 -62 -60 -59 -61 -64 -66 -69 -77 -83 -84 -81 -75 -70 -76 -82 -84 -81 -78 -76 -76 -79 -79 -71 -63 -58 -55 -52 -54 -59 -65 -70 -72 -71 -68 -64 -61 -59 -57 -57 -58 -62 -66 -68 -67 -61 -53 -45 -39 -33 -29 -26 -24 -24 -29 -34 -36 -33 -28 -27 -28 -32 -36 -39 -40 -40 -40 -43 -48 -54 -59 -62 -63 -62 -58 -50 -41 -38 -40 -45 -46 -47 -52 -60 -69 -74 -77 -78 -77 -79 -81 -83 -85 -83 -83 -84 -86 -88 -88 -88 -86 -79 -65 -59 -62 -75 -84 -79 -69 -58 -58 -63 -66 -67 -67 -59 -54 -51 -50 -48 -49 -52 -56 -62 -66 -65 -61 -56 -58 -65 -74 -81 -87 -92 -96 -98 -96 -87 -76 -70 -71 -72 -74 -80 -87 -93 -90 -87 -87 -94 -103 -105 -104 -103 -103 -105 -107 -108 -108 -108 -109 -112 -115 -118 -118 -118 -117 -118 -118 -116 -113 -111 -109 -105 -101 -97 -93 -92 -86 -80 -77 -78 -72 -68 -70 -79 -81 -77 -72 -70 -71 -75 -81 -87 -93 -99 -105 -109 -114 -116 -116 -114 -110 -107 -103 -100 -100 -99 -97 -97 -98 -100 -100 -97 -91 -82 -74 -74 -78 -84 -88 -89 -89 -88 -87 -87 -83 -79 -75 -72 -72 -73 -76 -79 -78 -77 -78 -80 -82 -83 -85 -88 -90 -90 -90 -91 -91 -88 -84 -80 -78 -77 -77 -76 -75 -72 -72 -73 -72 -70 -68 -67 -67 -69 -71 -71 -71 -69 -69 -67 -65 -62 -59 -57 -56 -56 -56 -56 -55 -52 -47 -43 -41 -41 -43 -44 -46 -47 -48 -50 -52 -53 -53 -53 -53 -54 -55 -56 -57 -59 -59 -59 -58 -57 -58 -59 -60 -61 -63 -65 -66 -67 -67 -66 -64 -63 -62 -61 -60 -59 -58 -56 -53 -50 -46 -44 -43 -42 -42 -43 -45 -46 -46 -46 -47 -48 -50 -50 -50 -50 -50 -49 -49 -50 -49 -49 -50 -50 -49 -49 -50 -51 -51 -52 -53 -55 -58 -58 -56 -52 -47 -43 -43 -46 -51 -56 -58 -59 -59 -59 -59 -58 -58 -59 -61 -64 -67 -68 -70 -73 -76 -19 -19 -22 -26 -31 -36 -46 -59 -74 -79 -84 -89 -93 -89 -96 -106 -113 -113 -108 -98 -84 -72 -64 -53 -48 -49 -59 -68 -68 -63 -54 -51 -50 -51 -54 -59 -62 -64 -67 -75 -83 -86 -86 -83 -76 -78 -82 -83 -79 -79 -79 -79 -80 -82 -80 -78 -76 -73 -65 -59 -57 -58 -65 -70 -70 -64 -58 -56 -55 -56 -57 -60 -64 -68 -70 -66 -57 -47 -37 -28 -22 -22 -23 -24 -25 -28 -31 -32 -31 -29 -29 -31 -36 -43 -47 -48 -47 -48 -51 -55 -59 -64 -67 -69 -68 -65 -59 -50 -40 -35 -37 -42 -49 -57 -67 -74 -75 -76 -76 -77 -80 -82 -84 -86 -86 -86 -87 -89 -91 -91 -90 -87 -78 -68 -65 -69 -78 -80 -70 -58 -50 -55 -63 -68 -69 -67 -61 -57 -54 -54 -51 -48 -46 -49 -56 -66 -68 -66 -60 -62 -71 -82 -89 -94 -95 -93 -87 -77 -67 -64 -67 -71 -69 -71 -80 -91 -98 -90 -85 -87 -94 -102 -104 -104 -104 -101 -101 -101 -102 -104 -107 -110 -115 -119 -120 -117 -114 -111 -110 -108 -103 -98 -94 -94 -90 -86 -82 -82 -82 -78 -76 -77 -76 -70 -67 -70 -78 -79 -75 -70 -69 -73 -79 -86 -92 -96 -101 -106 -110 -114 -116 -118 -117 -115 -111 -106 -103 -102 -100 -98 -98 -100 -101 -102 -100 -93 -82 -72 -71 -75 -82 -86 -87 -86 -85 -87 -87 -84 -81 -77 -73 -72 -73 -75 -78 -77 -77 -78 -80 -81 -82 -84 -88 -91 -91 -91 -90 -90 -87 -82 -79 -78 -78 -79 -78 -77 -74 -73 -72 -71 -69 -68 -66 -66 -68 -71 -72 -71 -70 -69 -68 -66 -64 -63 -62 -62 -61 -60 -58 -56 -53 -49 -46 -46 -47 -48 -50 -50 -51 -53 -54 -57 -58 -58 -58 -58 -59 -59 -61 -62 -63 -64 -63 -62 -61 -60 -61 -61 -62 -63 -64 -65 -66 -66 -64 -63 -61 -60 -59 -58 -58 -57 -55 -51 -47 -44 -41 -40 -40 -40 -40 -43 -44 -45 -45 -45 -46 -47 -48 -48 -48 -47 -47 -48 -48 -49 -50 -51 -51 -50 -49 -49 -50 -50 -50 -52 -54 -56 -55 -54 -52 -50 -47 -44 -44 -47 -53 -57 -58 -58 -58 -58 -57 -57 -58 -60 -62 -64 -67 -69 -72 -75 -21 -22 -25 -29 -34 -39 -46 -57 -73 -84 -89 -92 -93 -88 -89 -95 -102 -106 -108 -103 -95 -85 -70 -59 -53 -52 -56 -64 -68 -64 -55 -48 -45 -46 -47 -50 -54 -58 -62 -69 -79 -84 -87 -88 -83 -84 -86 -85 -81 -81 -83 -84 -83 -83 -84 -85 -87 -86 -79 -71 -64 -58 -62 -69 -71 -66 -57 -53 -52 -53 -56 -61 -65 -68 -69 -64 -53 -41 -30 -19 -17 -19 -23 -26 -29 -33 -36 -36 -35 -33 -33 -34 -41 -51 -56 -58 -57 -57 -60 -63 -66 -68 -71 -73 -73 -70 -65 -53 -40 -31 -34 -44 -56 -66 -72 -73 -72 -72 -75 -79 -82 -84 -85 -85 -85 -86 -88 -90 -91 -92 -91 -86 -78 -71 -71 -75 -79 -76 -64 -53 -48 -55 -62 -67 -69 -67 -61 -57 -56 -55 -53 -49 -48 -50 -58 -67 -72 -72 -68 -67 -75 -84 -89 -91 -85 -75 -63 -53 -56 -68 -80 -83 -73 -71 -79 -91 -95 -87 -84 -87 -95 -101 -103 -104 -104 -101 -99 -99 -101 -104 -108 -111 -114 -115 -113 -108 -103 -99 -98 -95 -89 -84 -84 -85 -84 -81 -79 -80 -77 -74 -74 -79 -76 -69 -67 -70 -75 -75 -72 -70 -69 -75 -83 -89 -92 -97 -102 -107 -111 -114 -116 -117 -118 -118 -112 -106 -101 -99 -100 -99 -99 -100 -101 -101 -100 -95 -85 -73 -70 -74 -81 -85 -86 -85 -85 -87 -88 -85 -82 -78 -74 -72 -73 -75 -78 -77 -76 -77 -79 -82 -83 -84 -86 -90 -92 -91 -90 -89 -86 -82 -80 -79 -80 -80 -79 -78 -76 -74 -73 -71 -70 -68 -67 -66 -67 -70 -72 -72 -71 -69 -68 -66 -66 -66 -67 -66 -64 -61 -59 -57 -54 -52 -51 -52 -53 -54 -56 -56 -57 -58 -59 -61 -61 -62 -63 -63 -63 -64 -65 -66 -67 -68 -67 -66 -64 -63 -63 -63 -63 -63 -64 -65 -65 -65 -63 -61 -59 -58 -57 -56 -56 -55 -52 -48 -44 -41 -39 -39 -38 -38 -36 -39 -42 -43 -44 -44 -44 -45 -46 -47 -46 -45 -44 -44 -45 -46 -48 -50 -51 -50 -49 -49 -48 -48 -49 -50 -52 -53 -52 -51 -50 -50 -50 -48 -46 -47 -52 -55 -57 -57 -57 -56 -56 -56 -57 -59 -61 -63 -65 -68 -71 -74 -24 -26 -28 -32 -37 -43 -48 -57 -71 -88 -97 -101 -102 -100 -97 -95 -96 -100 -106 -107 -103 -97 -86 -74 -65 -59 -56 -62 -65 -63 -56 -49 -46 -45 -43 -41 -45 -50 -56 -62 -74 -82 -88 -91 -89 -90 -90 -88 -83 -83 -85 -86 -86 -83 -83 -86 -89 -89 -85 -80 -72 -61 -58 -63 -67 -67 -61 -56 -53 -53 -55 -60 -64 -66 -68 -63 -50 -36 -23 -14 -16 -21 -26 -30 -36 -42 -46 -46 -43 -40 -38 -38 -44 -55 -62 -65 -66 -65 -66 -68 -71 -73 -74 -75 -76 -75 -69 -56 -42 -32 -36 -50 -62 -69 -71 -69 -70 -73 -78 -83 -86 -87 -86 -85 -85 -87 -88 -90 -90 -91 -89 -85 -78 -74 -75 -77 -77 -71 -60 -50 -47 -54 -60 -65 -68 -69 -63 -57 -53 -51 -50 -49 -51 -57 -66 -72 -76 -78 -75 -73 -75 -79 -82 -83 -76 -64 -54 -51 -62 -78 -92 -95 -84 -77 -79 -89 -96 -91 -88 -89 -96 -101 -103 -104 -104 -104 -102 -102 -105 -108 -109 -109 -109 -106 -101 -96 -91 -88 -88 -86 -82 -80 -82 -87 -88 -87 -83 -80 -76 -75 -76 -77 -74 -70 -68 -70 -71 -70 -70 -71 -72 -79 -86 -91 -92 -96 -100 -105 -110 -112 -113 -113 -114 -116 -113 -106 -100 -97 -98 -99 -99 -100 -99 -99 -98 -93 -85 -74 -70 -73 -82 -87 -88 -87 -86 -88 -89 -87 -83 -78 -74 -72 -73 -76 -78 -78 -78 -78 -80 -82 -83 -83 -85 -89 -92 -91 -89 -87 -85 -83 -81 -81 -82 -82 -80 -78 -76 -75 -74 -72 -71 -69 -68 -67 -66 -67 -68 -69 -69 -69 -69 -69 -70 -71 -70 -67 -64 -61 -59 -58 -57 -56 -57 -58 -59 -59 -60 -61 -62 -63 -63 -63 -64 -65 -66 -67 -67 -67 -68 -69 -71 -71 -71 -69 -68 -66 -65 -64 -63 -63 -63 -64 -64 -64 -62 -59 -57 -55 -54 -54 -54 -54 -50 -46 -42 -39 -38 -38 -39 -38 -37 -37 -38 -40 -42 -43 -44 -45 -45 -45 -45 -43 -41 -40 -40 -42 -44 -47 -48 -49 -49 -48 -47 -47 -47 -47 -49 -49 -49 -49 -48 -49 -50 -51 -52 -53 -54 -55 -55 -56 -55 -55 -54 -55 -56 -58 -59 -61 -64 -67 -70 -73 -28 -30 -32 -35 -40 -45 -49 -56 -71 -91 -104 -111 -112 -113 -113 -108 -103 -100 -104 -108 -107 -104 -98 -90 -80 -70 -61 -61 -61 -59 -53 -50 -50 -47 -43 -37 -40 -44 -50 -56 -66 -77 -84 -87 -89 -92 -91 -89 -85 -84 -85 -86 -85 -81 -79 -80 -83 -85 -82 -80 -76 -65 -56 -55 -59 -64 -65 -65 -63 -62 -60 -60 -60 -62 -65 -62 -49 -32 -18 -12 -17 -25 -33 -40 -44 -49 -55 -58 -55 -51 -48 -46 -49 -56 -63 -69 -71 -69 -69 -71 -75 -76 -77 -77 -78 -78 -73 -61 -47 -36 -40 -52 -60 -64 -64 -67 -73 -79 -84 -88 -88 -88 -87 -86 -87 -88 -88 -88 -87 -88 -88 -84 -77 -75 -75 -74 -72 -65 -56 -48 -45 -52 -58 -63 -66 -70 -66 -60 -54 -50 -49 -49 -53 -62 -72 -77 -83 -87 -88 -85 -84 -83 -83 -83 -80 -72 -63 -58 -66 -78 -90 -97 -91 -87 -87 -92 -97 -96 -94 -94 -99 -104 -107 -108 -108 -108 -107 -106 -107 -107 -105 -103 -100 -95 -89 -86 -84 -84 -85 -84 -83 -83 -88 -94 -97 -96 -91 -85 -84 -83 -81 -77 -75 -74 -75 -76 -73 -71 -72 -76 -79 -86 -93 -97 -97 -97 -98 -100 -103 -104 -105 -105 -107 -109 -108 -104 -99 -94 -95 -98 -99 -99 -98 -97 -94 -90 -84 -76 -73 -75 -84 -89 -89 -89 -88 -89 -90 -90 -87 -79 -74 -72 -73 -76 -79 -80 -81 -82 -82 -82 -83 -85 -87 -89 -91 -91 -89 -86 -85 -83 -82 -82 -83 -82 -80 -77 -75 -74 -74 -74 -72 -71 -69 -68 -66 -65 -65 -65 -65 -66 -67 -69 -70 -70 -69 -66 -62 -59 -58 -58 -59 -60 -61 -62 -62 -63 -64 -65 -65 -66 -66 -66 -67 -68 -68 -69 -69 -69 -70 -71 -73 -73 -73 -72 -71 -69 -67 -66 -65 -63 -63 -63 -63 -62 -60 -58 -56 -54 -53 -53 -53 -52 -48 -44 -40 -38 -38 -39 -40 -41 -40 -38 -37 -37 -39 -42 -44 -46 -46 -45 -44 -43 -40 -38 -37 -38 -40 -43 -45 -46 -47 -46 -45 -45 -45 -45 -45 -45 -45 -46 -47 -48 -49 -51 -53 -54 -55 -55 -55 -54 -53 -53 -53 -54 -55 -56 -58 -60 -63 -66 -69 -72 -31 -33 -36 -39 -43 -46 -49 -55 -69 -89 -103 -112 -116 -118 -124 -122 -117 -110 -107 -108 -109 -107 -105 -102 -95 -85 -74 -67 -60 -54 -50 -51 -53 -51 -46 -39 -38 -41 -46 -50 -54 -62 -69 -74 -80 -86 -89 -88 -84 -84 -85 -86 -86 -80 -70 -65 -66 -75 -77 -77 -75 -69 -60 -54 -53 -58 -61 -64 -68 -69 -68 -66 -64 -63 -63 -59 -44 -28 -15 -13 -22 -34 -47 -56 -58 -58 -59 -62 -64 -63 -60 -56 -55 -59 -65 -71 -74 -73 -72 -73 -76 -78 -79 -79 -78 -77 -75 -66 -54 -43 -41 -49 -57 -63 -67 -74 -80 -86 -89 -90 -89 -87 -87 -88 -89 -89 -88 -86 -84 -86 -86 -82 -75 -73 -72 -70 -66 -60 -52 -46 -45 -50 -57 -62 -66 -69 -67 -63 -58 -53 -49 -49 -54 -63 -74 -80 -86 -92 -96 -96 -95 -93 -92 -91 -90 -87 -81 -76 -76 -82 -89 -96 -96 -94 -94 -97 -99 -100 -101 -101 -102 -103 -105 -106 -105 -104 -104 -103 -102 -98 -97 -96 -93 -86 -81 -82 -85 -87 -89 -89 -90 -92 -97 -102 -105 -105 -100 -97 -97 -96 -92 -85 -82 -84 -86 -86 -79 -77 -80 -86 -91 -94 -98 -101 -101 -98 -96 -97 -97 -97 -98 -97 -97 -98 -96 -94 -92 -93 -96 -99 -100 -100 -98 -96 -92 -87 -83 -79 -77 -78 -85 -90 -90 -89 -89 -90 -93 -94 -91 -81 -75 -73 -74 -78 -80 -82 -83 -85 -84 -83 -84 -88 -90 -90 -90 -90 -89 -87 -85 -83 -81 -80 -81 -80 -79 -77 -74 -74 -74 -75 -74 -72 -70 -68 -66 -65 -64 -63 -63 -63 -64 -65 -66 -65 -64 -62 -59 -57 -57 -59 -60 -62 -64 -64 -64 -64 -65 -66 -67 -67 -67 -68 -68 -69 -70 -70 -71 -71 -72 -73 -73 -74 -74 -74 -73 -71 -70 -68 -67 -65 -64 -64 -63 -61 -60 -58 -55 -53 -52 -52 -51 -49 -46 -43 -40 -39 -39 -40 -41 -43 -43 -41 -39 -37 -36 -38 -41 -44 -46 -46 -45 -43 -40 -38 -36 -35 -36 -39 -42 -43 -43 -43 -43 -43 -43 -43 -42 -42 -42 -43 -44 -46 -48 -50 -51 -52 -53 -54 -54 -53 -52 -52 -52 -53 -54 -55 -56 -59 -61 -64 -67 -71 -35 -37 -39 -41 -44 -46 -49 -55 -66 -84 -98 -107 -111 -113 -123 -128 -128 -123 -114 -111 -109 -108 -106 -107 -104 -99 -92 -82 -67 -54 -48 -50 -54 -54 -50 -43 -38 -39 -44 -49 -47 -49 -55 -63 -71 -75 -79 -81 -80 -79 -80 -82 -83 -83 -72 -60 -53 -60 -71 -73 -71 -70 -67 -62 -59 -60 -65 -66 -66 -66 -66 -64 -61 -59 -58 -52 -38 -23 -15 -16 -28 -41 -54 -64 -67 -69 -70 -70 -71 -69 -65 -60 -58 -62 -67 -73 -76 -76 -74 -74 -74 -76 -77 -77 -77 -77 -76 -70 -61 -50 -45 -52 -61 -70 -77 -81 -83 -84 -84 -84 -85 -87 -90 -91 -91 -90 -88 -85 -85 -86 -83 -77 -70 -68 -66 -65 -63 -57 -51 -46 -43 -49 -56 -62 -67 -69 -66 -63 -59 -53 -50 -49 -53 -61 -73 -79 -85 -89 -95 -100 -101 -101 -100 -100 -99 -98 -96 -93 -90 -91 -94 -98 -100 -100 -100 -101 -100 -100 -100 -98 -96 -97 -98 -99 -99 -96 -94 -93 -92 -90 -92 -92 -88 -79 -82 -88 -94 -97 -98 -99 -100 -102 -104 -108 -110 -111 -109 -109 -108 -107 -103 -97 -94 -94 -95 -93 -87 -84 -86 -93 -98 -99 -101 -103 -104 -99 -97 -97 -98 -98 -95 -91 -88 -86 -86 -88 -92 -99 -102 -103 -103 -101 -99 -95 -90 -86 -82 -81 -80 -82 -86 -89 -89 -89 -89 -92 -96 -96 -92 -82 -75 -73 -75 -80 -83 -84 -84 -86 -85 -84 -86 -88 -89 -90 -90 -91 -90 -88 -86 -85 -82 -79 -79 -78 -78 -77 -75 -74 -74 -75 -74 -72 -70 -67 -65 -63 -63 -63 -63 -62 -62 -62 -62 -61 -60 -59 -58 -56 -57 -59 -61 -62 -63 -64 -65 -65 -66 -67 -68 -68 -69 -69 -69 -70 -70 -71 -72 -73 -73 -74 -74 -73 -73 -73 -73 -72 -72 -71 -70 -69 -67 -65 -63 -61 -59 -57 -55 -53 -53 -52 -51 -48 -45 -42 -40 -40 -40 -41 -42 -43 -44 -43 -41 -38 -36 -36 -38 -39 -41 -43 -44 -43 -41 -38 -36 -35 -35 -37 -40 -40 -40 -39 -39 -40 -40 -41 -40 -40 -39 -40 -41 -43 -46 -48 -50 -50 -51 -51 -52 -52 -51 -51 -51 -52 -52 -53 -55 -56 -58 -61 -65 -69