CAPE 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 3 0 0 0 0 4 10 15 18 8 2 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 0 0 0 2 4 5 0 0 4 5 4 4 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 0 0 0 0 0 7 12 12 7 4 11 21 26 21 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 1 4 6 5 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 12 12 7 2 0 0 0 0 0 0 0 2 4 7 9 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 8 11 14 15 16 18 20 23 26 28 30 31 33 36 40 45 50 57 64 70 75 79 81 84 89 95 102 108 110 112 107 99 91 85 81 79 78 80 82 85 88 91 95 98 103 106 109 111 112 115 119 125 130 132 129 122 114 105 101 100 101 102 103 102 100 101 96 82 65 63 78 94 102 107 120 124 119 111 101 91 86 106 101 80 88 124 117 114 112 113 116 121 123 122 119 111 99 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 2 0 0 0 1 4 8 13 16 10 3 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 3 6 0 2 4 10 10 4 0 0 0 1 2 3 1 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 2 2 0 0 0 0 0 7 14 14 8 5 9 21 25 19 9 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 1 0 0 0 0 0 0 2 5 7 6 2 1 0 0 0 0 0 0 0 2 4 6 7 8 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 3 4 6 8 11 14 15 17 19 22 25 28 31 33 34 35 37 40 44 49 55 60 65 69 73 77 82 88 94 102 104 106 102 95 87 81 78 75 74 74 74 76 78 81 84 88 93 98 102 103 104 106 108 113 117 119 116 109 100 92 87 87 89 91 91 92 93 90 79 60 42 44 61 80 100 120 134 135 130 122 115 112 118 123 99 70 66 98 104 103 102 100 102 112 123 128 128 123 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 1 1 0 0 0 1 2 4 6 10 13 12 5 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 9 16 9 1 0 0 0 2 5 8 8 0 0 0 0 0 0 0 1 0 0 0 1 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 1 0 0 0 1 4 14 14 9 5 9 21 27 19 9 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 1 0 0 0 0 0 0 1 2 2 1 0 0 0 0 0 0 0 0 2 4 6 7 8 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 1 1 3 5 6 8 11 14 17 20 23 27 31 34 36 37 38 39 42 47 52 56 60 63 67 70 75 80 85 90 94 95 93 89 84 80 77 75 73 72 71 72 73 76 78 82 86 91 94 96 97 98 99 102 103 104 101 97 91 85 80 78 78 80 80 79 79 75 66 52 42 53 74 95 114 132 138 137 131 126 123 126 129 126 94 67 75 102 109 111 112 107 99 101 108 111 112 114 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 2 5 6 6 5 4 7 12 13 11 8 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 14 20 6 0 0 0 0 0 16 20 12 0 0 0 0 0 2 3 0 0 0 0 2 5 7 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 1 0 0 0 1 4 13 16 9 5 10 21 32 22 9 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 5 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 8 9 10 10 7 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 1 2 4 6 8 11 15 20 24 28 32 34 37 38 39 43 47 51 55 58 60 62 64 67 71 74 76 78 80 80 80 78 75 74 71 69 66 64 64 66 69 73 78 82 85 89 91 92 92 92 92 91 91 91 90 88 83 77 73 70 69 69 69 69 67 62 56 57 72 90 103 110 116 126 126 123 121 119 122 112 105 96 98 110 118 109 120 128 120 104 92 84 80 79 78 74 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 2 6 9 10 8 3 1 2 12 20 23 20 12 1 0 0 0 0 0 0 0 0 0 0 0 0 1 6 8 4 3 3 1 0 0 1 6 24 22 10 2 0 0 1 14 16 8 0 0 0 0 4 9 8 0 0 0 0 0 0 0 0 0 0 2 3 0 0 0 0 1 3 0 0 0 0 3 10 17 10 6 10 21 34 29 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 0 0 0 0 0 0 0 0 0 0 0 1 3 3 2 0 0 0 0 0 0 0 0 0 0 0 0 2 2 1 0 0 0 0 2 6 9 12 13 13 11 6 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 6 9 13 17 21 25 29 32 35 37 41 45 49 52 54 55 56 57 57 58 60 61 63 65 66 68 68 67 66 64 61 58 55 54 55 58 62 68 75 79 82 84 86 87 85 83 82 82 84 86 86 83 78 73 67 63 63 65 66 66 65 65 73 86 95 98 98 106 114 117 117 115 113 103 84 77 91 113 118 114 90 78 95 125 103 83 67 58 56 54 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 2 4 8 12 13 9 3 1 4 15 22 25 22 15 2 0 0 0 0 0 0 0 0 0 0 0 2 11 9 4 1 0 0 0 0 5 16 26 21 9 2 0 3 14 30 24 11 2 0 0 0 3 6 6 2 0 0 0 0 0 0 0 0 1 4 5 0 0 0 0 1 1 0 0 0 0 2 9 17 12 7 11 23 35 34 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 4 2 0 0 1 3 6 9 12 14 14 11 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 7 10 14 17 21 24 28 31 35 38 42 44 46 46 46 46 45 44 44 44 46 48 50 53 55 56 56 54 52 49 45 43 43 44 48 54 61 66 72 76 78 78 77 75 75 76 79 83 84 83 79 73 67 61 60 61 63 64 68 73 81 89 92 91 90 97 104 107 110 115 112 91 70 70 86 102 100 97 90 91 107 130 111 89 73 63 58 60 66 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 2 3 3 4 6 9 12 12 8 4 3 8 17 22 23 21 16 6 1 0 0 0 0 0 0 0 0 1 5 7 8 4 1 0 0 1 10 16 23 28 21 8 2 0 5 17 33 28 13 3 0 0 0 0 3 3 2 0 0 0 0 0 0 0 0 1 6 6 2 0 0 0 0 1 1 0 0 0 1 8 16 16 10 12 25 36 35 18 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 2 4 4 2 1 2 3 5 6 8 10 11 12 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 1 3 5 8 10 13 16 19 21 24 26 29 31 32 32 31 30 28 27 27 27 28 30 33 36 40 43 45 45 44 41 37 34 33 33 35 39 45 51 57 61 65 67 66 66 67 71 76 81 83 82 78 74 68 62 59 58 59 61 67 75 81 84 85 86 85 89 95 101 106 111 111 102 95 92 90 88 83 82 84 92 106 122 113 101 92 81 68 62 74 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 2 4 4 4 5 7 8 9 6 4 4 11 18 23 23 21 15 8 4 2 2 1 0 0 0 0 4 8 11 6 1 0 0 0 2 12 24 32 32 23 7 1 0 2 13 27 28 12 3 0 0 0 1 2 2 1 0 0 0 0 0 0 0 0 3 8 7 3 0 0 0 0 0 1 0 0 0 0 8 17 19 13 13 24 35 34 20 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 3 6 7 7 6 5 5 6 5 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 6 7 8 9 10 11 13 13 14 13 12 12 11 10 10 11 12 14 16 20 25 31 36 38 38 36 33 30 27 26 26 28 31 36 41 46 51 53 54 56 60 66 74 80 82 81 79 76 72 67 62 59 56 56 62 72 78 81 82 82 83 85 90 96 102 107 110 107 102 93 84 82 81 77 70 71 82 97 100 101 99 92 81 76 82 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 1 0 1 3 4 4 4 4 5 6 6 4 3 4 11 20 28 28 21 11 6 7 9 9 5 0 0 0 3 11 17 10 1 0 0 0 2 10 26 33 34 25 9 0 0 0 7 18 23 9 1 0 0 2 6 8 4 1 0 0 0 0 0 1 2 4 7 13 10 4 1 0 0 0 0 1 1 0 0 0 7 17 21 17 14 22 31 31 20 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 7 6 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 1 0 0 0 0 0 0 0 0 1 2 3 4 5 8 14 19 25 30 33 33 32 30 27 24 22 22 23 25 29 34 39 42 46 50 56 64 74 80 82 82 81 80 78 74 68 63 59 56 60 68 76 80 80 81 82 83 86 90 94 96 101 102 99 92 84 82 82 78 70 63 63 72 81 91 98 96 86 85 88 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 1 1 2 3 3 3 4 5 6 6 5 2 1 3 11 23 34 32 19 4 1 10 19 21 13 0 0 0 6 16 17 1 0 0 0 1 6 18 28 31 25 13 0 0 0 2 12 18 10 0 0 0 2 10 18 14 2 0 0 0 0 3 5 7 10 14 20 18 6 1 0 0 0 0 1 2 1 0 0 5 17 23 20 15 18 27 26 17 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 6 10 15 21 27 32 34 34 32 28 25 22 22 22 25 28 33 38 44 50 57 66 75 80 83 84 84 84 83 79 74 69 65 63 65 70 76 80 82 81 78 77 77 77 78 79 84 89 91 91 88 82 77 73 70 69 66 62 66 78 92 98 93 91 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 1 1 1 2 2 2 4 7 9 7 4 1 1 4 14 26 36 31 15 1 0 12 25 28 18 0 0 0 6 10 7 0 0 0 0 4 9 9 20 26 17 5 0 0 0 7 14 11 0 0 0 0 10 20 20 5 1 0 0 1 4 12 17 18 22 28 27 10 2 0 0 0 0 2 4 2 0 1 4 15 24 23 18 17 22 22 14 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 7 12 21 33 41 44 43 40 35 31 28 28 28 30 35 40 46 53 60 67 74 78 81 83 84 85 84 80 77 74 73 73 73 74 76 78 76 70 66 61 58 57 56 56 60 67 74 78 78 72 66 62 60 62 64 59 58 66 78 88 86 85 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 3 2 1 1 1 1 1 2 6 10 12 8 2 0 1 7 18 30 35 28 14 2 3 16 28 30 20 3 0 0 5 5 0 0 0 0 5 7 3 2 17 24 12 0 0 0 3 15 12 3 0 0 0 4 13 15 5 0 0 0 0 5 16 23 22 24 29 29 18 1 0 0 0 0 1 6 4 1 0 4 12 25 25 21 18 20 20 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 11 25 38 46 51 52 49 46 41 38 37 38 40 44 48 53 58 63 67 69 71 73 74 76 76 75 74 75 77 79 77 75 72 67 60 52 44 38 34 33 32 33 36 42 49 56 59 57 54 51 50 52 52 48 45 46 54 63 64 65 65 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 2 1 1 1 1 0 1 4 10 14 13 5 1 0 3 11 23 31 32 25 14 7 12 20 26 25 18 10 8 10 8 4 0 0 0 5 10 7 0 1 21 20 8 0 0 1 14 13 6 0 0 0 0 6 6 2 1 0 0 0 6 15 20 17 17 23 27 21 5 0 0 0 0 2 6 7 2 0 3 11 26 29 23 20 19 18 10 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 3 10 20 31 41 47 49 50 48 46 44 42 42 43 44 46 48 50 52 53 54 55 55 56 57 59 63 68 72 73 70 64 57 49 40 31 24 20 17 16 15 15 16 20 26 34 38 40 40 40 40 40 38 34 29 26 27 30 39 40 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 1 1 1 0 0 2 7 14 15 8 2 0 1 7 18 27 31 27 19 12 14 23 28 27 20 14 15 21 24 13 3 0 0 1 14 14 7 1 4 23 14 4 0 1 5 13 6 1 0 0 0 5 4 1 0 0 0 0 8 16 18 13 9 12 20 20 10 1 0 0 0 2 6 7 2 0 2 11 26 34 26 19 17 16 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 11 17 25 31 35 36 37 36 35 34 33 32 31 31 31 32 33 34 34 34 34 35 38 43 50 54 54 49 42 35 28 21 15 12 10 8 7 7 6 7 9 13 18 22 25 27 28 28 26 24 21 19 17 16 19 22 25 29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 2 1 0 0 3 9 13 12 3 0 0 3 12 24 30 29 21 12 11 20 32 35 29 18 12 17 30 33 17 3 0 1 6 21 18 7 2 8 23 10 2 0 1 6 6 2 0 0 1 4 6 2 0 0 0 0 5 13 16 11 5 4 12 16 12 2 0 0 3 7 10 8 2 0 0 9 24 36 31 19 15 13 9 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 7 10 13 14 15 15 14 14 13 13 13 13 13 14 14 15 16 17 17 17 19 22 27 30 29 25 21 16 13 10 8 7 6 5 5 5 5 5 5 5 9 12 15 17 18 17 14 13 12 12 12 14 15 17 18 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 3 7 8 6 1 0 0 7 17 27 30 26 15 8 11 23 36 38 31 19 12 19 35 38 20 4 0 1 12 27 20 8 5 15 24 9 1 0 1 3 0 0 0 0 1 7 4 1 0 0 0 3 8 9 7 3 1 5 15 13 6 0 0 6 17 23 17 6 0 0 3 18 34 38 24 13 9 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 3 3 3 2 2 2 2 3 3 3 4 4 5 6 7 7 8 10 12 15 16 14 12 10 10 9 8 8 8 6 5 5 5 4 3 4 6 6 8 10 10 8 5 5 5 6 8 9 10 11 13 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 1 0 0 2 4 4 2 0 0 2 10 19 26 28 21 11 7 10 21 34 37 32 22 16 22 38 40 20 4 0 3 19 30 22 11 10 23 27 10 1 0 0 0 0 0 0 0 1 4 1 0 0 1 4 7 5 2 0 0 1 10 16 10 2 1 6 22 37 37 21 2 0 0 8 25 38 33 15 6 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 1 1 2 2 3 4 6 9 11 12 12 13 13 12 11 10 10 8 6 6 6 5 4 4 4 4 3 2 2 2 1 0 1 2 4 5 5 5 6 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 2 3 2 0 0 0 4 10 17 21 22 16 9 6 8 15 25 31 28 22 19 26 42 39 20 4 1 6 25 30 20 11 13 27 29 11 2 0 0 0 0 0 0 0 1 0 0 0 1 4 8 5 1 0 0 0 2 12 13 5 1 7 20 42 52 42 20 1 0 2 15 30 34 24 7 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 6 8 9 10 11 11 10 10 8 7 6 6 6 5 3 3 2 1 0 0 0 0 0 0 0 1 2 2 2 2 2 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 1 2 2 1 0 0 0 3 7 11 14 15 10 5 3 3 6 14 19 19 18 21 30 42 35 17 4 3 12 26 24 13 5 10 23 26 11 2 0 0 0 0 0 0 0 0 0 0 0 3 7 7 0 0 0 0 0 2 7 5 2 6 19 39 53 52 37 18 3 2 8 23 30 26 13 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 1 1 2 3 4 5 5 5 6 6 6 5 4 4 4 3 2 1 1 0 0 0 0 0 0 0 0 0 1 2 1 1 1 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 2 2 2 1 0 0 0 0 2 5 7 6 2 0 0 0 1 6 8 8 11 18 27 33 25 13 6 9 20 21 10 3 0 2 10 15 5 1 0 0 0 0 0 0 0 0 0 0 0 4 6 0 0 0 0 0 1 2 0 0 4 17 34 45 48 40 27 14 7 8 18 28 26 15 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 2 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 4 8 14 16 11 7 7 12 19 11 3 0 0 0 2 3 1 0 0 1 2 0 0 0 0 0 0 0 2 2 1 0 0 0 2 4 4 0 0 0 7 20 34 37 33 25 16 10 9 15 27 28 17 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 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 1 2 3 4 2 2 5 9 10 3 1 0 0 0 0 0 0 0 1 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 6 17 26 26 19 13 8 8 12 23 27 17 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 2 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 13 18 17 11 7 7 10 17 24 18 8 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 12 11 8 7 9 14 18 17 8 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 9 9 8 8 11 14 17 15 8 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 10 12 16 18 16 11 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 11 15 20 22 19 13 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 17 25 28 24 16 7 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 10 18 28 36 31 21 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 19 28 35 34 23 12 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 7 13 19 26 31 30 22 12 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 13 20 23 25 23 18 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 17 22 20 16 12 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 17 17 12 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 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 2 5 8 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 6 5 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 2 4 4 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 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Wind_Speed nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 13 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 19 19 nan nan 18 18 18 19 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 8 7 6 6 5 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 6 6 6 6 7 7 7 7 7 7 6 6 6 6 6 6 6 5 5 5 6 6 6 7 8 10 11 12 13 13 12 12 11 10 10 10 11 11 11 11 12 13 13 14 14 14 13 13 12 12 12 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 12 12 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 19 19 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 10 9 8 7 6 6 5 5 4 4 4 4 4 3 3 3 3 3 3 3 3 4 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 6 6 6 6 6 6 6 6 6 6 6 6 5 6 6 5 5 5 5 6 6 6 6 7 9 11 12 13 13 12 12 11 10 10 10 12 13 13 12 12 12 13 14 14 14 13 12 12 11 11 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 12 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 19 19 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 11 10 9 8 8 7 6 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 6 6 6 6 6 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 7 9 10 12 13 13 12 11 11 10 9 9 12 13 13 12 11 11 11 13 14 14 14 12 11 10 10 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 12 13 15 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 18 18 nan nan nan nan nan nan 18 18 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 19 nan nan nan 19 19 20 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 12 11 10 9 8 8 7 6 6 5 5 5 4 4 4 4 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 4 4 5 5 5 5 5 4 4 5 5 6 6 6 7 7 8 9 10 11 12 12 12 11 10 9 8 8 9 11 11 11 10 10 11 12 13 14 13 12 10 9 9 10 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 20 nan nan nan nan 13 13 14 16 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 17 18 18 nan nan nan nan 18 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 19 19 nan nan 19 19 20 20 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 22 22 22 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 13 12 11 10 9 9 8 7 6 6 6 5 5 5 5 6 6 6 6 6 6 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 4 4 4 4 4 4 4 5 5 4 4 4 4 5 5 6 6 7 7 8 9 9 10 11 11 11 10 10 9 8 7 8 8 9 8 8 9 12 13 14 14 13 11 10 9 9 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 20 20 nan nan nan nan 15 14 15 16 17 nan nan nan nan nan nan nan nan nan nan nan nan nan 19 nan nan nan nan nan nan nan nan 17 17 18 nan nan nan nan 17 18 18 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 20 19 nan 19 19 19 20 20 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 13 13 12 11 10 9 9 8 8 7 7 7 7 7 7 7 7 7 7 6 6 6 6 5 5 5 5 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 6 6 7 8 8 9 9 10 10 10 10 10 9 8 7 7 7 7 6 6 8 11 14 14 13 12 11 10 10 10 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 21 21 nan nan nan nan 16 16 16 16 17 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 18 18 18 18 nan nan nan nan 17 18 18 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 20 20 nan 19 19 19 20 20 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 22 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 14 14 13 12 12 11 10 10 9 9 9 8 8 8 8 8 8 7 7 7 7 6 6 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 6 7 7 8 8 8 9 9 9 9 9 8 7 6 6 6 5 5 6 9 12 13 12 11 10 10 10 10 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 18 18 18 18 17 17 nan nan nan nan nan nan nan nan nan nan nan 20 nan nan nan nan nan nan 19 18 18 18 18 nan nan nan nan 18 18 18 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 20 20 20 20 20 20 20 20 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 14 14 13 12 11 11 10 10 10 nan 10 9 9 9 9 8 8 7 7 6 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 4 4 5 6 7 7 7 8 8 8 9 9 8 7 6 6 5 5 4 4 5 7 9 10 10 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 18 18 18 18 18 18 nan nan nan nan nan nan nan nan nan 20 20 nan nan nan nan nan nan 19 18 18 18 18 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 19 20 nan nan nan nan nan nan nan nan nan nan nan nan 21 21 20 20 20 20 20 20 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 9 9 8 7 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 6 6 7 7 7 7 7 8 8 8 7 7 6 5 5 4 4 4 5 6 7 7 8 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 18 19 19 19 19 nan nan nan 19 20 20 nan nan nan nan 20 20 nan nan nan nan nan nan 19 18 18 19 19 nan nan nan nan 19 19 nan nan nan nan nan nan 19 20 nan nan nan nan nan nan nan nan nan 20 20 20 nan nan nan nan nan nan nan nan nan nan nan nan 21 21 21 21 21 21 21 21 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 11 10 9 8 7 6 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 6 6 6 6 6 7 7 7 7 7 7 6 5 5 4 4 5 5 5 6 6 6 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 18 18 18 19 19 nan nan 18 18 19 20 nan nan nan nan 20 nan nan nan nan nan nan nan nan 18 19 19 nan nan nan nan nan 19 19 nan nan nan nan nan 19 20 nan nan nan nan nan nan 21 21 20 20 20 20 nan nan nan nan nan nan nan nan nan nan nan nan 21 21 21 21 21 21 21 21 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 11 10 9 8 8 7 6 6 6 5 6 6 6 6 6 6 6 6 6 6 6 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 7 7 7 6 6 5 4 4 5 5 5 5 5 6 6 7 7 7 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 17 17 nan nan nan nan nan 19 18 18 18 18 nan nan 19 19 19 19 nan nan nan nan nan nan nan nan nan nan nan nan nan 18 19 19 nan nan nan nan 19 19 nan nan nan nan nan 19 20 nan nan nan nan nan nan 20 21 21 20 20 21 21 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 13 12 12 11 11 10 9 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 6 5 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 6 7 7 6 6 5 5 5 5 5 5 5 5 5 6 7 7 7 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 17 17 nan nan nan nan 19 19 18 18 17 17 nan 18 19 19 20 20 nan nan 20 nan nan nan nan nan nan nan nan nan nan 19 19 nan nan nan nan 19 19 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 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 14 14 13 13 12 11 10 10 10 10 10 10 10 9 9 9 9 8 8 7 6 6 5 4 4 4 4 5 5 5 5 4 4 5 5 5 5 5 5 5 5 6 6 6 6 6 6 5 5 5 5 5 5 5 6 7 7 7 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 18 nan nan nan nan nan 18 19 18 18 17 15 15 17 19 20 20 20 19 20 20 21 nan nan nan nan 19 19 nan nan nan 18 19 nan nan nan nan 19 nan nan nan nan nan nan nan nan nan nan nan nan nan 20 21 21 nan 21 21 21 22 nan nan nan nan nan nan nan nan nan nan 22 22 22 22 22 22 23 23 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 15 15 14 14 13 13 13 13 12 12 12 11 10 10 9 9 8 7 7 5 4 4 4 4 4 4 4 4 4 4 4 nan nan nan nan nan nan nan 5 5 5 6 6 6 6 6 6 5 5 5 5 6 7 7 7 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 19 19 nan nan nan nan 17 18 18 18 18 17 15 15 16 19 20 21 20 20 20 20 21 nan nan nan nan 19 18 nan nan nan 18 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 20 21 21 nan nan 22 22 22 nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 17 17 16 16 16 15 15 15 14 14 13 12 11 10 10 9 8 8 7 6 5 4 4 4 4 4 4 4 nan nan nan nan nan nan nan nan nan nan nan nan 5 5 5 5 5 5 5 5 5 5 5 6 6 7 7 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 17 17 18 18 18 nan 16 15 17 19 20 21 21 20 20 20 20 nan nan nan 19 18 18 nan nan 17 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 22 22 nan nan nan nan 22 22 22 nan nan nan nan 22 22 22 23 23 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 5 nan nan nan nan nan nan nan nan 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 16 17 18 18 18 nan 17 17 17 19 20 20 20 20 20 20 20 nan nan nan 19 19 18 17 16 17 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 22 nan nan nan nan 22 23 23 23 nan nan nan nan 22 23 23 23 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 6 6 6 5 4 4 4 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 17 17 17 18 18 nan nan nan 18 18 18 18 18 18 19 19 20 20 nan nan nan 19 19 18 17 16 17 17 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 22 22 nan nan nan 22 22 23 23 23 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 7 6 6 5 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 17 17 17 17 nan nan nan nan 19 18 17 17 16 17 18 19 19 nan nan 18 19 18 18 nan nan 17 17 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 22 22 22 23 23 23 nan nan nan 23 23 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 15 16 17 18 18 nan nan 18 18 18 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 22 22 22 23 23 23 24 nan nan 24 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 17 18 nan nan 17 17 18 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 22 22 23 23 23 24 nan nan 24 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 23 23 23 24 24 nan nan 24 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 23 24 24 24 nan nan 24 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 nan nan nan 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 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 24 24 25 25 25 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 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 24 24 24 24 24 25 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 24 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 24 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan Wind_Direction nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 3 357 357 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 359 358 nan nan 356 356 356 357 357 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 347 348 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 294 289 284 278 271 265 258 249 240 231 224 218 216 214 214 209 209 209 208 208 208 205 202 198 191 185 180 176 176 178 182 189 194 196 198 196 192 186 180 169 161 153 146 142 138 136 135 134 133 132 131 129 126 126 127 130 134 138 139 140 140 137 133 128 127 130 131 127 115 105 102 104 109 111 112 113 115 116 114 107 97 95 99 103 103 99 99 99 100 101 103 106 105 105 105 104 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 360 357 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 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 359 359 nan nan nan 357 357 358 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 302 298 294 289 285 279 273 266 257 250 243 239 235 233 228 227 225 222 224 224 224 222 221 216 213 205 199 193 193 195 200 205 207 211 210 208 202 196 184 175 164 155 149 144 140 137 135 135 136 135 134 133 131 132 134 138 141 143 143 140 137 133 130 129 131 132 132 121 109 105 105 108 109 110 111 113 115 114 104 91 89 97 106 106 103 100 98 97 98 101 104 106 107 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 357 1 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 8 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 358 358 nan nan nan 358 358 358 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 306 303 299 294 289 284 277 271 266 261 255 251 246 243 239 237 235 236 237 238 240 240 237 233 228 222 216 216 215 217 221 223 221 218 214 206 198 188 179 170 160 154 148 144 141 139 140 141 143 142 141 140 139 142 144 147 147 143 139 134 130 127 126 128 129 121 113 108 106 106 107 108 109 112 115 116 106 94 93 100 108 107 105 105 103 100 98 100 103 108 111 111 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 357 0 6 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 8 8 nan nan nan nan nan nan 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 358 358 nan nan nan 358 358 359 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 310 306 302 298 293 288 284 279 274 269 263 258 254 251 250 250 251 253 255 255 257 255 250 247 242 237 233 233 233 233 230 228 223 218 210 200 192 182 175 168 161 154 151 149 149 152 154 157 155 151 146 146 150 152 155 154 147 139 132 126 124 123 123 119 115 112 109 107 107 108 110 113 117 119 112 104 103 107 110 107 104 105 105 102 100 100 103 108 115 115 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 18 nan nan nan nan 359 358 1 6 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 6 6 6 nan nan nan nan 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 359 358 358 nan nan 358 358 360 360 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 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 312 308 305 301 297 293 288 283 278 274 270 266 265 265 265 266 268 268 268 266 265 262 259 255 251 249 247 243 240 236 231 228 223 216 208 200 192 184 177 169 164 163 162 167 171 173 169 161 153 151 152 157 161 162 158 147 138 130 126 122 119 117 117 115 113 110 110 110 112 114 117 119 119 117 115 116 115 109 100 98 98 99 99 100 103 109 114 114 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 21 20 nan nan nan nan 4 3 3 6 10 nan nan nan nan nan nan nan nan nan nan nan nan nan 11 nan nan nan nan nan nan nan nan 6 5 6 nan nan nan nan 4 4 5 6 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 360 359 nan 357 358 358 360 360 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 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 314 311 308 304 301 296 293 289 285 281 279 278 278 278 278 277 276 275 274 272 270 268 265 261 257 252 248 244 240 238 233 230 225 219 211 203 195 188 184 180 180 184 186 184 180 169 161 156 156 159 165 171 168 161 150 140 132 126 122 120 120 119 118 116 115 114 115 116 116 117 121 123 125 125 124 116 101 96 95 96 98 101 105 110 113 111 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 22 22 nan nan nan nan 10 9 8 8 9 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 9 7 6 6 nan nan nan nan 4 4 5 6 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 1 1 nan 358 358 359 360 0 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 320 317 314 311 308 305 302 299 295 293 291 289 288 287 287 285 283 281 280 279 277 274 270 265 261 254 250 246 245 243 242 239 235 229 222 216 209 203 199 199 199 198 194 186 178 171 166 164 165 171 178 182 180 174 165 153 140 133 128 126 124 123 122 122 120 119 117 116 117 122 128 132 132 131 126 112 103 101 100 101 103 108 114 118 117 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 13 13 12 11 10 10 nan nan nan nan nan nan nan nan nan nan nan 13 nan nan nan nan nan nan 9 8 7 7 7 nan nan nan nan 5 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 2 2 1 0 360 360 0 1 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 316 312 310 307 304 301 299 298 296 nan 293 291 290 288 287 284 281 278 273 268 260 254 251 249 248 248 246 245 241 236 232 228 222 218 214 213 207 201 196 188 184 178 175 174 176 184 193 201 203 200 191 171 154 142 135 131 129 129 129 128 125 122 118 119 122 129 136 138 136 135 130 123 117 112 110 110 113 120 127 126 119 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 14 14 14 13 11 10 nan nan nan nan nan nan nan nan nan 16 14 nan nan nan nan nan nan 9 7 7 7 7 nan nan nan nan nan 7 7 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 2 3 nan nan nan nan nan nan nan nan nan nan nan nan 3 3 2 2 1 1 2 2 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 282 275 268 261 258 254 252 250 249 249 245 244 242 238 235 232 226 222 218 214 209 207 204 198 193 187 184 191 201 211 219 220 211 194 173 155 143 137 136 136 136 135 132 128 123 120 121 127 135 139 141 141 142 142 140 131 125 121 121 125 132 133 130 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 14 14 14 13 13 nan nan nan 13 15 17 nan nan nan nan 15 14 nan nan nan nan nan nan 9 7 7 8 8 nan nan nan nan 7 8 nan nan nan nan nan nan 6 7 nan nan nan nan nan nan nan nan nan 4 2 3 nan nan nan nan nan nan nan nan nan nan nan nan 3 3 3 3 3 3 3 3 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 297 293 287 280 273 266 262 260 255 252 250 249 246 246 246 244 242 238 235 232 233 232 232 230 224 216 205 197 199 207 216 223 220 210 196 177 159 149 146 145 144 143 142 140 135 128 122 120 122 128 135 141 142 142 143 144 143 138 134 129 128 130 134 135 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 13 13 13 13 13 nan nan 11 12 13 15 nan nan nan nan 15 nan nan nan nan nan nan nan nan 7 8 9 nan nan nan nan nan 8 9 nan nan nan nan nan 6 6 nan nan nan nan nan nan 8 7 6 5 3 4 nan nan nan nan nan nan nan nan nan nan nan nan 4 4 5 4 4 4 5 5 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 299 294 290 285 280 275 269 263 259 255 253 253 254 254 254 253 252 252 253 256 256 254 248 240 227 216 211 211 215 215 207 194 180 169 160 155 154 155 154 151 149 145 139 133 125 121 120 124 131 136 142 146 149 149 150 149 144 136 128 126 131 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 10 9 nan nan nan nan nan 14 13 11 10 10 nan nan 12 12 12 14 nan nan nan nan nan nan nan nan nan nan nan nan nan 7 8 9 nan nan nan nan 7 8 nan nan nan nan nan 5 6 nan nan nan nan nan nan 6 7 6 5 4 5 6 nan nan nan nan nan nan nan nan nan nan nan 4 5 6 6 6 6 6 6 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 306 304 302 299 296 292 285 278 273 270 269 269 270 270 270 270 270 272 272 272 270 267 260 249 237 225 216 205 194 182 171 165 161 160 162 165 166 164 160 153 149 143 136 130 125 123 124 127 130 135 142 148 152 154 151 148 139 128 124 129 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 11 10 nan nan nan nan 15 14 12 10 7 6 nan 10 13 14 14 14 nan nan 16 nan nan nan nan nan nan nan nan nan nan 7 8 nan nan nan nan 6 7 nan nan nan nan nan nan nan nan nan nan nan nan nan 6 7 7 6 6 6 6 nan nan nan nan nan nan nan nan nan nan nan 5 5 6 6 7 7 7 7 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 312 311 309 308 304 300 296 292 290 289 288 287 287 287 286 285 283 282 279 276 274 267 257 242 219 193 173 163 158 158 160 164 171 174 174 171 166 159 154 148 143 137 132 129 128 129 129 132 135 142 146 149 149 148 143 131 126 128 134 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 14 nan nan nan nan nan 13 12 11 9 6 2 1 7 13 16 16 14 13 13 15 16 nan nan nan nan 8 8 nan nan nan 6 7 nan nan nan nan 7 nan nan nan nan nan nan nan nan nan nan nan nan nan 6 6 7 nan 7 7 7 8 nan nan nan nan nan nan nan nan nan nan 6 6 6 6 7 7 8 8 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 319 318 317 315 313 310 308 306 305 303 302 300 298 296 293 290 287 284 282 280 275 269 255 232 191 164 157 157 162 170 177 180 182 179 nan nan nan nan nan nan nan 147 140 137 134 132 132 134 139 143 145 148 149 146 137 130 129 129 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 16 15 nan nan nan nan 8 9 11 11 9 6 1 358 4 12 17 18 16 14 13 14 15 nan nan nan nan 7 6 nan nan nan 5 6 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 5 6 7 nan nan 9 9 9 nan nan nan nan nan nan nan nan nan nan nan 6 6 7 7 7 8 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 321 319 318 317 315 314 312 309 308 305 302 299 295 291 287 284 281 277 273 264 246 214 182 169 173 184 194 197 nan nan nan nan nan nan nan nan nan nan nan nan 150 143 141 139 139 142 144 147 148 149 147 142 135 131 128 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 6 7 9 10 9 nan 3 1 5 12 16 17 16 15 14 14 14 nan nan nan 8 6 4 nan nan 2 4 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 9 9 nan nan nan nan 10 10 10 nan nan nan nan 6 7 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 227 218 223 229 231 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 152 nan nan nan nan nan nan nan nan 139 136 134 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 6 8 9 9 nan 6 5 6 10 13 14 14 13 13 13 13 nan nan nan 7 6 3 360 358 360 2 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 10 nan nan nan nan 10 10 10 10 nan nan nan nan 7 8 9 10 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 258 261 261 257 246 232 219 213 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 5 5 6 7 8 nan nan nan 9 8 8 9 8 8 9 10 11 11 nan nan nan 6 5 2 359 356 358 0 2 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 9 10 nan nan nan 8 9 10 11 11 nan nan nan 8 9 10 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 271 262 253 244 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 6 6 6 7 nan nan nan nan 9 6 4 1 0 2 5 8 9 nan nan 5 5 4 2 nan nan 358 359 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 7 8 9 10 11 11 nan nan nan 10 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 357 356 358 2 5 6 nan nan 2 3 3 nan nan nan nan 359 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 7 7 8 9 11 12 12 nan nan 12 12 13 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 2 4 nan nan 0 0 2 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 7 8 9 11 12 12 nan nan 13 14 14 14 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 9 10 11 12 13 nan nan 14 14 14 15 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 11 12 13 14 nan nan 15 15 15 15 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 12 13 14 nan nan nan 16 15 15 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 16 16 16 16 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 15 15 15 16 16 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 14 14 14 15 15 16 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 14 14 14 14 15 15 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 14 14 14 14 15 15 16 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 14 13 13 14 15 16 16 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 14 14 14 14 15 16 16 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 14 14 15 16 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 14 15 15 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 15 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 -9 -9 -9 -6 -3 -1 -2 -6 -10 -15 -16 -16 -16 -16 -17 -17 -16 -14 -14 -14 -16 -17 -19 -21 -19 -13 -6 -0 1 -1 -6 -14 -21 -27 -30 -34 -36 -38 -39 -38 -38 -37 -37 -37 -37 -36 -36 -36 -35 -33 -32 -32 -33 -34 -35 -34 -33 -32 -32 -31 -29 -28 -28 -29 -29 -26 -22 -17 -11 -6 -7 -17 -20 -19 -19 -19 -18 -17 -17 -18 -19 -20 -21 -21 -21 -19 -19 -20 -21 -18 -15 -14 -14 -14 -12 -9 -6 -4 -5 -4 -3 -3 -3 -3 -4 -4 -4 -3 -2 -1 -1 -4 -7 -8 -7 -6 -6 -9 -11 -9 -6 -6 -10 -16 -15 -12 -11 -11 -13 -14 -10 -6 -5 -6 -9 -11 -8 -5 -3 -3 -4 -6 -6 -5 -3 -2 -2 -4 -6 -4 -1 1 2 0 -2 -5 -6 -7 -7 -6 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -8 -10 -11 -11 -9 -8 -8 -10 -11 -12 -11 -10 -9 -9 -9 -8 -7 -7 -7 -7 -8 -9 -9 -10 -9 -8 -7 -5 -4 -4 -5 -7 -9 -10 -10 -9 -8 -7 -7 -7 -6 -6 -6 -5 -5 -5 -5 -5 -6 -6 -6 -7 -7 -8 -10 -12 -14 -16 -17 -19 -20 -19 -18 -16 -15 -14 -14 -16 -18 -20 -21 -20 -16 -12 -11 -12 -15 -20 -23 -24 -25 -24 -22 -20 -20 -20 -20 -21 -21 -21 -24 -27 -27 -25 -22 -19 -19 -18 -17 -16 -17 -18 -19 -18 -17 -16 -15 -15 -14 -14 -13 -13 -12 -12 -11 -10 -9 -8 -7 -7 -6 -5 -5 -5 -5 -5 -5 -4 -3 -2 -2 -2 -1 -1 -0 0 1 2 2 3 4 4 5 6 6 7 8 9 10 10 11 12 13 14 15 15 16 15 15 14 14 13 12 12 13 14 16 17 18 18 18 17 16 14 13 13 14 15 17 18 18 18 16 14 13 12 12 12 12 12 12 12 12 12 13 12 11 9 7 6 6 7 9 10 9 8 7 7 8 12 15 15 11 3 -8 -5 8 22 29 28 21 13 9 9 13 14 6 -9 -13 -2 7 4 4 5 6 8 11 15 18 21 22 22 -9 -10 -9 -7 -4 -2 -4 -9 -14 -17 -18 -19 -20 -20 -20 -19 -17 -14 -13 -14 -16 -18 -20 -20 -15 -8 -3 -1 -1 -3 -8 -15 -22 -26 -30 -33 -36 -37 -38 -38 -38 -37 -37 -37 -37 -37 -37 -36 -34 -32 -31 -32 -34 -37 -37 -35 -33 -31 -30 -29 -28 -29 -31 -33 -33 -31 -26 -20 -14 -8 -5 -14 -21 -23 -22 -19 -17 -16 -17 -20 -21 -22 -22 -22 -21 -20 -20 -22 -24 -22 -17 -14 -14 -16 -14 -11 -5 -2 -1 -1 -2 -3 -5 -5 -5 -4 -2 -1 -1 -1 -2 -4 -6 -4 -4 -5 -7 -10 -9 -5 -5 -8 -13 -15 -11 -9 -10 -12 -13 -11 -7 -4 -4 -7 -10 -8 -4 -1 -1 -3 -4 -6 -5 -3 -2 -1 -3 -5 -4 -1 2 2 1 -1 -4 -6 -7 -7 -6 -5 -5 -5 -5 -5 -5 -5 -6 -6 -6 -7 -10 -12 -11 -9 -8 -8 -10 -12 -13 -13 -11 -10 -10 -10 -10 -10 -9 -8 -8 -8 -8 -8 -7 -7 -6 -5 -4 -4 -5 -6 -8 -9 -9 -9 -8 -7 -6 -6 -6 -6 -6 -6 -5 -4 -4 -3 -3 -3 -4 -4 -4 -5 -6 -8 -10 -12 -14 -15 -16 -17 -16 -15 -14 -14 -14 -15 -17 -19 -20 -19 -18 -15 -12 -11 -13 -16 -20 -22 -22 -23 -23 -22 -20 -19 -19 -20 -20 -21 -21 -22 -24 -25 -24 -22 -20 -19 -18 -17 -16 -17 -18 -19 -18 -17 -16 -16 -15 -15 -14 -13 -13 -13 -13 -13 -12 -12 -11 -10 -9 -8 -8 -7 -7 -7 -7 -6 -5 -4 -4 -3 -3 -2 -1 -1 -0 0 1 2 3 4 5 6 7 8 8 9 9 9 10 10 10 11 12 13 14 14 15 14 14 14 13 13 12 12 12 13 14 15 17 17 17 17 16 15 13 13 13 14 16 18 19 19 17 15 13 12 12 12 12 12 12 11 11 11 12 12 11 9 6 5 5 7 10 11 10 9 8 8 9 11 12 13 12 8 2 5 16 25 27 23 15 10 8 12 16 16 8 4 19 39 36 17 10 6 4 2 3 5 6 6 8 11 -9 -9 -9 -8 -6 -6 -9 -13 -17 -19 -20 -22 -23 -23 -22 -20 -16 -13 -12 -14 -16 -18 -19 -16 -11 -6 -5 -4 -2 -2 -9 -16 -23 -27 -30 -33 -35 -36 -36 -37 -37 -38 -37 -37 -37 -37 -38 -36 -34 -32 -31 -32 -35 -37 -37 -35 -33 -31 -29 -28 -29 -31 -33 -35 -35 -32 -28 -23 -17 -10 -5 -11 -20 -24 -23 -19 -16 -16 -18 -20 -21 -21 -21 -22 -23 -23 -23 -23 -24 -22 -17 -14 -16 -18 -15 -9 -2 2 2 -1 -3 -5 -6 -5 -4 -2 -1 -2 -3 -4 -4 -4 -2 -2 -3 -6 -9 -9 -5 -3 -6 -10 -13 -10 -7 -7 -9 -11 -11 -7 -3 -2 -5 -8 -9 -4 -0 1 -1 -3 -4 -4 -3 -1 -0 -2 -4 -4 -1 2 3 2 -1 -3 -5 -6 -7 -7 -6 -5 -5 -5 -5 -5 -5 -5 -5 -6 -7 -9 -11 -10 -8 -7 -7 -9 -12 -14 -13 -12 -10 -10 -11 -12 -12 -11 -10 -10 -9 -9 -8 -7 -6 -5 -5 -5 -5 -6 -7 -9 -10 -10 -8 -7 -6 -5 -5 -5 -5 -5 -5 -5 -4 -3 -2 -2 -2 -2 -2 -2 -3 -4 -5 -7 -8 -10 -11 -11 -11 -11 -11 -11 -11 -12 -14 -15 -17 -18 -17 -16 -14 -13 -13 -15 -17 -19 -20 -20 -21 -22 -22 -21 -20 -19 -20 -20 -20 -20 -20 -21 -21 -21 -20 -19 -18 -17 -16 -15 -16 -17 -18 -18 -17 -16 -16 -16 -15 -14 -13 -13 -13 -13 -13 -13 -13 -12 -11 -11 -10 -9 -9 -8 -8 -7 -6 -5 -5 -5 -4 -4 -3 -2 -1 -0 0 1 1 2 3 4 6 7 9 10 10 11 11 12 11 11 11 12 12 13 13 14 14 14 13 13 13 13 13 12 12 12 13 14 15 16 17 17 17 16 15 14 14 14 16 18 19 20 19 17 15 13 12 13 13 14 13 12 12 12 12 12 11 9 6 5 5 8 12 13 12 11 9 9 9 10 11 11 11 9 8 9 12 14 13 10 6 5 7 11 14 11 7 17 38 55 47 25 13 7 4 -1 -4 -5 -6 -7 -6 -1 -8 -9 -9 -10 -10 -11 -13 -15 -18 -20 -22 -23 -24 -24 -22 -20 -16 -12 -12 -14 -16 -16 -15 -11 -6 -4 -4 -4 0 -0 -8 -17 -24 -28 -30 -32 -33 -34 -35 -36 -37 -37 -37 -37 -37 -37 -37 -36 -34 -32 -32 -34 -35 -36 -36 -35 -32 -30 -29 -29 -31 -33 -35 -36 -34 -31 -29 -26 -21 -15 -7 -5 -10 -16 -19 -18 -17 -17 -18 -18 -18 -18 -19 -21 -22 -23 -22 -21 -22 -21 -17 -16 -17 -17 -11 -4 0 2 0 -3 -5 -5 -3 -2 -1 -2 -5 -6 -6 -5 -3 -1 -0 -3 -6 -8 -8 -4 -2 -3 -7 -10 -8 -4 -4 -6 -9 -10 -7 -2 -1 -3 -6 -8 -6 -1 1 -0 -2 -3 -3 -2 0 1 -0 -2 -3 -1 2 3 2 0 -2 -4 -6 -7 -7 -7 -6 -6 -5 -5 -4 -4 -4 -4 -5 -7 -9 -10 -9 -7 -6 -6 -7 -10 -13 -13 -12 -11 -10 -11 -13 -13 -12 -11 -11 -11 -10 -10 -8 -8 -7 -7 -7 -7 -8 -9 -9 -10 -10 -8 -7 -5 -4 -3 -3 -3 -3 -3 -3 -3 -1 -0 0 0 -0 -0 -0 -1 -1 -2 -3 -4 -5 -5 -5 -5 -5 -6 -7 -8 -10 -11 -12 -13 -14 -14 -14 -14 -14 -15 -16 -17 -17 -18 -18 -19 -21 -22 -22 -21 -20 -20 -20 -20 -18 -17 -16 -17 -17 -17 -17 -17 -16 -14 -13 -14 -15 -16 -16 -16 -15 -15 -15 -15 -14 -13 -13 -12 -12 -12 -13 -13 -12 -12 -12 -11 -10 -9 -8 -7 -7 -6 -5 -4 -4 -4 -4 -3 -2 -1 -0 0 1 1 2 2 3 4 6 7 9 10 11 12 13 14 14 14 14 14 14 14 14 14 13 13 13 13 13 13 13 13 13 12 12 13 13 14 15 16 17 17 16 15 15 14 15 17 19 20 20 19 17 15 14 14 14 15 15 14 13 13 13 12 11 9 7 6 6 8 11 13 13 11 10 9 8 8 8 8 6 5 5 6 5 4 2 -0 -1 0 3 5 5 4 7 17 28 33 28 19 12 9 8 -1 -7 -10 -11 -11 -8 -0 -8 -9 -11 -13 -14 -15 -16 -17 -18 -20 -22 -23 -23 -23 -22 -19 -14 -10 -11 -13 -14 -13 -10 -6 -1 1 0 -0 1 -1 -9 -18 -25 -28 -30 -31 -32 -32 -33 -34 -36 -36 -37 -37 -37 -36 -35 -34 -33 -33 -34 -35 -35 -35 -34 -33 -31 -30 -30 -32 -34 -35 -35 -34 -32 -31 -30 -28 -26 -20 -12 -5 -3 -6 -11 -15 -18 -17 -17 -16 -15 -16 -18 -20 -21 -22 -22 -21 -19 -17 -15 -16 -16 -15 -8 -3 -2 -2 -2 -3 -2 -0 0 -1 -4 -6 -7 -6 -4 -2 -0 1 -2 -5 -7 -6 -3 0 -0 -4 -7 -6 -3 -1 -4 -7 -9 -6 -2 1 -1 -4 -7 -7 -3 0 -0 -2 -2 -3 -2 0 1 0 -1 -2 -0 3 4 3 0 -2 -3 -5 -6 -7 -7 -6 -6 -6 -5 -4 -3 -3 -4 -4 -6 -8 -9 -8 -6 -4 -4 -6 -9 -12 -12 -11 -10 -10 -11 -12 -13 -12 -11 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -7 -6 -5 -4 -3 -2 -2 -2 -1 -1 -0 1 2 2 2 1 1 1 1 1 1 -0 -1 -1 -1 -0 0 0 -1 -3 -5 -7 -8 -8 -9 -9 -10 -12 -13 -14 -15 -15 -15 -15 -16 -16 -18 -20 -21 -21 -20 -19 -19 -19 -17 -15 -13 -12 -12 -14 -15 -16 -16 -15 -13 -12 -12 -13 -14 -14 -14 -14 -14 -14 -13 -13 -12 -12 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -9 -8 -7 -6 -5 -4 -4 -3 -3 -3 -2 -1 -1 0 0 1 1 2 2 3 3 4 5 7 8 10 11 13 14 14 15 15 16 15 15 15 15 14 14 13 13 12 13 13 13 13 13 13 13 13 13 13 14 15 16 16 16 16 15 15 15 16 18 19 20 20 19 18 17 16 15 15 15 15 14 14 13 12 11 10 8 7 7 8 9 10 10 10 9 7 6 6 5 4 2 -0 -0 1 1 1 -0 -2 -2 -2 -2 -4 -4 1 6 9 9 8 5 11 16 19 16 4 -4 -8 -7 -3 5 15 -7 -10 -13 -16 -17 -17 -17 -18 -20 -21 -23 -23 -23 -22 -21 -17 -12 -8 -9 -11 -11 -10 -8 -4 1 3 2 -0 -3 -8 -15 -21 -26 -29 -30 -31 -31 -32 -33 -34 -35 -35 -35 -35 -35 -36 -35 -33 -33 -34 -35 -35 -35 -34 -33 -31 -30 -30 -31 -34 -35 -35 -34 -32 -31 -31 -31 -31 -29 -24 -16 -10 -7 -8 -11 -15 -18 -17 -16 -15 -15 -15 -17 -18 -20 -21 -22 -20 -17 -14 -14 -15 -16 -16 -11 -7 -5 -4 -1 1 2 2 -1 -4 -6 -6 -4 -2 -1 -1 -1 -2 -4 -5 -4 -1 1 1 -2 -5 -5 -3 -1 -3 -6 -8 -6 -2 1 0 -3 -6 -7 -5 -2 -1 -2 -3 -3 -2 -0 1 0 -1 -1 0 3 5 3 0 -2 -3 -4 -6 -6 -6 -6 -6 -6 -5 -4 -3 -3 -3 -4 -6 -7 -8 -7 -6 -4 -3 -5 -8 -10 -11 -10 -8 -8 -9 -10 -11 -11 -10 -9 -9 -9 -9 -8 -8 -8 -9 -9 -9 -9 -8 -7 -6 -6 -5 -5 -4 -4 -3 -3 -2 -1 0 1 2 3 4 4 4 3 3 3 3 3 3 2 2 2 2 3 4 3 2 -0 -2 -3 -4 -4 -4 -5 -7 -10 -12 -13 -13 -12 -11 -11 -12 -14 -16 -18 -19 -19 -18 -17 -16 -16 -14 -11 -9 -8 -9 -11 -14 -15 -15 -14 -12 -11 -11 -12 -12 -12 -11 -11 -12 -12 -12 -11 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -8 -7 -6 -5 -4 -4 -3 -3 -2 -1 -0 0 1 1 1 1 2 2 3 4 5 5 6 7 8 10 11 13 14 15 15 16 16 17 17 16 16 15 15 14 13 13 13 13 13 13 13 13 13 13 13 13 13 14 15 15 16 15 15 14 14 14 16 17 18 20 20 20 19 18 17 16 15 15 15 14 13 12 11 10 9 8 7 7 7 7 7 8 7 6 5 4 3 2 -1 -3 -3 -2 -1 0 -0 -1 -2 -3 -5 -7 -6 -1 2 1 -2 -2 -2 10 22 28 21 12 6 3 4 11 22 27 -9 -12 -15 -18 -19 -19 -20 -20 -22 -23 -24 -24 -23 -21 -19 -16 -10 -6 -8 -11 -13 -14 -14 -10 -6 -5 -6 -9 -14 -18 -22 -25 -28 -30 -31 -31 -31 -32 -33 -33 -34 -33 -33 -34 -34 -34 -34 -33 -33 -33 -34 -35 -34 -33 -32 -31 -30 -30 -31 -33 -33 -33 -32 -31 -31 -31 -31 -32 -30 -26 -20 -17 -16 -16 -16 -17 -18 -18 -18 -17 -16 -16 -17 -18 -19 -21 -21 -18 -16 -14 -15 -16 -18 -20 -16 -9 -5 -2 1 3 2 -1 -4 -5 -4 -2 0 0 -1 -3 -5 -6 -5 -3 -0 1 -0 -2 -6 -6 -5 -3 -4 -6 -7 -5 -2 1 1 -2 -5 -6 -6 -3 -1 -2 -4 -5 -3 -1 1 1 -1 -1 0 3 5 3 -0 -3 -4 -5 -5 -6 -6 -6 -6 -6 -5 -4 -3 -3 -4 -5 -6 -7 -8 -7 -5 -3 -3 -4 -7 -10 -10 -9 -7 -6 -7 -8 -9 -9 -8 -8 -8 -8 -7 -7 -7 -7 -7 -8 -7 -7 -6 -5 -4 -4 -4 -4 -4 -4 -3 -3 -2 -1 0 2 3 5 6 6 6 6 5 5 5 5 4 4 4 4 4 5 5 5 4 3 1 0 1 1 -0 -2 -5 -8 -11 -11 -10 -9 -7 -6 -8 -10 -13 -14 -15 -15 -14 -13 -13 -13 -11 -8 -6 -5 -6 -9 -12 -14 -14 -14 -12 -11 -10 -11 -10 -10 -9 -9 -10 -10 -10 -10 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -6 -6 -5 -5 -4 -3 -3 -2 -1 0 1 1 1 1 1 2 2 4 5 6 7 7 8 9 10 12 13 14 15 16 16 17 17 18 18 18 17 17 16 15 15 14 14 14 13 13 13 13 13 13 13 14 14 14 14 15 14 14 13 13 12 13 14 15 17 18 19 20 20 19 17 16 15 14 14 13 12 11 10 9 8 7 6 5 5 5 6 7 6 5 3 2 1 -1 -3 -3 -2 -0 1 1 1 -1 -3 -5 -7 -7 -5 -3 -3 -3 0 5 13 22 24 16 12 11 12 17 24 30 22 -12 -15 -18 -21 -22 -22 -22 -23 -25 -26 -27 -26 -24 -21 -18 -14 -9 -6 -9 -13 -17 -19 -19 -18 -16 -15 -16 -17 -19 -22 -25 -28 -29 -30 -31 -31 -31 -32 -33 -33 -33 -33 -33 -34 -34 -34 -33 -32 -32 -33 -33 -33 -33 -32 -32 -31 -31 -32 -31 -30 -29 -29 -30 -31 -30 -30 -30 -31 -30 -27 -23 -22 -23 -24 -23 -21 -20 -21 -21 -19 -17 -16 -17 -18 -19 -19 -18 -16 -15 -16 -17 -19 -20 -21 -15 -7 -2 -0 1 1 -2 -5 -6 -4 -1 2 1 -1 -4 -7 -8 -6 -4 -1 -0 -2 -4 -7 -8 -7 -6 -5 -7 -7 -4 -1 2 2 -0 -3 -6 -6 -4 -2 -2 -4 -6 -5 -2 1 2 -0 -1 0 3 4 2 -1 -4 -5 -5 -5 -5 -6 -7 -7 -7 -6 -5 -4 -3 -4 -5 -7 -8 -8 -6 -5 -3 -3 -4 -7 -9 -9 -8 -5 -4 -5 -6 -7 -7 -6 -6 -6 -7 -6 -6 -6 -6 -6 -6 -6 -6 -5 -4 -4 -3 -3 -3 -3 -3 -3 -2 -2 -1 0 2 3 5 7 7 8 8 8 7 7 7 6 6 6 6 6 7 7 7 6 5 4 4 4 4 3 0 -3 -6 -7 -7 -6 -4 -2 -2 -4 -6 -9 -10 -10 -10 -9 -8 -9 -9 -8 -6 -4 -3 -4 -6 -9 -11 -12 -12 -12 -11 -10 -9 -9 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -6 -6 -5 -6 -6 -6 -6 -7 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -3 -2 -1 -0 0 0 0 0 1 1 2 4 5 7 8 8 9 9 10 12 13 14 16 16 17 18 18 19 20 20 20 20 19 19 18 17 17 16 16 15 14 14 14 14 14 14 14 14 15 15 15 14 13 12 11 10 11 12 13 15 17 18 19 19 18 16 15 14 13 13 12 11 10 9 8 6 5 5 4 5 6 7 7 5 4 3 2 1 0 -0 -0 0 1 2 2 0 -2 -6 -8 -9 -6 -3 -1 1 5 10 14 18 19 15 12 13 17 22 27 25 13 -17 -20 -22 -24 -26 -27 -27 -28 -30 -30 -30 -28 -25 -21 -17 -13 -10 -9 -13 -16 -19 -20 -20 -20 -19 -18 -18 -18 -20 -23 -26 -29 -30 -30 -31 -31 -31 -32 -33 -33 -33 -33 -34 -34 -35 -34 -33 -32 -32 -31 -31 -31 -32 -32 -31 -31 -32 -32 -31 -29 -27 -26 -27 -29 -29 -28 -29 -29 -29 -26 -24 -26 -28 -29 -27 -25 -23 -24 -23 -21 -18 -16 -17 -17 -17 -16 -15 -14 -15 -18 -21 -21 -20 -17 -9 -4 -1 -1 -2 -4 -6 -7 -5 -2 1 2 -0 -3 -6 -8 -7 -4 -2 -2 -3 -6 -9 -10 -9 -8 -7 -7 -7 -4 -0 2 3 1 -2 -5 -6 -5 -3 -2 -4 -7 -6 -3 1 2 1 -0 1 3 3 2 -2 -5 -6 -5 -5 -5 -6 -7 -7 -7 -7 -6 -4 -4 -5 -7 -8 -9 -8 -7 -5 -3 -2 -3 -6 -8 -8 -7 -5 -3 -4 -5 -6 -6 -5 -5 -5 -6 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -3 -3 -3 -2 -2 -1 -0 1 2 4 5 6 7 8 8 9 9 9 8 8 8 8 8 8 8 9 8 8 7 6 6 6 6 5 3 -0 -2 -3 -2 -0 1 1 0 -1 -3 -5 -5 -5 -4 -4 -4 -5 -6 -6 -5 -3 -3 -3 -5 -7 -8 -9 -10 -11 -11 -10 -9 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -5 -5 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -2 -2 -1 -1 -0 -0 0 0 1 2 3 5 6 7 8 8 9 10 11 13 15 16 17 18 19 19 20 21 21 22 22 22 22 21 21 20 19 18 17 16 15 14 14 14 15 15 16 16 16 16 16 15 14 12 10 9 9 10 11 13 15 16 17 17 16 15 14 13 12 12 11 10 9 7 6 5 4 4 4 5 6 5 4 2 2 3 3 2 1 1 2 2 2 2 0 -2 -5 -8 -8 -6 -3 0 4 7 9 12 15 18 17 17 18 21 23 23 19 13 -22 -24 -26 -28 -30 -31 -31 -31 -32 -32 -31 -29 -25 -21 -17 -14 -13 -13 -15 -17 -18 -19 -20 -21 -19 -18 -18 -18 -21 -24 -28 -29 -30 -30 -30 -31 -31 -32 -32 -32 -32 -32 -33 -34 -35 -35 -34 -33 -31 -31 -30 -30 -31 -31 -31 -31 -31 -32 -31 -29 -27 -25 -25 -25 -26 -27 -28 -28 -27 -25 -23 -26 -29 -30 -30 -29 -27 -26 -24 -21 -18 -17 -17 -17 -16 -15 -14 -14 -17 -21 -23 -21 -16 -11 -4 -3 -3 -4 -5 -7 -8 -6 -3 -0 0 -1 -2 -3 -4 -4 -3 -1 -2 -4 -7 -10 -11 -10 -8 -7 -7 -7 -4 0 3 3 2 -1 -3 -6 -5 -3 -2 -3 -6 -8 -4 0 3 3 1 1 3 3 2 -2 -6 -7 -6 -5 -6 -6 -7 -8 -8 -8 -7 -6 -5 -6 -8 -9 -9 -8 -7 -5 -3 -3 -3 -5 -7 -7 -6 -4 -3 -3 -5 -6 -5 -5 -4 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -2 -1 -1 -0 0 1 2 3 4 5 6 6 7 7 8 8 8 9 9 9 9 9 10 10 10 9 9 8 8 8 8 7 5 2 1 1 3 4 5 4 3 1 -1 -1 -1 -1 -0 -0 -1 -2 -3 -4 -4 -4 -3 -4 -5 -5 -6 -6 -7 -9 -9 -9 -8 -6 -5 -6 -6 -7 -6 -5 -5 -4 -4 -4 -4 -4 -3 -3 -2 -2 -2 -2 -2 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -2 -2 -1 -0 -0 0 0 0 1 2 3 4 5 6 7 7 8 8 10 11 13 16 18 19 20 20 21 21 22 23 23 24 24 23 23 22 21 20 19 17 16 16 15 15 16 16 17 17 18 18 19 19 18 16 14 11 9 8 8 9 11 12 13 14 14 14 13 13 13 12 11 10 9 7 6 5 5 5 4 4 4 3 1 -0 -1 1 1 1 1 2 2 2 1 0 -1 -3 -5 -8 -8 -7 -5 -2 2 5 7 9 11 15 18 21 22 21 17 14 12 10 -25 -27 -28 -28 -30 -31 -31 -31 -32 -32 -31 -29 -25 -21 -18 -16 -15 -16 -17 -17 -18 -19 -20 -20 -19 -18 -18 -20 -23 -27 -29 -30 -30 -30 -30 -31 -31 -32 -32 -31 -31 -31 -32 -33 -34 -35 -35 -34 -32 -31 -30 -30 -30 -30 -30 -31 -31 -31 -31 -30 -28 -25 -23 -21 -23 -25 -27 -28 -27 -24 -23 -25 -27 -29 -31 -31 -28 -25 -22 -20 -18 -18 -18 -17 -16 -15 -15 -16 -19 -22 -21 -18 -13 -9 -4 -4 -5 -6 -6 -8 -7 -4 -1 -0 -1 -2 -2 -2 -1 1 2 1 -2 -6 -9 -10 -9 -6 -5 -6 -6 -4 -1 2 3 2 0 -2 -5 -6 -4 -1 -2 -5 -7 -5 0 3 4 2 1 3 4 2 -2 -5 -7 -7 -6 -6 -7 -8 -8 -8 -8 -7 -6 -6 -8 -10 -10 -10 -8 -7 -5 -5 -4 -4 -5 -6 -6 -5 -4 -4 -4 -5 -6 -6 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -2 -1 -0 0 1 1 2 3 4 4 5 5 5 6 6 7 7 8 8 9 9 10 10 10 10 10 10 10 10 10 9 8 6 5 4 5 6 8 8 6 4 2 1 1 1 2 2 2 1 -1 -2 -3 -4 -4 -4 -5 -5 -5 -4 -4 -4 -6 -7 -7 -6 -5 -4 -4 -5 -6 -6 -5 -4 -4 -3 -3 -2 -2 -2 -2 -2 -1 -1 -0 -0 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -0 0 0 1 1 1 1 2 2 3 4 4 5 5 6 7 7 9 10 12 15 17 19 20 21 21 22 22 23 23 24 24 24 24 23 22 21 20 19 18 17 17 17 17 18 18 19 20 20 21 21 21 20 19 16 14 11 9 8 8 8 10 11 11 12 12 13 13 12 12 11 10 9 8 7 6 5 4 4 3 1 -1 -3 -4 -3 -2 -1 -0 1 1 0 -1 -2 -3 -4 -6 -8 -9 -9 -8 -6 -3 1 4 7 9 13 17 20 19 14 8 5 5 5 -27 -28 -28 -29 -30 -31 -31 -32 -32 -32 -31 -29 -25 -22 -19 -18 -18 -17 -16 -17 -17 -19 -19 -19 -18 -19 -20 -23 -26 -28 -30 -30 -30 -30 -30 -31 -31 -31 -31 -31 -30 -30 -30 -31 -32 -33 -34 -34 -33 -32 -32 -31 -31 -30 -30 -30 -30 -30 -31 -30 -28 -24 -21 -19 -20 -23 -27 -28 -27 -25 -23 -24 -24 -27 -29 -29 -27 -25 -22 -20 -20 -21 -21 -19 -17 -15 -15 -17 -20 -20 -17 -12 -9 -10 -6 -6 -6 -6 -6 -6 -4 -1 0 0 -1 -3 -2 0 3 5 5 1 -3 -6 -8 -7 -4 -2 -3 -4 -4 -2 1 2 1 0 -2 -4 -6 -4 -1 -1 -4 -7 -6 0 4 5 4 2 3 4 3 -1 -4 -7 -7 -6 -6 -7 -8 -8 -8 -8 -7 -7 -7 -8 -11 -12 -11 -9 -7 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -6 -7 -7 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -4 -4 -3 -3 -3 -2 -2 -3 -2 -2 -1 -0 -0 0 1 1 2 3 3 4 4 4 5 5 6 7 7 7 8 8 9 9 10 10 9 10 10 11 11 11 10 8 7 6 7 9 10 10 8 5 3 1 1 2 3 3 3 2 1 -0 -2 -3 -4 -4 -5 -5 -4 -3 -2 -2 -3 -5 -6 -5 -4 -2 -2 -4 -4 -5 -4 -4 -4 -3 -2 -2 -1 -1 -1 -1 -0 0 1 1 1 1 1 0 0 1 1 1 0 0 -0 -0 -0 -0 -0 0 1 1 1 1 1 1 2 2 3 3 4 4 4 5 5 6 7 8 10 11 13 16 18 20 21 22 22 22 23 23 24 24 24 24 24 24 23 21 20 19 19 18 18 18 19 19 20 20 21 22 23 23 23 23 22 20 18 15 13 11 9 9 9 10 11 12 13 13 14 13 13 12 11 10 9 7 6 5 3 1 -2 -4 -6 -7 -6 -6 -4 -2 -1 -0 -1 -3 -4 -5 -6 -8 -10 -12 -13 -13 -11 -8 -5 -1 2 6 10 14 14 11 4 -1 2 3 1 -29 -30 -30 -30 -31 -32 -33 -33 -33 -32 -31 -29 -25 -22 -20 -20 -19 -17 -15 -15 -16 -17 -18 -17 -18 -20 -22 -25 -28 -29 -30 -30 -30 -30 -30 -31 -31 -31 -31 -30 -30 -29 -30 -30 -31 -32 -32 -32 -32 -32 -33 -33 -32 -31 -30 -29 -29 -30 -31 -30 -27 -24 -21 -20 -21 -24 -26 -28 -27 -25 -23 -22 -21 -23 -24 -25 -26 -25 -22 -21 -22 -24 -23 -20 -17 -16 -16 -17 -18 -16 -13 -11 -10 -10 -6 -6 -5 -5 -5 -4 -1 1 1 -1 -3 -3 -2 2 4 5 4 0 -3 -5 -5 -3 -0 -0 -3 -4 -3 -1 1 0 -1 -3 -5 -5 -3 0 1 -2 -6 -6 -0 5 7 5 3 3 4 4 1 -3 -5 -6 -5 -5 -6 -7 -8 -8 -7 -7 -6 -7 -8 -11 -13 -11 -9 -7 -6 -7 -9 -9 -8 -7 -7 -7 -7 -7 -7 -7 -8 -8 -7 -7 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -2 -1 -1 -1 -0 0 1 1 2 2 3 3 4 4 5 6 6 7 7 7 8 8 9 9 9 9 10 11 11 12 11 10 9 8 9 10 10 10 8 6 3 2 2 3 4 4 4 3 2 1 0 -1 -2 -3 -3 -3 -3 -2 -2 -1 -2 -3 -4 -3 -2 -1 -1 -2 -3 -3 -2 -2 -3 -3 -2 -1 -1 -0 0 0 1 1 1 1 2 2 1 1 2 2 2 2 2 2 2 2 1 1 1 1 1 2 2 1 1 1 2 2 3 4 4 4 4 5 5 5 6 7 8 10 11 13 15 17 19 20 22 23 23 24 24 25 25 25 26 26 25 24 23 22 21 20 19 19 19 19 19 19 20 20 21 22 23 23 24 24 24 23 22 20 18 16 15 14 14 14 15 16 16 17 17 16 15 14 12 10 8 7 6 4 1 -3 -7 -8 -9 -9 -8 -7 -5 -3 -2 -3 -4 -6 -7 -9 -11 -13 -15 -17 -17 -15 -12 -10 -7 -3 1 4 7 6 2 -3 -3 1 2 -1 -31 -31 -31 -31 -32 -33 -34 -34 -34 -33 -31 -28 -24 -20 -19 -19 -19 -17 -15 -14 -14 -16 -17 -17 -18 -21 -23 -26 -28 -29 -30 -30 -30 -30 -30 -30 -31 -31 -31 -30 -29 -29 -30 -30 -31 -31 -30 -30 -30 -31 -32 -33 -33 -31 -30 -29 -29 -29 -30 -29 -27 -23 -22 -22 -23 -25 -27 -26 -25 -23 -21 -20 -20 -20 -20 -20 -24 -25 -23 -22 -23 -24 -23 -20 -17 -15 -16 -16 -15 -13 -11 -10 -10 -10 -5 -5 -5 -4 -3 -1 0 1 -1 -3 -4 -3 -1 2 4 3 1 -1 -3 -3 -1 1 1 -2 -5 -4 -2 -0 -0 -2 -5 -6 -5 -2 2 3 0 -4 -5 -1 5 8 8 5 4 4 5 2 -1 -3 -4 -3 -4 -5 -7 -7 -7 -7 -6 -6 -6 -8 -11 -13 -12 -9 -7 -6 -8 -11 -12 -11 -9 -8 -8 -9 -10 -9 -9 -9 -9 -9 -8 -8 -7 -7 -7 -6 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -5 -4 -3 -2 -2 -2 -1 -1 -1 -0 0 1 1 2 2 3 4 5 5 6 6 6 7 7 7 8 8 9 9 10 11 12 12 12 11 10 10 10 10 9 8 6 4 4 3 4 5 5 5 5 4 3 3 1 0 -1 -1 -1 -1 -0 -1 -1 -1 -2 -3 -2 -1 -0 0 -1 -1 -1 -1 -0 -1 -1 -1 -1 -0 0 1 1 2 2 2 2 2 2 2 2 2 2 3 3 4 4 4 4 3 3 3 2 3 3 3 3 3 2 3 3 3 4 5 5 5 5 5 5 6 6 7 8 10 11 12 14 16 18 20 22 23 24 25 26 27 27 27 27 27 27 26 25 24 23 22 21 20 20 19 19 19 19 19 19 20 21 22 23 24 25 26 26 25 24 23 22 22 21 21 22 22 22 22 21 20 18 15 12 9 8 7 6 5 2 -3 -8 -9 -10 -10 -9 -8 -6 -4 -4 -4 -5 -6 -8 -10 -12 -14 -17 -19 -19 -17 -14 -12 -9 -7 -4 -1 0 -0 -2 -4 -2 0 -0 -3 -33 -32 -32 -31 -32 -32 -33 -33 -33 -32 -29 -26 -22 -19 -19 -20 -20 -18 -16 -16 -15 -16 -17 -19 -21 -23 -25 -26 -28 -29 -29 -29 -29 -29 -29 -30 -31 -31 -30 -29 -29 -29 -30 -30 -30 -30 -29 -29 -29 -30 -31 -32 -32 -31 -30 -29 -29 -29 -29 -28 -25 -23 -22 -23 -24 -26 -26 -23 -21 -19 -18 -18 -19 -20 -19 -17 -23 -25 -23 -22 -23 -23 -23 -20 -16 -14 -14 -15 -13 -13 -11 -9 -9 -10 -5 -4 -5 -4 -2 -0 -0 -2 -3 -5 -4 -2 1 2 2 0 -2 -2 -1 1 2 2 -1 -5 -6 -4 -2 -1 -2 -6 -7 -6 -2 2 5 4 -0 -3 -2 3 9 9 7 6 5 5 4 1 -1 -2 -2 -2 -4 -6 -6 -6 -6 -6 -5 -5 -7 -10 -12 -12 -9 -6 -6 -8 -11 -14 -13 -10 -8 -8 -9 -11 -11 -10 -9 -9 -9 -9 -9 -8 -8 -8 -7 -7 -7 -7 -7 -7 -6 -6 -5 -5 -5 -5 -5 -5 -4 -3 -2 -2 -2 -1 -1 -1 -1 -0 -0 0 1 1 2 3 4 4 5 5 6 6 7 7 7 8 9 10 11 12 13 13 12 12 11 11 10 9 8 7 6 6 6 7 7 8 8 7 6 5 5 4 3 1 1 1 2 2 1 0 -1 -1 -1 -1 -0 1 1 1 -0 0 1 1 1 0 0 0 0 1 1 2 2 3 3 3 3 3 3 3 3 3 3 4 4 5 6 6 6 5 5 4 4 4 4 4 4 4 4 4 4 5 5 6 6 6 6 6 7 7 7 8 9 10 11 12 13 15 17 18 21 23 24 26 27 28 28 29 29 29 28 28 27 26 25 24 23 22 21 21 20 19 18 18 18 19 19 20 20 22 23 25 26 26 26 26 26 26 26 27 27 27 27 26 24 22 19 16 12 9 7 6 6 5 3 -1 -5 -8 -9 -9 -9 -7 -6 -6 -5 -5 -5 -6 -7 -9 -10 -12 -15 -17 -18 -16 -14 -11 -9 -7 -6 -4 -4 -4 -4 -4 -2 -2 -2 -3 -34 -33 -31 -30 -30 -30 -31 -32 -31 -29 -26 -23 -20 -19 -20 -20 -20 -20 -20 -19 -18 -19 -21 -23 -25 -26 -27 -29 -29 -29 -28 -28 -28 -28 -29 -30 -31 -31 -30 -29 -28 -28 -29 -29 -29 -29 -28 -28 -28 -29 -30 -31 -31 -31 -30 -29 -29 -28 -28 -26 -24 -22 -21 -22 -24 -25 -23 -19 -16 -15 -16 -18 -20 -21 -19 -18 -22 -23 -22 -21 -22 -22 -22 -19 -16 -14 -13 -13 -12 -12 -11 -8 -7 -9 -4 -4 -4 -3 -1 -1 -3 -5 -6 -5 -3 -1 1 1 -1 -2 -3 -2 1 3 3 1 -3 -6 -6 -4 -2 -3 -6 -8 -7 -3 1 5 7 4 -0 -1 2 7 10 9 7 5 4 4 2 1 -0 -0 -1 -3 -5 -5 -5 -5 -5 -5 -5 -6 -8 -10 -11 -8 -5 -5 -7 -11 -14 -14 -11 -8 -7 -9 -12 -13 -11 -10 -9 -9 -10 -10 -10 -9 -9 -9 -8 -8 -8 -8 -8 -7 -7 -6 -6 -6 -5 -6 -5 -5 -4 -3 -2 -2 -1 -1 -1 -0 -0 -0 -1 -0 -0 1 1 2 3 3 4 4 5 6 6 6 7 8 9 10 11 12 12 12 12 12 11 11 10 10 9 9 9 9 10 10 10 10 10 9 8 7 6 5 4 3 3 4 4 3 1 0 -0 -0 0 1 2 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 4 4 4 4 4 4 4 4 4 5 5 6 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 6 7 7 8 8 8 8 8 8 9 9 10 10 12 13 14 16 17 19 21 23 25 26 28 28 29 29 30 30 29 29 28 28 27 26 25 24 23 22 21 20 19 19 19 19 19 19 20 21 22 23 24 25 26 26 27 27 28 28 28 28 27 25 22 20 16 13 10 7 6 5 5 4 1 -1 -3 -4 -5 -5 -4 -4 -5 -6 -6 -5 -5 -5 -6 -8 -9 -11 -13 -14 -13 -12 -10 -8 -6 -5 -5 -5 -5 -4 -4 -2 -1 -1 -1 -32 -30 -27 -27 -27 -29 -30 -29 -28 -26 -24 -21 -20 -20 -20 -21 -22 -23 -23 -23 -23 -23 -25 -27 -29 -30 -30 -30 -30 -29 -28 -27 -27 -27 -28 -30 -30 -30 -29 -28 -28 -28 -28 -28 -28 -28 -28 -27 -27 -28 -29 -29 -29 -29 -28 -28 -27 -27 -26 -24 -22 -21 -21 -22 -24 -23 -19 -14 -12 -13 -15 -18 -21 -22 -21 -19 -19 -19 -19 -19 -19 -20 -20 -18 -16 -14 -13 -12 -11 -11 -11 -8 -5 -7 -2 -3 -3 -3 -2 -3 -5 -7 -6 -5 -2 0 0 -1 -3 -3 -3 -0 3 3 1 -2 -5 -6 -5 -4 -4 -6 -8 -8 -4 1 4 6 6 3 0 1 5 9 10 9 6 5 3 2 1 1 0 -0 -2 -4 -5 -4 -4 -4 -5 -5 -6 -7 -9 -9 -7 -4 -3 -6 -9 -12 -13 -11 -7 -6 -8 -12 -14 -13 -10 -8 -9 -10 -11 -11 -11 -10 -10 -10 -9 -9 -9 -9 -8 -8 -7 -6 -6 -6 -6 -6 -5 -4 -4 -3 -2 -2 -1 -0 -0 -0 -0 -0 -0 -0 -0 0 1 1 2 2 3 4 4 5 6 6 7 8 9 10 11 12 12 12 12 12 11 11 11 11 10 10 10 11 11 11 11 11 10 9 8 7 6 5 4 4 5 5 4 3 2 1 1 2 3 3 3 3 2 2 2 3 3 3 2 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 6 6 7 8 8 9 9 9 9 9 8 8 8 8 8 7 7 7 7 8 8 9 9 9 9 9 9 10 10 10 10 10 11 13 14 15 16 17 19 21 23 24 26 27 28 29 30 30 31 31 30 30 30 29 28 28 27 26 25 23 22 21 21 20 20 20 20 20 20 21 22 23 23 24 25 26 27 27 27 27 26 25 23 21 19 16 13 10 8 7 6 5 4 3 2 2 2 2 2 -0 -3 -5 -6 -5 -4 -4 -5 -6 -8 -9 -9 -9 -10 -10 -9 -8 -6 -5 -5 -5 -6 -6 -4 -2 -0 1 2 -27 -24 -23 -23 -25 -27 -29 -29 -27 -26 -24 -23 -22 -20 -20 -22 -23 -25 -25 -25 -25 -26 -28 -30 -31 -31 -31 -31 -30 -29 -27 -27 -26 -27 -28 -29 -29 -29 -28 -28 -28 -27 -27 -27 -27 -27 -27 -27 -27 -28 -28 -28 -27 -27 -26 -26 -25 -25 -24 -23 -22 -22 -23 -24 -24 -21 -15 -11 -10 -12 -16 -19 -22 -22 -21 -18 -15 -13 -13 -13 -14 -15 -16 -15 -15 -16 -15 -13 -11 -11 -11 -8 -4 -5 -0 -2 -3 -3 -3 -4 -6 -7 -6 -4 -2 -1 -2 -3 -3 -3 -1 2 2 0 -2 -4 -5 -5 -3 -4 -6 -8 -7 -3 1 4 6 7 6 3 2 3 7 9 10 8 6 4 2 2 1 1 0 -1 -3 -4 -4 -4 -4 -5 -5 -6 -7 -8 -8 -7 -4 -2 -4 -7 -11 -12 -10 -6 -5 -7 -11 -14 -13 -10 -8 -8 -10 -12 -12 -12 -11 -11 -11 -10 -10 -10 -10 -10 -9 -8 -7 -7 -6 -6 -6 -6 -5 -4 -4 -3 -3 -2 -1 -1 -0 -0 -0 -0 -0 0 0 0 1 1 1 2 2 3 3 4 5 6 7 8 9 10 10 11 11 11 11 11 11 11 11 11 11 11 10 10 10 10 10 10 9 8 6 5 5 4 5 5 6 5 4 3 2 3 4 5 6 5 5 3 3 3 4 4 4 3 3 3 4 4 4 4 5 4 4 4 4 5 5 5 5 5 5 6 6 7 7 8 8 9 9 10 10 10 10 10 10 10 9 9 9 9 9 9 9 9 10 10 10 11 11 11 11 11 11 11 11 11 12 13 14 15 16 17 19 20 22 24 25 27 28 29 30 30 31 31 32 32 32 32 32 31 30 29 28 26 25 24 23 23 22 21 21 20 20 21 21 21 22 23 24 25 25 26 25 25 24 24 23 22 20 18 15 12 10 9 8 8 7 8 8 8 8 7 5 2 -1 -3 -4 -4 -5 -5 -7 -8 -9 -8 -7 -7 -8 -9 -10 -8 -7 -7 -7 -8 -7 -5 -3 -0 2 3 -25 -24 -24 -25 -26 -28 -29 -30 -28 -26 -24 -23 -22 -21 -21 -23 -25 -26 -26 -25 -26 -27 -28 -30 -31 -31 -31 -31 -30 -28 -27 -26 -26 -26 -27 -28 -28 -28 -27 -27 -27 -27 -26 -26 -25 -25 -25 -26 -27 -27 -26 -26 -25 -24 -23 -23 -23 -23 -22 -21 -22 -23 -24 -25 -25 -20 -14 -10 -10 -13 -17 -20 -22 -21 -19 -15 -11 -8 -7 -7 -7 -9 -11 -12 -14 -15 -15 -12 -10 -11 -11 -9 -4 -1 2 -1 -3 -4 -4 -5 -6 -6 -5 -4 -3 -4 -4 -4 -3 -1 1 1 -1 -3 -5 -5 -4 -3 -3 -5 -7 -6 -2 2 5 6 7 7 5 3 3 6 9 10 9 7 5 3 2 1 2 1 -1 -3 -4 -4 -4 -4 -4 -5 -6 -7 -8 -8 -6 -4 -1 -2 -5 -9 -10 -9 -6 -3 -5 -10 -13 -14 -11 -8 -8 -10 -12 -13 -13 -12 -12 -12 -12 -11 -11 -11 -11 -10 -9 -8 -8 -7 -7 -7 -7 -6 -6 -5 -4 -4 -3 -3 -2 -1 -1 -1 -0 -0 0 0 1 1 1 1 1 1 2 2 3 3 4 5 6 7 8 8 9 9 10 11 11 11 11 11 11 11 10 9 8 8 8 8 8 8 7 5 4 4 4 4 5 5 4 4 3 3 4 5 6 8 7 6 5 4 4 5 5 5 5 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 7 8 8 8 9 9 9 10 11 11 11 12 12 11 11 11 11 10 10 10 10 11 11 11 12 12 12 12 12 12 12 12 12 12 12 13 13 14 15 16 17 19 20 22 23 25 26 27 28 28 29 31 32 33 34 34 35 35 35 34 33 31 30 28 27 26 25 24 23 23 22 21 21 21 21 22 23 23 24 24 24 24 24 24 24 24 23 22 19 17 15 13 12 11 11 12 12 12 11 9 8 6 4 1 -2 -3 -4 -6 -7 -8 -8 -7 -5 -5 -6 -9 -11 -10 -10 -9 -10 -10 -9 -6 -4 -1 2 3 -30 -29 -28 -27 -27 -28 -30 -31 -28 -25 -22 -22 -22 -22 -22 -24 -25 -26 -26 -26 -26 -27 -29 -30 -31 -30 -30 -29 -28 -26 -25 -25 -25 -26 -27 -27 -27 -27 -26 -26 -26 -26 -25 -24 -24 -24 -24 -25 -25 -25 -24 -23 -21 -21 -21 -21 -21 -21 -20 -21 -23 -24 -25 -25 -24 -19 -15 -12 -13 -15 -19 -21 -21 -20 -17 -14 -10 -7 -5 -3 -3 -5 -8 -11 -14 -14 -13 -10 -9 -12 -13 -11 -6 -1 2 -1 -3 -4 -4 -5 -5 -5 -5 -5 -6 -7 -6 -4 -2 -0 0 -1 -3 -5 -5 -4 -3 -2 -3 -5 -4 -1 4 7 8 8 8 7 5 3 5 8 10 10 7 5 4 3 2 2 2 1 -2 -3 -4 -3 -3 -3 -5 -6 -7 -8 -8 -6 -4 -1 -0 -3 -7 -9 -8 -6 -3 -3 -8 -12 -13 -11 -8 -7 -10 -12 -14 -14 -13 -13 -13 -12 -12 -12 -12 -12 -11 -10 -9 -9 -8 -8 -8 -8 -7 -7 -6 -6 -5 -5 -4 -3 -3 -3 -2 -2 -1 -1 -0 0 1 1 1 1 1 1 1 2 2 2 3 4 5 6 6 7 8 8 9 10 11 11 11 10 10 9 8 7 6 7 7 8 7 6 5 4 3 3 4 4 4 4 3 3 3 4 5 7 8 8 7 6 5 5 6 7 7 6 6 6 5 5 5 5 5 6 6 6 5 5 6 6 6 6 6 6 7 7 8 8 8 9 9 9 10 10 11 11 12 13 13 13 13 13 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 15 16 17 19 20 21 23 24 25 26 27 28 29 30 31 33 34 36 37 37 37 36 35 34 32 31 29 28 27 26 26 25 24 23 22 22 22 23 23 24 24 24 24 23 24 24 25 25 24 22 20 19 17 16 15 15 14 14 13 11 9 8 7 6 4 1 -1 -2 -4 -5 -6 -5 -4 -3 -3 -5 -8 -10 -11 -11 -11 -12 -11 -8 -6 -3 -1 0 1 -33 -31 -29 -27 -27 -28 -30 -30 -26 -23 -21 -22 -23 -23 -24 -25 -26 -27 -27 -27 -28 -28 -29 -30 -30 -30 -29 -27 -25 -24 -23 -23 -24 -25 -26 -27 -26 -26 -25 -25 -25 -25 -24 -23 -22 -22 -22 -22 -22 -21 -19 -18 -18 -18 -19 -20 -20 -20 -20 -21 -23 -24 -25 -24 -22 -19 -16 -15 -16 -19 -22 -22 -21 -19 -16 -13 -10 -9 -7 -6 -5 -6 -9 -12 -14 -13 -11 -9 -10 -14 -16 -15 -11 -6 1 -1 -3 -3 -3 -4 -5 -6 -7 -7 -8 -7 -5 -4 -2 -2 -2 -3 -4 -4 -3 -2 -2 -2 -3 -3 -0 4 7 9 10 9 8 6 3 4 7 9 10 8 5 4 3 2 3 3 2 -0 -2 -3 -2 -2 -2 -4 -5 -7 -8 -8 -7 -4 -1 0 -1 -5 -8 -8 -6 -3 -3 -5 -10 -12 -10 -8 -6 -8 -12 -14 -14 -13 -13 -13 -13 -12 -12 -12 -12 -12 -11 -10 -10 -9 -9 -9 -8 -8 -8 -7 -7 -7 -6 -5 -5 -4 -4 -4 -3 -3 -2 -1 -0 0 0 1 1 1 1 1 1 1 1 2 2 3 4 5 5 6 7 8 9 10 10 10 9 9 8 7 6 6 6 7 7 7 6 5 4 3 3 3 3 3 3 2 2 2 4 5 6 7 8 7 6 5 6 7 8 8 7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 8 8 8 9 9 9 9 10 10 11 12 12 13 14 14 14 14 14 14 13 13 13 13 13 14 14 15 15 15 15 15 14 14 14 14 14 14 14 14 14 15 15 16 17 19 20 21 22 23 24 25 26 27 29 30 31 33 35 36 37 38 38 38 37 36 34 33 31 30 29 29 28 26 25 25 24 24 24 24 24 24 24 24 24 24 24 25 25 25 24 23 22 20 19 18 17 15 14 12 10 9 8 7 7 6 4 2 0 -1 -2 -2 -1 -0 0 -1 -3 -5 -8 -10 -11 -11 -11 -9 -5 -3 -2 -2 -3 -2 -32 -29 -26 -24 -24 -25 -26 -25 -21 -19 -19 -20 -22 -23 -25 -26 -27 -28 -28 -28 -28 -29 -29 -29 -29 -29 -27 -25 -23 -21 -20 -21 -23 -25 -26 -26 -26 -26 -25 -24 -24 -23 -23 -22 -21 -21 -20 -19 -18 -16 -15 -15 -15 -17 -18 -18 -19 -19 -19 -20 -21 -23 -23 -22 -21 -18 -17 -17 -18 -21 -23 -22 -19 -17 -15 -13 -12 -12 -11 -10 -10 -10 -12 -13 -14 -12 -10 -10 -12 -16 -18 -17 -13 -9 -1 -2 -3 -3 -3 -4 -6 -8 -9 -9 -8 -6 -4 -3 -3 -3 -4 -3 -2 -1 -0 -0 -1 -2 -2 0 3 6 8 10 9 8 5 3 2 5 8 9 8 5 3 3 2 2 3 3 1 -1 -1 -1 -0 -0 -2 -4 -5 -7 -7 -7 -4 -2 0 -0 -3 -7 -7 -5 -3 -2 -4 -8 -10 -9 -7 -6 -7 -11 -14 -14 -13 -13 -13 -13 -13 -12 -12 -13 -13 -12 -11 -10 -10 -10 -9 -9 -9 -8 -8 -8 -7 -7 -7 -6 -6 -5 -5 -5 -4 -3 -2 -1 -1 -1 -0 -0 0 1 1 1 1 1 1 1 2 3 3 4 5 6 7 7 8 8 9 8 8 7 7 6 6 6 6 7 7 6 5 4 3 3 3 2 2 1 1 1 1 2 4 5 5 6 6 5 5 6 7 8 8 8 8 8 7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 8 8 9 9 9 10 10 10 10 11 12 13 13 14 15 15 15 15 15 14 14 14 14 14 15 15 16 16 17 17 16 16 16 15 15 15 15 14 14 15 15 15 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 32 34 36 37 38 39 39 38 37 36 34 33 32 32 31 29 28 27 26 26 26 25 25 25 25 25 24 24 24 25 25 26 25 25 24 23 22 20 18 16 14 13 11 9 8 8 7 7 6 4 3 1 0 1 3 3 3 2 0 -2 -4 -7 -8 -9 -8 -5 -3 -1 -1 -4 -6 -6 -28 -24 -21 -19 -19 -20 -21 -18 -14 -13 -14 -16 -18 -20 -23 -25 -27 -28 -28 -27 -27 -28 -28 -28 -28 -27 -26 -24 -22 -20 -19 -21 -22 -24 -25 -26 -26 -25 -25 -24 -23 -23 -22 -21 -20 -19 -18 -17 -14 -13 -12 -13 -14 -15 -16 -17 -17 -18 -18 -19 -20 -20 -21 -20 -19 -18 -17 -18 -20 -22 -23 -20 -17 -15 -13 -13 -14 -15 -16 -16 -15 -14 -15 -15 -14 -12 -12 -12 -14 -15 -16 -14 -12 -9 -2 -2 -3 -3 -3 -5 -8 -10 -10 -9 -6 -4 -3 -3 -3 -4 -3 -2 -0 1 1 0 -0 -1 -0 1 3 6 7 7 6 3 2 2 4 6 7 7 5 3 2 2 2 2 2 1 -0 -1 -1 -0 0 -0 -2 -4 -5 -6 -5 -4 -2 -0 -0 -3 -6 -7 -5 -3 -2 -3 -7 -9 -8 -6 -5 -6 -10 -13 -14 -13 -12 -12 -13 -13 -13 -12 -13 -13 -13 -12 -11 -11 -10 -10 -9 -9 -8 -8 -8 -7 -7 -7 -7 -7 -7 -6 -6 -5 -4 -4 -3 -2 -1 -1 -1 -1 -0 1 1 1 1 1 1 1 2 2 3 4 4 5 6 6 6 7 7 7 7 6 6 6 6 6 6 6 6 5 4 4 3 2 1 1 -0 -1 -1 -0 0 2 3 3 4 4 4 4 6 7 8 8 8 8 8 8 7 7 7 7 7 7 6 6 6 6 6 6 6 6 7 7 7 7 7 8 8 8 9 9 10 10 10 11 11 12 12 13 14 15 16 16 16 16 15 15 15 15 15 16 17 17 18 18 18 18 18 17 17 16 16 15 15 15 15 15 15 15 16 16 16 17 18 19 20 21 22 23 24 25 26 28 29 31 33 35 36 38 38 39 39 38 37 37 36 35 34 33 32 31 30 29 28 28 27 27 27 26 26 25 25 25 25 25 26 26 25 25 23 22 20 18 16 14 13 11 10 9 8 8 7 6 5 3 2 3 5 5 5 4 3 2 -0 -2 -4 -4 -3 -2 -1 -1 -3 -6 -9 -9 -23 -18 -15 -15 -16 -17 -17 -13 -10 -8 -9 -11 -15 -18 -21 -23 -24 -25 -26 -26 -26 -26 -26 -26 -26 -25 -24 -23 -21 -19 -19 -20 -22 -23 -24 -25 -25 -25 -24 -23 -22 -22 -21 -21 -20 -18 -17 -14 -12 -11 -10 -11 -13 -14 -14 -15 -15 -16 -17 -17 -18 -18 -18 -17 -17 -17 -18 -19 -20 -21 -21 -19 -15 -13 -13 -15 -18 -20 -21 -20 -19 -18 -17 -16 -15 -14 -14 -15 -14 -12 -12 -11 -9 -8 -2 -2 -3 -4 -5 -8 -11 -11 -10 -7 -5 -4 -3 -3 -3 -2 -1 -0 1 1 1 1 0 1 1 2 3 3 4 2 1 -0 0 2 5 6 5 4 3 2 1 1 2 2 1 -0 -1 -1 -0 -0 -0 -1 -3 -4 -4 -4 -4 -2 -0 -1 -3 -5 -7 -5 -3 -2 -3 -6 -8 -8 -4 -3 -5 -9 -12 -13 -13 -12 -12 -13 -13 -12 -12 -13 -13 -14 -13 -13 -12 -11 -10 -10 -9 -9 -8 -8 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -5 -4 -3 -3 -2 -2 -2 -1 -1 0 1 1 1 1 1 2 2 3 3 3 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 5 5 4 4 3 2 1 0 -1 -2 -2 -2 -1 -0 0 1 1 2 2 3 4 6 7 8 8 7 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 8 8 8 9 9 10 10 11 11 11 12 12 13 15 16 16 17 17 17 17 16 16 16 16 17 17 18 19 19 20 20 19 19 18 18 17 17 16 16 15 16 16 16 16 16 16 16 16 16 17 17 18 20 21 22 24 25 27 29 30 32 33 35 37 38 39 39 39 39 38 38 37 36 35 34 34 33 32 31 30 30 29 28 28 27 26 25 25 25 26 26 26 26 25 23 22 20 19 17 15 14 12 11 10 9 9 8 7 5 5 5 6 6 5 4 5 5 4 3 1 -0 0 1 1 -1 -4 -8 -10 -10 -20 -16 -14 -15 -17 -18 -18 -15 -12 -10 -11 -14 -17 -20 -21 -22 -22 -23 -23 -25 -25 -25 -24 -24 -24 -23 -22 -20 -19 -19 -19 -20 -22 -23 -25 -25 -24 -24 -23 -22 -21 -21 -20 -20 -19 -17 -15 -13 -11 -10 -9 -10 -11 -12 -12 -13 -13 -14 -15 -16 -16 -16 -15 -15 -15 -16 -17 -18 -19 -19 -19 -17 -14 -13 -14 -18 -22 -24 -24 -22 -21 -20 -20 -19 -19 -18 -16 -15 -13 -10 -9 -8 -7 -7 -1 -1 -3 -6 -8 -11 -12 -11 -8 -5 -4 -3 -3 -2 -2 -1 0 1 1 1 1 1 1 2 2 1 1 0 -1 -2 -3 -2 1 3 5 4 3 3 2 1 1 1 2 1 -0 -1 -1 -1 -1 -1 -2 -2 -3 -3 -3 -3 -2 -1 -0 -2 -4 -5 -5 -2 -1 -3 -5 -8 -7 -4 -2 -4 -8 -11 -13 -11 -11 -11 -12 -13 -12 -12 -12 -13 -13 -14 -13 -13 -12 -11 -10 -10 -9 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -4 -4 -3 -3 -3 -3 -2 -2 -1 -1 -0 -0 0 0 1 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 5 5 5 5 4 4 3 3 2 1 0 -1 -1 -2 -2 -2 -1 -1 -1 -0 0 1 2 3 4 5 6 6 6 6 7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 8 8 8 8 8 9 9 10 10 11 11 11 12 13 14 15 17 17 18 18 18 18 17 17 17 17 18 19 19 20 20 20 20 20 20 20 19 18 17 17 16 16 16 16 16 16 16 16 15 15 15 15 16 17 19 20 22 24 25 26 27 29 30 32 34 35 37 38 39 40 40 40 39 39 38 38 37 36 35 34 33 32 31 30 30 29 27 26 26 26 26 27 27 26 25 24 23 22 21 19 17 15 13 12 11 11 10 10 9 8 7 7 6 5 4 4 5 6 6 5 4 3 3 3 2 -1 -5 -9 -11 -10 -23 -20 -19 -20 -22 -23 -23 -20 -18 -16 -17 -19 -22 -23 -24 -24 -24 -24 -24 -24 -24 -24 -23 -23 -22 -21 -18 -17 -16 -17 -19 -20 -22 -24 -25 -25 -24 -23 -22 -21 -20 -19 -19 -18 -17 -16 -14 -12 -10 -9 -9 -9 -10 -10 -11 -11 -12 -13 -14 -15 -15 -14 -14 -14 -14 -15 -17 -17 -17 -17 -18 -17 -15 -16 -19 -22 -25 -25 -24 -22 -22 -22 -23 -23 -22 -19 -16 -14 -12 -9 -8 -7 -7 -7 -0 -1 -4 -8 -10 -12 -11 -8 -6 -4 -3 -3 -2 -1 0 1 1 1 1 1 1 2 2 2 1 0 -1 -3 -4 -5 -3 -1 2 4 4 3 2 2 1 1 1 2 1 0 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -1 -0 -1 -3 -4 -3 -1 -0 -2 -5 -7 -7 -3 -1 -3 -6 -9 -11 -10 -9 -10 -11 -12 -12 -11 -11 -12 -13 -13 -13 -13 -13 -12 -11 -10 -10 -9 -8 -8 -7 -7 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -1 -1 0 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 4 4 4 3 3 2 2 1 0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -0 0 1 2 3 3 4 4 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 8 8 8 8 8 9 9 10 10 11 11 12 13 14 15 16 17 18 18 19 19 18 18 18 18 18 19 19 20 20 21 21 21 21 21 21 20 19 18 17 16 16 16 16 17 16 16 15 15 15 15 15 16 17 19 21 23 24 25 25 26 26 27 29 31 32 34 36 38 39 39 40 40 40 40 40 39 38 36 35 34 33 32 31 30 29 28 28 28 27 27 27 26 26 25 25 24 23 21 18 16 15 13 13 13 12 11 10 9 8 8 6 5 3 3 4 5 5 5 4 4 5 5 3 1 -4 -8 -11 -11 -28 -26 -25 -27 -29 -30 -29 -27 -24 -23 -23 -25 -27 -28 -28 -27 -27 -26 -26 -25 -24 -23 -22 -21 -20 -18 -15 -13 -14 -16 -18 -21 -22 -24 -25 -25 -24 -23 -21 -20 -18 -17 -17 -16 -15 -14 -12 -11 -10 -9 -9 -8 -8 -9 -10 -11 -12 -12 -13 -14 -14 -14 -13 -13 -14 -15 -15 -15 -15 -15 -16 -17 -18 -21 -24 -25 -25 -23 -22 -21 -22 -24 -25 -23 -21 -17 -13 -12 -11 -10 -9 -7 -6 -7 -2 -2 -5 -9 -10 -10 -8 -6 -4 -3 -3 -2 -1 0 1 1 1 1 1 2 2 2 2 2 0 -2 -4 -5 -6 -4 -1 2 4 4 3 3 2 2 2 2 2 2 1 -0 -1 -1 -1 -1 -2 -2 -2 -1 -1 -2 -2 -1 -1 -1 -2 -3 -3 -1 0 -1 -4 -7 -6 -3 -1 -2 -5 -8 -9 -8 -7 -8 -10 -11 -11 -11 -10 -11 -12 -12 -12 -12 -12 -12 -12 -11 -10 -10 -9 -8 -7 -7 -6 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -1 -0 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 2 2 1 0 0 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -0 0 1 1 2 2 3 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 8 8 8 9 9 10 10 11 11 12 13 14 15 17 18 18 19 19 19 19 19 19 19 19 19 20 20 20 21 21 22 22 22 22 21 20 18 18 17 17 17 17 17 16 16 15 15 15 15 15 16 17 19 20 21 22 22 22 23 23 24 25 27 28 31 33 35 37 38 39 40 40 40 40 39 37 36 35 34 33 32 31 31 30 30 29 29 28 28 27 27 27 26 25 24 22 19 18 16 15 15 14 14 13 12 10 9 8 6 4 2 2 2 3 3 3 4 5 6 6 5 2 -3 -7 -10 -11 -29 -28 -28 -30 -32 -33 -33 -31 -30 -29 -27 -27 -28 -31 -31 -30 -29 -28 -27 -26 -24 -23 -21 -20 -18 -15 -12 -11 -13 -16 -19 -21 -23 -24 -25 -25 -24 -22 -20 -18 -17 -16 -15 -14 -13 -12 -11 -10 -9 -9 -8 -8 -7 -8 -10 -11 -12 -12 -13 -13 -14 -14 -13 -13 -14 -14 -14 -13 -13 -14 -15 -18 -21 -24 -25 -25 -23 -21 -20 -20 -22 -24 -24 -22 -17 -15 -14 -14 -12 -8 -6 -5 -4 -7 -6 -4 -6 -8 -8 -7 -6 -4 -3 -3 -2 -2 -1 -0 0 1 1 1 1 2 2 2 2 1 -1 -3 -6 -6 -5 -2 2 4 5 4 3 2 2 2 2 2 2 1 0 -0 -1 -0 -1 -1 -1 -1 -0 0 -0 -1 -1 -1 -1 -2 -3 -3 -2 -1 -1 -4 -6 -6 -3 -1 -1 -4 -7 -8 -7 -6 -7 -9 -10 -10 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -9 -8 -7 -7 -6 -6 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -3 -2 -3 -3 -3 -3 -4 -4 -4 -4 -4 -3 -2 -1 -1 -0 0 0 1 1 2 2 2 2 2 2 1 1 1 1 2 2 2 2 2 1 0 0 -0 0 0 -0 -1 -1 -1 -2 -2 -2 -1 -1 -1 -1 -0 -0 1 1 2 3 3 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 8 8 9 9 10 11 11 12 13 14 15 16 17 18 19 19 20 20 19 19 19 19 19 19 20 20 20 21 21 22 22 22 22 21 20 19 18 18 17 17 17 16 16 16 15 15 14 14 14 15 16 17 17 18 19 19 20 20 21 21 22 23 25 28 30 33 35 37 38 38 38 38 38 38 37 36 35 34 33 32 31 31 30 29 29 28 29 29 29 28 27 26 24 22 21 19 18 17 17 16 16 14 13 11 10 8 7 5 3 1 1 1 2 3 4 6 7 8 7 4 -1 -6 -9 -10 -28 -28 -30 -31 -33 -33 -32 -31 -31 -30 -29 -29 -30 -33 -33 -32 -30 -29 -27 -26 -24 -22 -20 -18 -16 -13 -10 -10 -13 -16 -18 -21 -23 -24 -25 -25 -23 -21 -20 -18 -17 -15 -13 -11 -10 -10 -9 -9 -9 -8 -7 -7 -7 -8 -10 -11 -11 -11 -11 -12 -13 -13 -13 -14 -13 -13 -13 -13 -14 -15 -17 -20 -22 -23 -23 -23 -22 -21 -20 -20 -21 -23 -22 -23 -19 -15 -14 -16 -13 -9 -6 -4 -3 -6 -8 -5 -4 -6 -5 -5 -4 -3 -3 -2 -3 -2 -2 -1 -1 -0 0 1 1 1 2 2 2 0 -2 -4 -5 -5 -2 2 6 7 6 4 3 3 3 3 3 2 2 1 0 0 0 0 -0 -1 0 1 2 2 1 0 -1 -1 -2 -3 -3 -2 -2 -3 -5 -6 -5 -2 -0 -0 -3 -6 -6 -6 -5 -6 -8 -9 -9 -9 -8 -9 -9 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -9 -8 -7 -7 -6 -6 -5 -5 -5 -4 -4 -4 -3 -3 -3 -3 -2 -3 -3 -3 -4 -4 -4 -5 -5 -5 -4 -4 -3 -2 -2 -2 -1 -1 -0 0 1 2 2 3 2 2 1 1 1 1 2 2 2 2 2 1 0 0 0 0 0 -0 -1 -1 -2 -2 -2 -2 -2 -2 -1 -1 -1 -0 0 1 1 2 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 6 6 6 7 7 7 7 7 7 7 7 7 7 7 8 8 9 10 11 11 12 13 13 14 15 16 17 18 19 20 20 20 20 20 20 20 20 20 20 20 20 21 21 22 22 22 22 21 21 20 19 18 18 17 17 16 16 15 15 14 13 13 13 13 14 14 15 16 16 17 18 18 18 18 19 20 22 25 28 30 32 33 34 35 36 37 37 37 36 34 33 32 31 31 30 29 28 28 28 29 30 30 30 29 27 25 24 23 21 20 19 19 18 17 16 14 13 11 10 9 7 5 2 1 1 1 3 5 7 9 10 9 5 1 -3 -7 -9 -27 -28 -30 -31 -31 -31 -30 -29 -28 -29 -29 -30 -32 -34 -35 -33 -31 -29 -27 -25 -24 -22 -19 -17 -14 -11 -9 -10 -13 -16 -18 -21 -23 -24 -25 -24 -23 -21 -19 -18 -16 -14 -11 -9 -8 -8 -9 -9 -8 -7 -7 -7 -7 -8 -9 -10 -10 -10 -11 -12 -12 -13 -13 -14 -14 -14 -14 -15 -16 -17 -18 -19 -20 -21 -21 -22 -22 -22 -22 -21 -21 -21 -20 -23 -21 -17 -15 -14 -13 -11 -9 -7 -5 -7 -10 -5 -3 -4 -4 -3 -2 -2 -3 -3 -3 -3 -3 -2 -1 -1 -0 -0 0 1 2 2 2 -0 -2 -3 -3 -1 3 7 8 8 6 4 4 4 4 4 3 2 1 1 1 1 1 0 1 1 3 4 4 3 2 1 -0 -1 -2 -3 -3 -3 -4 -5 -7 -6 -2 0 1 -1 -4 -5 -4 -4 -4 -7 -8 -8 -8 -7 -7 -8 -8 -9 -9 -9 -9 -10 -10 -10 -10 -10 -10 -10 -9 -8 -7 -7 -6 -6 -5 -5 -4 -4 -3 -3 -3 -2 -2 -2 -2 -3 -3 -4 -4 -4 -4 -5 -5 -5 -4 -4 -3 -3 -3 -2 -2 -2 -1 -1 0 1 2 2 3 2 2 2 1 2 2 2 2 2 2 1 0 0 0 0 -0 -0 -1 -1 -2 -2 -2 -2 -2 -2 -1 -1 -1 -0 0 1 1 2 2 3 3 3 4 4 4 4 4 4 4 4 4 5 5 6 6 7 7 7 7 7 7 7 7 7 7 7 7 8 8 9 10 11 12 12 13 14 14 15 16 17 17 18 19 19 19 20 20 20 20 20 20 20 20 20 20 20 21 21 22 22 22 21 21 20 19 18 18 17 17 16 16 15 14 13 13 12 12 12 13 13 14 15 15 15 15 16 16 17 17 18 20 22 24 26 28 29 31 32 34 35 35 34 33 32 31 30 29 28 27 27 27 28 29 30 31 31 30 29 27 26 25 24 22 21 20 19 18 17 16 15 14 13 12 10 7 5 3 2 2 3 6 8 10 11 10 7 3 -1 -4 -6 -27 -28 -29 -30 -29 -28 -27 -26 -26 -28 -30 -32 -33 -35 -35 -33 -30 -28 -27 -25 -23 -21 -19 -16 -12 -10 -9 -10 -13 -15 -18 -20 -22 -24 -24 -23 -21 -19 -18 -16 -14 -12 -9 -8 -8 -8 -8 -8 -7 -6 -6 -7 -7 -7 -8 -9 -9 -10 -11 -11 -11 -12 -13 -14 -14 -15 -15 -16 -17 -18 -18 -18 -18 -19 -20 -21 -23 -24 -24 -23 -22 -21 -21 -22 -22 -20 -17 -15 -13 -13 -13 -12 -10 -9 -12 -7 -3 -2 -2 -2 -2 -2 -3 -4 -4 -4 -3 -3 -2 -1 -1 -1 -1 0 1 2 1 -0 -1 -1 2 5 8 10 9 7 6 5 5 5 4 4 3 2 2 2 2 2 2 2 2 3 5 5 5 4 2 1 -0 -1 -2 -3 -3 -4 -6 -7 -6 -3 0 1 -0 -2 -4 -3 -2 -3 -5 -7 -8 -7 -6 -6 -7 -7 -8 -8 -8 -9 -9 -9 -9 -9 -10 -10 -10 -9 -9 -8 -7 -7 -6 -6 -5 -5 -5 -4 -4 -3 -3 -2 -2 -2 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -2 -2 -1 -0 1 1 2 3 3 3 2 2 2 2 3 2 2 2 1 1 0 0 0 -0 -1 -1 -1 -2 -2 -2 -2 -2 -1 -1 -1 -1 -0 0 1 1 2 2 3 3 3 3 3 3 3 3 3 3 3 3 4 4 5 6 7 7 8 8 8 8 8 8 8 8 8 8 8 8 9 10 10 11 12 13 14 14 14 15 16 16 17 17 17 18 18 19 19 19 19 19 19 19 19 19 20 20 20 21 21 21 21 21 20 20 19 19 18 17 17 16 16 15 14 13 13 12 12 12 13 13 13 13 13 13 13 14 15 15 16 17 18 19 20 22 24 25 28 29 31 31 31 31 30 29 28 27 26 26 26 26 28 29 30 30 31 31 30 29 28 27 26 24 23 22 21 20 19 18 17 16 15 14 12 10 7 5 4 4 5 7 9 10 11 10 7 5 2 -1 -2 -28 -29 -29 -29 -29 -28 -26 -26 -27 -30 -32 -33 -34 -34 -34 -32 -29 -27 -26 -25 -24 -21 -18 -15 -12 -10 -10 -11 -13 -15 -18 -20 -21 -22 -22 -21 -20 -18 -16 -14 -12 -10 -9 -8 -8 -8 -8 -7 -6 -6 -6 -6 -7 -7 -7 -8 -9 -10 -11 -11 -12 -12 -13 -15 -16 -16 -17 -17 -18 -17 -17 -16 -16 -18 -19 -21 -23 -24 -24 -24 -23 -22 -23 -23 -22 -22 -20 -19 -16 -16 -16 -15 -14 -12 -14 -10 -4 -1 -2 -2 -2 -3 -4 -4 -4 -4 -3 -3 -2 -2 -2 -2 -2 -0 1 2 1 1 1 3 6 9 11 10 8 7 6 6 6 5 4 3 3 3 3 3 3 3 3 3 4 5 6 6 5 3 2 1 -0 -1 -2 -3 -4 -5 -6 -5 -3 -1 0 -0 -1 -2 -1 -1 -2 -3 -5 -6 -6 -5 -5 -6 -6 -7 -7 -7 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -8 -8 -7 -7 -6 -6 -6 -5 -5 -4 -4 -3 -3 -3 -2 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -2 -2 -1 -1 -0 0 1 2 2 3 3 3 3 3 3 3 3 2 2 1 1 0 0 0 -0 -1 -1 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -0 0 0 1 1 2 2 3 3 3 3 3 3 3 2 2 2 2 3 3 4 5 6 7 8 8 9 9 9 9 9 9 9 9 9 9 9 10 10 11 12 13 14 14 14 14 14 15 15 15 15 16 16 17 17 17 18 18 18 18 18 19 19 19 20 20 20 20 20 20 20 19 19 19 19 18 18 17 17 16 15 14 13 13 13 13 13 13 13 12 11 11 12 12 13 13 14 14 15 16 16 17 19 21 22 24 25 27 28 28 28 28 27 26 25 25 25 26 27 28 29 29 30 30 30 30 29 28 27 26 24 23 22 21 20 19 18 18 17 15 13 11 9 8 7 6 6 7 8 9 9 8 7 5 3 2 2 -30 -30 -30 -30 -29 -28 -27 -26 -28 -31 -33 -34 -34 -35 -34 -32 -29 -27 -26 -25 -24 -21 -18 -15 -12 -11 -11 -11 -13 -15 -17 -19 -20 -21 -21 -20 -18 -16 -14 -12 -11 -9 -9 -9 -8 -8 -8 -7 -6 -5 -5 -5 -6 -6 -7 -8 -9 -10 -11 -12 -13 -14 -16 -17 -18 -18 -18 -18 -18 -17 -16 -15 -16 -17 -19 -20 -21 -23 -23 -23 -24 -24 -25 -24 -23 -23 -22 -21 -19 -19 -18 -18 -16 -14 -15 -13 -7 -2 -2 -2 -2 -3 -4 -4 -4 -4 -3 -3 -3 -3 -3 -4 -3 -1 0 1 1 2 4 7 9 11 10 9 7 7 6 6 6 5 4 4 4 4 4 4 4 4 4 4 5 6 6 6 5 3 1 1 -0 -1 -2 -3 -4 -4 -5 -4 -2 -1 -1 -1 -1 -0 0 -1 -2 -3 -4 -4 -3 -4 -4 -5 -6 -6 -7 -7 -8 -8 -8 -9 -8 -8 -8 -8 -8 -8 -8 -7 -7 -6 -6 -6 -5 -5 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 -1 -0 -0 0 1 2 2 3 3 4 4 4 4 4 3 3 2 1 1 1 0 0 -0 -1 -1 -1 -2 -2 -1 -1 -1 -1 -1 -1 -1 -0 -0 0 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 4 6 7 8 8 9 9 9 9 9 9 10 10 10 10 10 10 10 11 12 13 14 14 14 14 14 14 13 14 14 14 15 15 15 16 16 16 17 17 17 18 18 19 19 20 20 20 20 19 19 19 19 19 19 19 18 18 18 16 15 14 14 14 14 13 13 13 12 12 11 11 12 12 12 12 12 13 13 14 14 15 16 17 18 19 20 22 23 25 26 26 26 25 25 24 25 26 26 27 28 28 29 29 30 29 29 28 27 26 25 23 22 21 21 20 19 19 18 16 14 12 10 9 8 7 6 6 6 6 6 6 5 4 3 3 4 -31 -31 -32 -30 -28 -27 -26 -26 -29 -31 -33 -34 -35 -36 -36 -34 -31 -28 -26 -25 -23 -20 -17 -14 -12 -11 -11 -12 -13 -15 -17 -18 -19 -20 -19 -18 -15 -13 -12 -11 -10 -10 -9 -9 -8 -8 -7 -7 -6 -5 -4 -4 -5 -6 -7 -8 -9 -10 -11 -13 -14 -16 -18 -20 -20 -19 -18 -18 -17 -17 -16 -17 -17 -18 -18 -19 -20 -22 -22 -23 -24 -25 -25 -24 -24 -24 -24 -23 -22 -20 -19 -19 -18 -16 -13 -13 -8 -3 -2 -3 -3 -4 -4 -4 -4 -4 -3 -3 -3 -4 -5 -4 -3 -2 -1 1 2 3 5 8 9 9 8 7 7 7 7 6 5 5 4 4 5 5 5 5 4 4 4 4 5 7 7 6 4 2 1 0 -0 -1 -2 -3 -4 -4 -3 -3 -2 -2 -1 -1 -0 0 0 -1 -2 -2 -2 -2 -3 -3 -4 -5 -5 -6 -6 -7 -8 -8 -9 -8 -8 -8 -7 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -5 -5 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -0 0 0 1 1 1 2 3 3 4 4 4 4 4 3 3 2 2 1 1 1 1 0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 0 0 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 3 3 5 6 7 8 9 9 10 10 10 10 10 10 11 11 11 11 11 11 12 13 13 14 14 14 13 13 13 13 13 13 13 14 14 14 14 15 15 16 16 17 17 18 19 19 20 20 19 19 19 18 18 18 19 19 19 19 18 17 15 15 14 15 14 14 14 13 13 12 12 12 12 12 12 12 12 12 12 12 13 13 14 14 15 15 16 17 19 21 22 23 24 24 24 24 24 24 25 26 27 27 28 29 29 29 28 28 27 26 25 24 22 21 20 20 20 19 18 17 16 14 12 10 8 7 6 4 4 3 4 4 4 3 3 3 5 -31 -31 -31 -28 -26 -25 -25 -26 -29 -30 -32 -33 -34 -35 -36 -35 -33 -30 -28 -25 -22 -19 -16 -14 -13 -12 -11 -12 -13 -15 -16 -17 -18 -18 -17 -15 -13 -11 -10 -10 -11 -10 -10 -9 -8 -8 -8 -7 -6 -4 -4 -5 -6 -7 -7 -8 -9 -10 -12 -14 -17 -18 -20 -21 -21 -20 -19 -18 -18 -18 -18 -19 -19 -18 -18 -19 -20 -21 -22 -23 -24 -25 -23 -22 -23 -24 -24 -23 -23 -22 -21 -20 -19 -16 -12 -14 -10 -5 -2 -4 -4 -4 -5 -5 -4 -4 -4 -4 -4 -5 -5 -5 -4 -3 -1 -0 1 3 5 6 6 6 6 6 7 7 7 6 5 5 5 6 6 6 6 6 5 4 4 5 7 8 8 6 4 2 1 0 -0 -1 -2 -3 -3 -3 -3 -2 -2 -2 -1 -1 -1 -0 -1 -2 -2 -2 -2 -2 -3 -3 -4 -4 -5 -5 -6 -7 -8 -8 -8 -8 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -5 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 -1 -0 -0 -1 -1 -1 -1 -1 -0 -0 0 0 1 1 1 2 2 3 4 4 4 4 4 3 3 2 2 2 2 1 1 1 0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 0 1 1 1 1 2 2 2 2 2 2 2 2 2 3 3 4 5 6 7 8 9 10 10 11 11 11 11 11 11 11 11 11 11 12 12 13 14 14 14 13 13 13 13 13 13 13 13 13 13 13 13 13 14 15 16 17 17 18 18 19 19 19 19 19 18 18 18 18 19 19 19 18 16 16 15 15 15 15 14 14 14 13 13 13 13 13 13 13 13 12 12 12 11 11 12 12 13 13 13 14 14 15 17 18 19 20 21 21 22 22 23 23 24 25 26 27 27 27 27 27 27 27 27 26 24 22 21 20 20 20 20 19 19 17 16 14 12 9 7 5 3 2 1 2 2 3 3 2 3 4 -29 -28 -27 -26 -24 -24 -25 -27 -29 -30 -30 -31 -31 -32 -33 -34 -34 -32 -30 -26 -22 -19 -16 -15 -14 -13 -12 -12 -13 -15 -16 -17 -16 -16 -15 -13 -11 -10 -10 -11 -11 -11 -10 -10 -9 -8 -8 -7 -5 -5 -5 -6 -7 -7 -7 -8 -9 -11 -13 -16 -18 -19 -19 -20 -20 -20 -20 -19 -19 -19 -20 -21 -20 -20 -19 -20 -20 -21 -21 -23 -23 -23 -22 -22 -23 -24 -24 -24 -24 -24 -23 -22 -20 -18 -14 -14 -12 -7 -2 -4 -4 -5 -5 -5 -5 -4 -4 -5 -5 -5 -6 -5 -5 -4 -3 -2 0 2 3 3 3 4 5 6 6 6 6 5 6 7 7 7 7 7 7 6 5 4 4 6 9 9 8 6 4 3 2 1 -0 -1 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -2 -2 -2 -3 -3 -3 -4 -4 -4 -4 -4 -5 -6 -6 -7 -8 -8 -8 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -4 -4 -3 -3 -4 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -0 0 -0 -0 -1 -1 -1 -1 -1 -1 -0 0 1 1 1 2 2 3 4 4 4 4 3 3 3 2 2 2 2 2 2 1 1 1 0 0 0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -0 -0 0 0 1 1 1 2 2 2 3 3 3 3 3 3 3 4 5 6 7 8 9 10 10 11 11 11 12 12 12 12 12 11 12 12 12 13 13 13 14 14 13 13 13 13 13 13 12 12 12 12 12 12 13 14 15 16 16 17 17 18 18 19 19 19 19 18 18 18 19 19 18 17 17 17 17 16 15 15 14 14 14 14 14 14 14 14 14 14 14 13 13 12 11 11 11 11 12 12 12 12 13 13 14 14 15 16 17 18 19 20 20 21 22 23 24 25 25 26 26 26 26 26 26 25 24 22 21 19 19 19 20 20 20 20 19 17 15 12 9 6 3 2 1 1 1 2 2 2 1 2 -27 -25 -24 -24 -25 -26 -27 -28 -30 -30 -30 -30 -29 -29 -30 -32 -33 -33 -31 -27 -23 -19 -18 -17 -16 -15 -13 -12 -13 -15 -16 -16 -15 -14 -12 -11 -11 -11 -11 -11 -11 -11 -10 -10 -10 -9 -8 -7 -7 -7 -7 -8 -8 -8 -8 -8 -10 -12 -15 -17 -18 -18 -19 -19 -20 -20 -20 -20 -20 -20 -21 -22 -22 -22 -22 -22 -22 -21 -22 -22 -22 -22 -22 -23 -22 -22 -23 -23 -25 -25 -25 -24 -23 -21 -17 -14 -12 -8 -2 -3 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -3 -1 0 1 2 2 4 5 5 5 5 5 6 7 8 8 8 8 7 7 5 4 4 6 9 10 9 7 5 4 3 3 2 1 0 -0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -3 -3 -4 -4 -4 -5 -5 -5 -5 -5 -5 -6 -7 -8 -8 -9 -8 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -0 -0 -1 -1 -1 -1 -2 -2 -2 -1 -1 -0 0 1 1 1 2 2 3 4 4 4 3 3 3 2 2 2 2 2 2 2 2 2 1 1 1 1 0 0 0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 0 0 1 1 2 2 2 2 3 3 3 3 3 3 3 4 5 5 6 7 8 9 10 10 11 12 12 12 12 12 12 12 12 12 12 13 13 13 14 14 14 14 14 14 14 13 13 12 11 11 11 11 11 12 13 14 15 16 16 17 17 18 19 19 19 19 19 19 19 19 18 18 18 18 18 17 16 15 14 14 14 14 14 14 15 15 15 15 15 14 14 13 12 11 11 11 11 11 11 12 12 12 12 13 13 13 14 15 17 17 18 19 19 20 21 22 22 23 24 24 25 25 25 24 23 22 20 19 18 18 19 21 21 22 22 21 19 16 13 10 6 4 3 2 2 2 1 0 -1 -1 -26 -25 -25 -26 -28 -30 -30 -31 -32 -31 -30 -29 -28 -28 -28 -29 -31 -31 -30 -28 -25 -22 -21 -20 -18 -16 -14 -12 -12 -13 -14 -13 -13 -12 -11 -11 -12 -11 -11 -11 -11 -10 -11 -11 -10 -9 -9 -9 -10 -10 -10 -9 -9 -9 -8 -9 -10 -13 -15 -17 -17 -17 -18 -19 -20 -21 -21 -21 -21 -21 -21 -22 -24 -25 -25 -24 -23 -23 -23 -24 -24 -23 -22 -22 -21 -21 -21 -23 -25 -27 -27 -26 -26 -25 -20 -15 -13 -10 -5 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -5 -6 -5 -4 -1 1 2 2 3 4 5 4 4 4 6 7 8 9 9 8 8 7 6 5 5 7 9 11 10 8 6 5 5 4 4 3 2 1 1 0 0 0 0 0 -1 -1 -2 -3 -3 -4 -5 -5 -6 -6 -6 -6 -6 -6 -6 -7 -8 -9 -9 -10 -9 -9 -8 -8 -8 -8 -8 -7 -7 -7 -7 -6 -5 -5 -4 -4 -4 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -2 -2 -2 -1 -1 -1 -2 -2 -2 -2 -3 -3 -2 -2 -1 -1 -0 0 1 1 2 2 3 3 3 3 3 3 3 3 3 3 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 0 0 0 -0 -0 -0 0 0 1 1 2 2 2 2 3 3 3 3 3 3 3 4 4 5 6 7 8 8 9 10 10 11 12 12 13 13 13 12 12 12 12 13 13 13 13 14 14 15 15 15 15 14 14 13 12 12 11 11 10 11 11 12 13 14 15 15 16 16 17 18 19 19 19 19 19 19 19 19 19 19 20 19 18 17 16 15 14 14 14 14 14 15 15 15 16 16 16 15 14 14 13 12 12 11 11 11 11 12 12 12 12 13 13 13 14 15 15 16 16 17 17 18 18 19 20 21 22 23 23 23 23 22 21 19 18 17 17 18 20 21 23 24 24 23 21 18 15 12 9 7 5 3 2 0 -2 -3 -4 -28 -28 -29 -31 -32 -33 -34 -34 -34 -33 -31 -29 -27 -26 -26 -27 -27 -27 -27 -27 -26 -25 -23 -21 -19 -17 -14 -12 -11 -11 -11 -12 -11 -11 -11 -11 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -11 -12 -12 -12 -11 -11 -10 -10 -10 -10 -11 -13 -15 -17 -17 -17 -17 -19 -20 -21 -21 -21 -22 -22 -22 -23 -26 -27 -27 -26 -25 -25 -25 -26 -26 -25 -23 -21 -21 -21 -22 -24 -27 -29 -30 -30 -30 -28 -23 -17 -15 -14 -9 -5 -6 -5 -5 -5 -5 -5 -5 -4 -4 -3 -3 -4 -6 -6 -4 -2 1 2 3 3 4 4 4 4 4 5 6 8 9 9 8 8 7 7 6 6 7 9 11 11 9 7 5 5 5 5 4 4 3 2 1 1 1 1 1 0 -0 -1 -2 -3 -4 -5 -6 -7 -7 -7 -7 -7 -7 -7 -8 -9 -10 -11 -11 -11 -10 -9 -9 -9 -9 -9 -9 -8 -8 -8 -7 -7 -6 -5 -4 -4 -5 -5 -4 -4 -3 -3 -3 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -2 -2 -1 -0 0 1 2 2 3 3 3 3 4 3 3 3 3 3 3 3 2 2 2 3 3 3 3 3 3 3 2 2 2 2 1 1 1 1 1 0 1 1 1 2 2 2 3 3 3 3 3 3 3 3 3 4 4 5 6 6 7 8 9 10 10 11 12 13 13 13 13 13 13 13 13 13 13 13 13 14 14 15 15 15 15 15 15 15 14 13 12 11 11 10 10 11 11 12 12 13 14 14 15 16 17 18 19 19 20 20 20 20 20 21 21 21 20 18 17 16 16 15 15 14 14 14 15 15 15 16 16 16 16 16 16 15 14 13 13 12 12 12 12 12 13 13 13 13 13 13 14 14 14 14 14 14 15 16 17 18 19 20 21 21 21 21 21 20 19 17 16 15 16 18 20 22 24 26 26 25 23 20 17 14 12 9 6 3 0 -2 -4 -5 -32 -33 -34 -35 -35 -35 -35 -36 -36 -34 -32 -30 -28 -26 -25 -24 -23 -22 -22 -23 -24 -24 -23 -22 -19 -16 -13 -11 -10 -10 -10 -11 -11 -10 -10 -9 -8 -8 -8 -8 -9 -9 -10 -10 -11 -12 -13 -14 -13 -12 -12 -11 -11 -10 -10 -11 -12 -13 -15 -16 -16 -16 -17 -19 -20 -21 -21 -21 -22 -22 -22 -23 -25 -27 -27 -26 -26 -26 -27 -28 -27 -26 -24 -23 -23 -24 -25 -27 -29 -31 -33 -34 -33 -32 -27 -22 -19 -17 -14 -8 -6 -6 -6 -5 -5 -5 -4 -3 -2 -2 -3 -5 -6 -4 -2 2 4 4 4 4 4 4 4 4 5 6 8 8 9 8 8 8 8 7 7 8 10 11 11 9 7 5 5 5 4 4 4 3 3 2 1 1 1 1 1 -0 -1 -2 -2 -3 -4 -6 -7 -7 -7 -7 -7 -7 -8 -9 -10 -11 -12 -12 -12 -11 -10 -10 -10 -10 -10 -10 -9 -9 -9 -8 -8 -7 -7 -5 -5 -5 -6 -6 -5 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -1 -0 1 1 2 3 3 3 4 4 4 4 4 4 4 4 4 3 3 2 3 3 3 4 4 4 4 4 3 3 3 3 2 2 2 2 2 1 2 2 2 2 3 3 3 3 3 3 3 3 4 4 4 5 5 6 6 7 8 9 10 11 12 13 13 14 14 14 14 14 14 14 14 14 13 13 14 14 15 15 16 16 16 16 15 15 15 14 13 12 11 11 10 10 10 11 11 12 12 13 14 15 16 17 18 18 19 20 20 21 21 22 22 21 20 19 18 17 16 16 15 15 15 15 15 15 15 15 16 16 17 18 18 17 17 15 14 14 13 13 13 13 13 14 14 14 14 14 14 13 12 12 12 12 12 13 15 16 17 18 19 20 20 20 20 19 18 16 15 14 14 15 17 19 21 23 24 24 24 23 21 19 16 13 10 6 3 -1 -3 -5 -36 -37 -38 -38 -37 -36 -36 -36 -36 -35 -33 -32 -29 -27 -24 -21 -20 -19 -19 -19 -20 -21 -22 -21 -20 -17 -14 -12 -11 -10 -10 -10 -10 -9 -8 -7 -7 -6 -6 -7 -8 -9 -10 -11 -13 -14 -15 -15 -14 -12 -12 -11 -11 -10 -11 -11 -12 -13 -14 -15 -15 -16 -18 -19 -20 -20 -21 -21 -22 -22 -23 -23 -24 -25 -26 -27 -27 -28 -29 -29 -28 -27 -26 -25 -25 -27 -28 -29 -31 -33 -35 -36 -36 -35 -32 -28 -24 -21 -19 -13 -8 -7 -7 -6 -6 -5 -3 -2 -2 -2 -4 -5 -5 -2 2 5 6 5 4 4 4 5 5 6 7 8 8 8 8 9 9 9 9 8 8 10 12 12 10 7 5 4 4 4 3 3 3 2 2 1 1 1 1 1 -0 -1 -2 -2 -3 -4 -4 -6 -7 -7 -7 -7 -7 -7 -8 -9 -11 -12 -12 -12 -12 -11 -11 -11 -11 -11 -11 -11 -10 -10 -10 -10 -9 -8 -7 -6 -5 -6 -7 -7 -6 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 0 1 2 2 3 4 4 4 4 4 4 5 5 5 5 4 4 3 3 3 3 3 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 6 6 6 6 6 7 8 9 10 12 13 15 15 15 15 15 15 15 15 15 15 14 14 14 14 15 15 16 16 16 16 16 16 16 15 15 14 13 12 11 11 10 10 10 10 10 11 12 12 13 14 15 16 17 18 19 19 20 21 21 22 21 21 20 19 18 17 16 16 16 15 15 15 15 15 15 16 16 17 18 18 19 18 17 16 16 15 15 14 14 14 14 15 15 15 14 14 13 11 11 10 10 11 12 13 15 16 17 18 19 19 19 19 18 17 16 14 12 12 12 13 14 16 17 18 19 20 21 21 20 18 15 13 10 6 3 0 -2 -38 -40 -42 -42 -41 -40 -37 -35 -34 -33 -33 -32 -30 -27 -24 -20 -19 -18 -18 -18 -18 -19 -20 -21 -20 -18 -16 -14 -12 -11 -10 -9 -9 -8 -7 -7 -6 -5 -5 -6 -8 -10 -11 -13 -14 -15 -15 -15 -14 -12 -11 -11 -11 -10 -10 -11 -11 -12 -13 -14 -15 -16 -18 -19 -19 -20 -21 -21 -22 -23 -23 -24 -25 -25 -26 -28 -29 -30 -30 -30 -29 -29 -29 -28 -28 -29 -30 -32 -32 -34 -35 -37 -38 -37 -36 -34 -30 -26 -24 -19 -10 -8 -7 -7 -5 -4 -2 -2 -2 -3 -5 -5 -3 1 4 6 6 4 4 4 5 6 7 8 8 9 9 8 9 9 10 10 9 9 10 12 13 11 8 5 4 4 3 3 2 2 1 1 0 0 0 0 -0 -1 -2 -3 -3 -3 -4 -4 -5 -6 -7 -7 -6 -6 -6 -7 -8 -10 -11 -11 -11 -11 -11 -11 -11 -11 -12 -12 -11 -11 -11 -11 -11 -11 -10 -8 -7 -6 -7 -8 -8 -8 -7 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -2 -2 -2 -1 -0 0 1 2 3 4 5 5 5 6 6 6 6 6 6 6 5 5 4 4 3 3 4 4 4 4 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 6 6 7 7 6 6 6 6 6 7 8 10 13 15 15 16 16 16 16 16 16 16 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 15 15 14 13 12 11 10 10 9 9 9 10 10 11 12 13 14 15 16 17 17 18 19 20 20 21 21 20 20 19 18 18 17 17 16 16 16 16 16 16 16 16 16 17 18 18 19 19 19 18 18 17 17 16 16 16 15 15 15 15 14 14 12 11 10 9 9 10 11 13 14 15 17 17 18 18 18 18 17 16 15 13 11 10 9 9 9 10 11 12 12 14 15 16 16 16 15 14 12 10 7 5 3 -37 -40 -42 -43 -43 -42 -39 -35 -32 -31 -31 -31 -29 -27 -24 -21 -20 -20 -19 -19 -18 -19 -19 -20 -20 -20 -19 -16 -14 -12 -11 -10 -9 -8 -7 -7 -5 -4 -5 -7 -9 -11 -13 -14 -15 -16 -15 -14 -13 -12 -11 -11 -10 -10 -10 -11 -11 -12 -13 -14 -15 -17 -18 -19 -19 -20 -21 -21 -22 -23 -24 -25 -25 -26 -27 -28 -30 -31 -32 -32 -32 -32 -31 -30 -30 -31 -32 -34 -34 -35 -37 -39 -40 -38 -36 -36 -34 -30 -28 -23 -12 -8 -7 -6 -4 -3 -2 -2 -3 -4 -5 -3 -0 3 5 5 4 3 3 5 7 8 8 8 9 8 8 8 10 11 11 11 10 10 12 13 12 10 6 4 4 3 3 2 1 1 0 -0 -1 -1 -1 -1 -2 -3 -3 -4 -4 -4 -4 -5 -6 -7 -7 -6 -6 -6 -7 -8 -9 -9 -10 -10 -10 -10 -10 -11 -11 -12 -12 -12 -12 -11 -12 -13 -13 -12 -10 -7 -6 -7 -9 -10 -10 -9 -8 -7 -7 -7 -7 -8 -7 -7 -6 -5 -4 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -0 0 1 2 2 4 5 6 7 7 7 7 7 7 7 7 7 7 6 5 5 4 4 4 4 4 5 5 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 7 7 8 7 7 6 6 6 6 6 7 9 11 13 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 14 13 12 11 11 10 9 9 9 9 10 10 11 12 13 14 15 15 16 17 18 18 19 19 20 20 19 19 19 18 18 17 16 16 16 16 16 16 16 17 17 18 18 19 19 19 20 20 20 20 19 18 18 17 17 16 16 15 14 13 12 11 9 9 9 10 11 12 14 15 16 17 18 18 18 17 17 16 15 13 11 9 7 6 5 6 6 7 7 8 9 10 11 12 13 13 13 13 11 10 8 -36 -38 -39 -40 -42 -42 -39 -36 -32 -30 -30 -29 -27 -25 -23 -22 -22 -22 -22 -21 -20 -19 -19 -19 -20 -20 -20 -18 -16 -14 -12 -11 -10 -9 -9 -8 -7 -6 -7 -9 -10 -11 -13 -14 -16 -16 -15 -14 -12 -11 -11 -10 -10 -9 -11 -12 -13 -13 -14 -14 -15 -17 -18 -19 -20 -20 -21 -22 -23 -25 -26 -27 -27 -27 -28 -29 -31 -32 -34 -34 -34 -34 -34 -34 -34 -34 -35 -35 -36 -37 -40 -41 -42 -39 -36 -36 -37 -36 -32 -27 -16 -9 -6 -5 -4 -2 -2 -3 -4 -5 -4 -1 2 4 5 3 2 2 4 6 7 7 7 7 7 7 8 9 11 12 12 11 10 12 14 14 11 8 5 4 3 3 2 1 1 0 -1 -1 -2 -2 -2 -2 -3 -4 -5 -5 -5 -5 -5 -6 -7 -7 -7 -6 -6 -6 -7 -8 -8 -9 -9 -9 -9 -9 -10 -11 -11 -12 -12 -12 -12 -12 -13 -14 -13 -10 -8 -7 -8 -10 -12 -13 -12 -10 -9 -8 -9 -9 -9 -9 -8 -7 -7 -6 -5 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 -1 0 1 1 2 3 5 6 7 8 9 9 10 10 10 9 9 9 8 8 7 6 6 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 7 8 8 9 9 8 7 7 7 7 7 7 8 10 12 14 14 14 14 14 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 14 13 12 11 10 10 9 9 9 9 10 11 11 12 13 13 14 15 16 16 17 17 18 18 19 19 19 19 18 18 17 17 16 16 16 16 16 17 17 18 18 19 19 20 20 21 21 21 21 20 20 20 19 19 18 17 16 15 14 12 11 10 9 9 9 10 12 13 14 15 17 17 18 18 17 17 16 15 14 13 11 8 6 4 4 4 5 5 5 5 6 7 8 10 11 13 13 13 12 11 -35 -36 -37 -37 -39 -39 -38 -36 -32 -29 -28 -27 -25 -24 -22 -23 -24 -24 -24 -23 -22 -20 -19 -19 -19 -19 -19 -19 -17 -16 -14 -13 -12 -12 -11 -11 -10 -9 -10 -11 -12 -12 -13 -15 -16 -16 -16 -14 -12 -11 -11 -10 -10 -11 -12 -13 -14 -15 -15 -15 -16 -18 -19 -20 -21 -21 -22 -24 -25 -27 -28 -28 -28 -28 -29 -31 -32 -32 -34 -35 -36 -36 -36 -37 -37 -37 -37 -38 -38 -40 -42 -44 -43 -40 -36 -37 -39 -39 -35 -29 -19 -11 -6 -4 -4 -3 -4 -5 -5 -4 -1 2 4 4 3 1 1 2 4 4 5 5 5 5 5 6 8 10 12 11 10 10 11 13 14 12 9 6 5 4 3 2 1 1 0 -0 -1 -2 -2 -2 -2 -3 -4 -4 -5 -5 -5 -5 -6 -7 -8 -8 -7 -6 -6 -7 -8 -8 -8 -8 -8 -9 -9 -10 -10 -11 -11 -11 -11 -11 -12 -13 -14 -13 -11 -8 -7 -8 -11 -14 -15 -13 -12 -10 -9 -10 -11 -11 -10 -9 -8 -8 -7 -6 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -2 -1 -0 0 1 3 4 6 8 9 10 11 11 12 12 12 11 11 11 10 10 9 8 7 7 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 8 7 7 7 7 7 7 8 8 9 10 10 10 9 9 9 9 9 9 10 11 13 14 14 13 12 12 13 14 14 15 15 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 14 13 12 11 11 10 10 10 10 10 11 11 12 12 12 13 13 14 14 15 16 16 17 17 18 18 18 19 18 18 18 17 17 16 16 16 16 17 17 18 19 19 20 20 21 21 22 21 21 21 21 21 21 20 20 19 17 16 14 13 11 10 9 9 9 10 11 12 13 15 16 17 18 18 18 17 17 16 15 14 13 11 8 6 5 4 5 5 5 5 5 5 6 7 9 10 11 12 12 11 -35 -36 -36 -36 -37 -37 -37 -35 -32 -29 -27 -26 -24 -22 -22 -23 -25 -25 -25 -25 -24 -22 -20 -19 -19 -18 -18 -19 -18 -17 -16 -15 -14 -14 -14 -13 -12 -11 -12 -12 -12 -12 -13 -14 -15 -15 -14 -13 -12 -11 -11 -11 -11 -13 -14 -15 -15 -15 -16 -16 -17 -19 -20 -22 -23 -23 -24 -26 -28 -29 -30 -29 -29 -30 -31 -33 -33 -33 -34 -36 -37 -38 -38 -39 -39 -40 -41 -41 -41 -42 -44 -46 -46 -42 -38 -39 -41 -42 -39 -32 -24 -16 -9 -5 -5 -6 -6 -6 -5 -2 1 2 2 2 0 0 1 2 2 2 2 2 2 2 4 6 8 10 10 9 9 9 11 12 11 9 6 4 4 3 2 1 1 0 -0 -1 -1 -2 -2 -2 -3 -3 -4 -4 -4 -4 -5 -6 -7 -8 -8 -7 -6 -5 -6 -8 -9 -9 -8 -8 -9 -9 -10 -10 -10 -10 -10 -10 -11 -12 -13 -14 -14 -11 -8 -6 -7 -10 -14 -16 -14 -12 -10 -10 -11 -12 -12 -11 -10 -9 -8 -8 -7 -7 -6 -6 -5 -5 -5 -4 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -1 -0 1 3 5 7 8 10 11 11 12 13 13 13 13 13 12 12 11 11 10 9 8 8 7 7 7 7 7 7 7 7 7 7 8 8 8 8 9 9 9 9 8 8 9 9 9 10 11 11 11 11 10 11 11 12 12 12 13 14 14 14 13 12 11 12 12 13 14 14 15 15 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 14 14 13 12 12 11 11 10 11 11 11 12 12 12 13 13 13 13 14 14 14 15 15 16 16 17 17 18 18 18 18 18 17 17 16 16 16 16 17 17 18 19 19 20 21 21 22 22 22 22 21 21 21 21 21 20 20 18 17 16 14 13 11 10 10 10 10 11 12 13 14 15 17 18 18 18 18 17 17 16 16 15 13 11 8 6 5 5 5 6 6 5 5 5 6 7 7 8 8 9 8 -36 -36 -36 -36 -36 -36 -36 -33 -30 -27 -25 -24 -23 -22 -23 -24 -25 -25 -25 -24 -24 -23 -22 -21 -19 -18 -18 -18 -19 -19 -18 -17 -16 -16 -16 -16 -15 -14 -14 -14 -14 -13 -13 -12 -12 -12 -12 -12 -12 -11 -11 -12 -13 -14 -15 -16 -16 -16 -16 -17 -18 -20 -21 -23 -25 -26 -26 -28 -30 -31 -31 -30 -31 -32 -33 -35 -36 -35 -36 -37 -38 -40 -41 -41 -41 -42 -43 -43 -43 -43 -46 -48 -47 -44 -41 -41 -42 -43 -42 -36 -29 -21 -13 -8 -7 -8 -7 -6 -4 -1 0 0 -1 -1 -2 -1 -0 0 0 -0 -0 -0 0 1 3 6 8 8 8 8 8 9 10 9 7 5 4 3 2 1 1 1 0 0 -1 -1 -2 -2 -2 -2 -3 -3 -3 -3 -3 -4 -5 -6 -8 -8 -7 -5 -5 -5 -7 -9 -9 -9 -9 -9 -9 -10 -10 -10 -10 -10 -10 -10 -11 -13 -14 -14 -12 -8 -6 -7 -10 -13 -16 -15 -12 -10 -10 -12 -13 -14 -13 -11 -10 -10 -9 -9 -8 -7 -7 -6 -6 -6 -5 -5 -5 -6 -6 -6 -7 -7 -7 -6 -6 -5 -4 -2 -1 1 3 5 7 8 9 10 11 11 12 13 13 14 14 13 13 13 12 11 10 10 9 8 8 8 8 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 11 11 11 12 12 12 12 12 12 13 14 15 15 15 15 15 15 14 12 11 11 12 12 13 13 14 15 15 15 15 16 16 16 16 16 15 15 15 15 15 15 15 14 14 14 14 14 14 13 12 12 11 11 11 12 12 13 13 13 13 13 14 14 14 14 14 14 15 15 16 16 16 17 17 17 18 17 17 17 17 17 17 17 17 17 17 18 18 19 19 20 21 21 22 22 22 22 21 21 21 21 20 20 19 18 17 16 14 13 12 11 11 11 11 12 12 13 15 17 18 19 19 19 18 17 17 17 16 15 13 11 8 6 5 5 5 6 6 5 5 4 4 5 5 5 5 4 -37 -38 -37 -36 -35 -35 -34 -31 -28 -25 -23 -23 -23 -23 -24 -25 -25 -25 -25 -24 -23 -23 -22 -22 -21 -19 -19 -19 -19 -19 -19 -18 -18 -18 -18 -18 -18 -17 -17 -16 -14 -12 -11 -10 -10 -10 -11 -12 -11 -12 -13 -13 -14 -15 -16 -16 -16 -16 -17 -18 -19 -20 -22 -24 -27 -28 -28 -29 -31 -31 -31 -31 -32 -33 -35 -37 -39 -39 -38 -38 -40 -41 -42 -43 -44 -44 -45 -45 -44 -45 -48 -49 -48 -45 -43 -43 -43 -43 -43 -40 -33 -25 -19 -14 -10 -9 -8 -6 -4 -2 -3 -3 -4 -4 -3 -2 -2 -2 -2 -2 -2 -1 -0 1 4 5 6 7 6 7 7 7 7 6 4 3 2 1 0 -0 -0 -0 -0 -1 -1 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -4 -6 -7 -7 -6 -4 -3 -4 -6 -8 -10 -9 -9 -9 -10 -10 -11 -10 -10 -10 -10 -10 -10 -12 -14 -14 -13 -10 -7 -7 -9 -12 -15 -15 -12 -10 -10 -11 -14 -15 -14 -13 -11 -11 -11 -11 -10 -9 -9 -8 -7 -7 -7 -6 -6 -7 -7 -7 -8 -8 -8 -8 -7 -7 -6 -4 -3 -1 1 3 5 6 7 8 9 9 10 11 12 13 13 14 14 13 13 13 12 11 11 10 10 9 9 10 10 10 11 11 11 11 11 11 11 11 12 12 12 12 12 12 13 13 13 14 14 14 13 14 15 16 17 17 17 17 16 16 15 13 12 12 12 12 12 13 13 14 14 15 15 15 15 16 16 16 15 15 15 15 15 15 15 14 14 14 14 14 14 14 13 13 12 12 12 12 13 14 14 15 15 15 15 15 14 14 14 15 15 15 15 16 16 16 16 16 17 17 17 17 17 17 17 17 17 17 17 17 17 18 18 19 19 20 21 21 21 22 22 21 21 21 20 20 20 20 19 19 18 17 15 14 13 13 12 12 12 13 14 15 17 18 19 20 19 19 18 18 17 16 15 14 12 10 7 5 4 4 4 4 4 4 3 3 2 2 2 2 1 -38 -39 -39 -38 -36 -34 -32 -29 -26 -23 -23 -23 -24 -24 -24 -25 -26 -26 -25 -24 -24 -23 -23 -23 -22 -21 -19 -18 -18 -18 -19 -20 -21 -21 -21 -20 -20 -19 -18 -16 -14 -11 -8 -7 -8 -10 -11 -12 -13 -13 -14 -15 -15 -16 -17 -17 -16 -16 -17 -19 -20 -21 -22 -24 -27 -29 -29 -30 -31 -32 -32 -32 -33 -35 -37 -39 -41 -41 -41 -40 -41 -42 -43 -44 -45 -46 -46 -46 -46 -48 -50 -51 -49 -45 -44 -44 -45 -44 -43 -41 -36 -31 -26 -21 -14 -9 -7 -6 -5 -5 -6 -6 -6 -5 -4 -3 -3 -3 -3 -3 -2 -1 0 2 4 5 5 5 5 6 6 5 4 3 2 1 -0 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -5 -6 -7 -6 -4 -2 -2 -5 -7 -9 -10 -9 -9 -10 -10 -11 -11 -10 -10 -10 -10 -10 -11 -13 -14 -14 -12 -10 -9 -10 -12 -14 -14 -12 -9 -9 -11 -13 -15 -15 -13 -12 -11 -12 -12 -12 -11 -11 -10 -9 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -8 -8 -7 -6 -4 -3 -1 1 2 4 5 6 6 7 8 8 9 10 11 12 13 13 13 13 13 12 12 12 11 11 10 11 11 12 12 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 15 15 15 15 15 15 16 17 18 19 18 18 17 17 16 15 13 13 12 12 12 12 12 13 14 14 15 15 15 15 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 14 14 13 13 13 13 13 14 15 15 16 16 16 16 16 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 17 17 17 17 17 17 17 17 17 17 18 18 19 20 20 21 21 21 21 21 20 20 20 20 20 20 20 19 19 18 17 16 15 14 13 13 14 14 15 17 19 20 20 20 19 19 18 17 16 15 14 12 10 8 6 4 2 2 2 2 3 2 2 1 1 0 0 -0 -36 -37 -37 -36 -35 -33 -30 -27 -24 -23 -23 -23 -24 -25 -25 -26 -26 -26 -25 -25 -24 -24 -24 -24 -23 -22 -20 -18 -17 -18 -20 -22 -24 -24 -23 -22 -22 -21 -19 -16 -12 -9 -6 -6 -8 -11 -12 -13 -14 -15 -15 -16 -16 -16 -17 -17 -16 -17 -18 -19 -21 -22 -23 -24 -26 -28 -28 -29 -30 -31 -32 -33 -35 -36 -38 -40 -42 -42 -42 -42 -43 -44 -44 -45 -46 -47 -47 -47 -48 -51 -53 -52 -49 -44 -44 -45 -45 -45 -43 -41 -36 -31 -26 -22 -17 -10 -8 -7 -8 -8 -8 -8 -7 -6 -5 -5 -5 -5 -4 -3 -2 -1 1 2 3 4 4 4 4 4 4 3 2 1 0 -0 -1 -2 -2 -2 -1 -1 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -4 -6 -7 -6 -5 -3 -2 -4 -6 -8 -9 -9 -9 -10 -10 -10 -10 -10 -10 -9 -10 -10 -11 -12 -13 -14 -13 -12 -11 -12 -13 -14 -14 -11 -9 -8 -10 -13 -15 -15 -13 -12 -12 -12 -13 -13 -13 -12 -11 -11 -10 -9 -9 -9 -9 -9 -9 -10 -10 -10 -9 -9 -8 -7 -6 -5 -4 -3 -1 0 2 3 3 4 5 6 6 7 8 9 10 11 11 12 12 13 13 13 12 12 12 12 12 12 13 14 14 15 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 17 17 17 17 17 18 19 19 19 18 17 17 16 16 15 14 14 13 13 12 12 13 14 14 15 15 15 15 15 16 16 16 16 16 15 15 15 15 15 15 15 15 16 16 16 15 15 15 15 14 14 15 15 16 16 16 16 17 17 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 17 17 17 17 17 16 16 17 17 18 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 19 18 17 16 15 15 15 15 16 17 19 20 20 20 20 19 18 17 16 15 13 12 10 8 6 4 2 1 -0 0 1 1 1 1 0 -0 -0 -1 -34 -34 -34 -34 -33 -31 -28 -25 -23 -22 -23 -24 -24 -25 -26 -26 -26 -26 -26 -26 -26 -25 -25 -25 -24 -23 -21 -19 -18 -18 -20 -22 -25 -26 -25 -24 -22 -20 -18 -14 -10 -8 -7 -8 -11 -13 -14 -14 -14 -15 -15 -16 -16 -17 -17 -17 -17 -17 -18 -20 -22 -23 -24 -25 -25 -26 -26 -27 -28 -30 -32 -34 -36 -37 -38 -39 -41 -42 -43 -44 -45 -45 -45 -45 -46 -47 -48 -49 -51 -53 -55 -54 -50 -44 -43 -44 -45 -44 -43 -41 -40 -35 -30 -23 -17 -12 -9 -9 -10 -10 -9 -8 -7 -6 -6 -6 -6 -5 -4 -3 -2 -1 1 2 3 3 3 3 3 3 3 2 1 0 -0 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -4 -5 -6 -6 -5 -4 -3 -3 -6 -8 -9 -10 -9 -9 -10 -10 -10 -10 -9 -9 -9 -9 -10 -11 -12 -13 -13 -12 -12 -13 -15 -15 -14 -11 -8 -7 -9 -12 -14 -14 -13 -12 -11 -12 -13 -13 -13 -13 -12 -11 -11 -10 -9 -9 -9 -10 -10 -11 -11 -10 -10 -9 -8 -7 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 5 6 6 7 8 9 10 11 11 12 12 12 12 12 12 13 13 14 14 15 15 16 16 17 17 17 18 18 17 17 17 17 17 17 17 17 18 18 18 18 18 19 19 19 19 18 18 17 17 17 17 16 16 15 14 13 12 12 13 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 17 17 17 17 17 16 16 16 17 17 17 17 17 17 17 17 17 17 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 16 16 17 17 17 17 17 16 16 16 16 17 18 18 19 20 20 20 20 20 20 19 19 20 20 20 20 21 21 20 20 19 18 17 17 17 16 17 17 18 19 20 20 20 20 19 18 16 15 14 13 11 10 8 6 4 2 1 -1 -1 -1 -0 0 1 1 0 -0 -0 -33 -32 -32 -31 -30 -28 -25 -22 -22 -23 -24 -25 -25 -26 -27 -27 -27 -27 -27 -26 -26 -26 -25 -25 -24 -24 -22 -20 -18 -18 -20 -22 -25 -25 -25 -23 -21 -18 -15 -11 -10 -9 -10 -11 -13 -14 -14 -13 -13 -13 -15 -17 -18 -18 -17 -16 -17 -18 -19 -21 -22 -24 -25 -25 -25 -25 -25 -25 -27 -29 -31 -34 -36 -37 -38 -39 -41 -43 -44 -45 -45 -46 -45 -45 -46 -48 -51 -53 -53 -54 -55 -53 -49 -44 -42 -42 -42 -43 -44 -45 -45 -39 -33 -29 -28 -24 -17 -12 -10 -10 -10 -9 -8 -7 -6 -6 -6 -5 -4 -3 -2 -1 0 1 2 2 2 2 3 2 2 1 0 -0 -1 -1 -2 -2 -2 -2 -2 -3 -3 -3 -2 -2 -3 -3 -3 -3 -3 -3 -3 -4 -5 -6 -6 -5 -4 -4 -5 -7 -9 -10 -10 -10 -9 -9 -10 -10 -9 -9 -9 -9 -9 -10 -10 -11 -12 -12 -12 -13 -15 -16 -15 -12 -10 -8 -8 -11 -13 -13 -12 -11 -10 -11 -12 -13 -13 -12 -12 -11 -11 -11 -10 -9 -9 -10 -10 -11 -11 -11 -10 -9 -8 -7 -7 -6 -6 -5 -4 -3 -2 -2 -1 0 2 3 3 4 4 4 5 6 7 7 8 9 10 11 11 12 12 12 13 13 14 14 14 15 15 16 17 18 19 19 20 20 19 19 18 18 17 17 17 17 18 19 19 19 20 20 20 19 19 18 18 18 18 18 18 17 17 16 15 14 13 14 15 16 17 16 16 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 18 18 18 18 18 19 19 18 18 18 18 18 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 16 16 16 16 16 16 16 17 17 17 17 16 16 16 16 16 17 18 19 19 19 19 19 19 19 19 19 19 20 20 20 21 21 21 20 20 19 19 18 18 18 18 18 18 19 19 20 20 19 18 17 16 15 13 12 11 10 8 6 5 3 1 -0 -2 -2 -1 -1 0 1 1 1 1 -32 -32 -31 -30 -27 -24 -21 -20 -21 -23 -26 -26 -26 -27 -28 -29 -28 -28 -27 -26 -26 -26 -25 -24 -24 -24 -23 -21 -20 -19 -20 -22 -24 -24 -24 -22 -19 -15 -12 -11 -12 -13 -13 -12 -12 -12 -12 -11 -11 -12 -15 -18 -19 -19 -17 -16 -17 -19 -21 -22 -23 -24 -25 -26 -26 -25 -25 -25 -27 -29 -31 -33 -35 -37 -38 -39 -41 -43 -45 -46 -46 -46 -45 -45 -46 -48 -51 -53 -52 -49 -47 -46 -45 -44 -43 -42 -42 -42 -45 -49 -46 -39 -32 -29 -30 -30 -24 -16 -10 -10 -10 -9 -8 -7 -6 -6 -6 -5 -5 -4 -3 -2 -1 -0 0 1 1 1 2 1 1 0 -0 -1 -1 -2 -2 -2 -3 -3 -3 -3 -3 -2 -2 -3 -3 -3 -3 -3 -2 -2 -2 -4 -5 -6 -6 -5 -5 -6 -7 -8 -9 -10 -10 -9 -9 -9 -9 -9 -9 -8 -9 -9 -9 -9 -10 -10 -11 -11 -12 -13 -15 -15 -13 -11 -9 -8 -9 -11 -12 -12 -11 -10 -11 -11 -12 -12 -12 -11 -11 -11 -11 -10 -10 -9 -10 -10 -10 -10 -10 -9 -8 -7 -7 -6 -6 -6 -5 -5 -4 -3 -3 -2 -1 0 1 2 2 2 2 3 4 4 5 6 7 8 9 10 10 11 12 12 13 13 13 13 13 14 14 15 17 18 19 20 20 20 19 19 18 17 17 17 17 17 18 19 20 21 21 21 20 19 19 18 18 18 18 18 18 18 17 16 16 15 15 16 17 18 18 17 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 18 19 19 20 20 20 20 20 20 20 19 19 18 18 18 18 18 18 18 17 17 17 17 17 17 17 17 17 17 17 17 17 17 16 16 16 16 17 17 17 17 17 16 16 16 16 17 17 18 19 19 19 19 19 19 19 19 19 19 20 20 20 21 21 21 20 20 19 19 19 19 19 19 19 19 19 19 19 19 18 17 16 14 13 12 11 10 8 7 5 3 2 0 -1 -2 -2 -1 -0 1 1 2 2 -33 -32 -31 -29 -25 -21 -18 -17 -19 -23 -27 -28 -28 -28 -29 -29 -29 -28 -27 -26 -25 -25 -24 -24 -23 -23 -23 -22 -20 -20 -21 -22 -23 -24 -24 -22 -19 -14 -12 -13 -15 -16 -16 -14 -13 -12 -11 -10 -10 -13 -16 -18 -19 -19 -17 -17 -18 -19 -21 -23 -24 -25 -25 -26 -26 -26 -25 -26 -27 -28 -31 -33 -35 -37 -38 -40 -41 -43 -45 -46 -46 -46 -45 -46 -47 -49 -50 -50 -50 -49 -48 -48 -48 -48 -49 -48 -46 -45 -48 -51 -49 -43 -37 -33 -32 -31 -25 -17 -11 -10 -10 -9 -8 -6 -6 -5 -5 -5 -5 -5 -4 -3 -2 -1 -1 -0 0 0 1 0 -0 -1 -1 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -3 -3 -2 -1 -1 -2 -3 -5 -6 -6 -6 -6 -7 -7 -8 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -11 -13 -14 -14 -12 -10 -9 -9 -10 -11 -11 -11 -10 -11 -11 -12 -12 -12 -11 -11 -11 -11 -11 -10 -10 -10 -10 -10 -10 -10 -9 -8 -7 -6 -5 -5 -6 -6 -5 -5 -4 -4 -3 -2 -1 0 1 0 -0 0 1 2 3 3 3 4 5 6 7 8 9 10 11 12 12 12 12 12 12 12 13 15 16 18 19 19 19 19 18 17 17 16 16 16 16 17 19 20 22 22 22 21 20 19 19 19 19 18 18 18 18 17 17 17 16 16 17 19 20 21 20 18 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 18 18 18 19 20 20 21 21 22 22 22 21 20 20 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 17 17 17 17 17 17 17 17 17 16 16 16 16 16 17 18 18 18 19 19 19 19 19 19 19 19 19 20 20 21 21 21 20 20 20 19 20 20 20 19 19 19 19 19 19 18 17 16 15 14 12 11 10 8 7 5 3 2 1 -0 -1 -2 -2 -1 -0 1 2 3 -33 -32 -31 -28 -24 -19 -15 -15 -18 -23 -27 -30 -29 -29 -29 -30 -29 -28 -27 -26 -25 -25 -24 -23 -23 -23 -23 -22 -21 -21 -21 -22 -23 -23 -23 -21 -18 -15 -14 -15 -17 -18 -17 -16 -13 -11 -10 -10 -11 -14 -16 -18 -19 -18 -17 -18 -19 -20 -22 -23 -25 -25 -26 -26 -26 -26 -26 -27 -27 -28 -30 -32 -34 -36 -38 -40 -42 -42 -44 -45 -46 -46 -45 -46 -47 -48 -49 -49 -50 -52 -53 -54 -54 -54 -55 -54 -51 -49 -49 -50 -50 -49 -45 -41 -36 -32 -26 -20 -14 -11 -10 -8 -7 -6 -5 -5 -5 -6 -6 -6 -5 -4 -3 -2 -2 -1 -1 -0 -0 -1 -1 -1 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -3 -2 -0 0 -1 -2 -4 -5 -6 -6 -6 -7 -7 -8 -9 -10 -10 -9 -9 -9 -9 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -11 -12 -12 -12 -11 -10 -9 -9 -10 -10 -10 -10 -11 -11 -12 -12 -12 -11 -12 -12 -12 -11 -11 -11 -10 -10 -10 -9 -9 -8 -7 -6 -5 -4 -4 -5 -6 -6 -5 -5 -4 -4 -3 -1 -0 0 -1 -2 -1 -0 1 2 2 2 2 3 4 5 6 7 8 9 10 11 11 11 10 10 10 12 13 14 16 17 18 18 17 16 16 16 16 15 15 15 15 17 20 22 23 24 23 22 20 20 19 19 19 19 19 18 17 17 17 17 17 18 20 22 23 22 20 18 16 16 16 16 16 16 16 16 16 15 15 15 16 17 18 19 19 19 19 20 20 21 21 22 22 22 22 22 21 21 20 20 19 19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 19 19 19 18 18 18 17 17 18 18 18 18 17 17 16 16 16 16 16 17 17 18 18 19 19 20 20 19 19 19 19 19 20 20 21 21 21 20 20 20 19 19 19 19 19 19 20 20 19 19 18 17 16 14 13 12 10 9 7 5 4 2 1 -0 -1 -1 -2 -1 -1 0 1 2 -32 -31 -29 -26 -21 -17 -14 -14 -18 -24 -29 -31 -31 -30 -29 -30 -30 -28 -27 -26 -25 -24 -24 -23 -23 -23 -23 -23 -22 -21 -21 -22 -23 -23 -22 -20 -18 -16 -16 -18 -18 -18 -18 -16 -13 -11 -10 -11 -13 -14 -16 -17 -17 -17 -18 -20 -21 -22 -23 -24 -25 -26 -26 -26 -26 -26 -27 -27 -28 -28 -29 -31 -33 -35 -37 -40 -41 -41 -43 -44 -45 -45 -45 -45 -46 -47 -48 -50 -52 -53 -55 -56 -57 -58 -58 -56 -53 -50 -48 -47 -48 -51 -51 -49 -43 -36 -30 -26 -21 -15 -9 -8 -7 -6 -5 -5 -6 -6 -6 -5 -5 -4 -4 -3 -3 -2 -2 -1 -1 -1 -1 -1 -2 -2 -3 -4 -4 -4 -3 -3 -3 -3 -3 -4 -4 -4 -3 -2 -1 0 -0 -1 -3 -4 -5 -6 -6 -7 -7 -8 -8 -9 -9 -9 -9 -9 -9 -10 -10 -10 -10 -9 -9 -9 -9 -8 -8 -8 -9 -9 -10 -11 -11 -11 -10 -9 -9 -9 -9 -9 -10 -11 -11 -12 -12 -12 -12 -12 -12 -12 -12 -11 -11 -11 -10 -10 -9 -8 -8 -7 -6 -4 -4 -3 -4 -5 -6 -5 -5 -4 -4 -3 -2 -0 0 -1 -2 -3 -1 0 1 1 1 1 1 2 3 4 4 5 6 8 9 9 9 9 8 9 10 12 13 15 16 17 16 16 15 14 14 15 15 15 14 14 16 18 21 23 24 24 23 22 21 20 21 21 20 19 19 18 17 17 17 18 19 20 22 24 24 23 20 18 17 16 16 16 16 16 16 16 16 15 15 16 16 17 18 19 20 20 20 20 20 21 21 22 22 22 22 22 21 21 21 20 20 20 20 20 19 19 20 20 20 19 19 19 19 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 17 17 16 16 15 15 16 16 17 18 19 20 20 20 19 19 19 19 19 19 20 21 21 21 20 20 20 19 19 19 19 19 19 19 20 19 19 18 18 17 15 14 13 11 9 8 6 4 2 1 -0 -1 -1 -1 -2 -1 -1 -0 1 -31 -30 -26 -22 -17 -14 -13 -15 -20 -24 -29 -31 -32 -31 -30 -30 -30 -29 -27 -26 -25 -24 -23 -23 -23 -23 -24 -24 -23 -22 -22 -22 -22 -22 -21 -19 -18 -17 -18 -19 -19 -19 -17 -15 -13 -11 -11 -13 -14 -15 -15 -16 -16 -16 -18 -21 -23 -24 -25 -25 -25 -26 -26 -26 -26 -27 -27 -28 -29 -29 -29 -30 -32 -33 -35 -38 -40 -41 -42 -43 -44 -44 -44 -45 -46 -47 -48 -50 -52 -53 -55 -56 -58 -59 -58 -57 -53 -50 -46 -45 -46 -49 -52 -51 -48 -43 -37 -32 -27 -19 -10 -7 -6 -6 -5 -5 -6 -6 -5 -5 -5 -5 -5 -4 -4 -3 -2 -1 -1 -1 -1 -1 -2 -3 -4 -4 -4 -4 -4 -3 -3 -3 -4 -4 -4 -4 -3 -1 -0 -0 -1 -3 -4 -4 -5 -6 -6 -7 -8 -8 -8 -8 -9 -9 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -8 -8 -8 -8 -8 -8 -9 -10 -10 -10 -9 -9 -9 -8 -9 -9 -10 -11 -11 -11 -11 -11 -11 -12 -12 -12 -11 -11 -10 -10 -10 -9 -8 -7 -6 -5 -4 -3 -3 -4 -5 -5 -5 -5 -4 -4 -3 -2 -1 -0 -1 -3 -4 -2 -0 1 1 1 -0 -0 1 2 3 3 3 4 5 6 7 8 7 7 8 10 11 12 13 14 15 15 14 13 13 13 13 14 14 14 14 15 17 20 22 24 24 23 22 21 21 22 22 21 20 19 18 17 17 17 18 19 21 22 24 25 25 23 20 18 17 17 17 17 17 17 16 16 16 16 16 16 17 18 19 19 20 20 20 20 20 21 21 21 22 22 21 21 21 20 20 20 20 20 20 20 20 19 19 19 19 19 19 19 19 18 18 18 18 18 17 17 17 17 17 18 18 18 18 18 18 17 17 16 16 15 15 15 16 17 18 19 20 20 20 20 19 19 19 19 19 20 20 20 20 20 20 20 19 19 19 19 19 19 19 19 19 19 19 18 17 16 15 14 12 10 9 7 5 3 1 0 -1 -1 -1 -2 -2 -2 -1 -1 -30 -28 -24 -19 -15 -12 -14 -18 -21 -25 -28 -30 -32 -32 -31 -30 -30 -29 -29 -27 -26 -24 -23 -22 -23 -23 -23 -23 -23 -22 -22 -22 -22 -22 -21 -19 -18 -18 -19 -20 -20 -20 -18 -16 -14 -13 -14 -15 -15 -16 -16 -16 -15 -16 -18 -22 -25 -27 -28 -27 -26 -26 -26 -26 -27 -27 -28 -28 -28 -29 -29 -30 -31 -32 -34 -36 -39 -40 -40 -41 -42 -43 -44 -45 -47 -48 -49 -50 -52 -53 -55 -56 -57 -58 -59 -58 -56 -52 -47 -43 -43 -45 -48 -51 -52 -48 -43 -37 -30 -21 -12 -8 -6 -6 -6 -5 -5 -5 -4 -5 -5 -5 -6 -5 -5 -4 -3 -2 -1 -0 -1 -2 -3 -4 -4 -5 -4 -4 -4 -4 -3 -3 -4 -4 -4 -3 -2 -1 -1 -2 -3 -4 -4 -5 -6 -6 -7 -7 -7 -7 -7 -8 -8 -10 -11 -11 -11 -11 -10 -10 -10 -10 -9 -9 -8 -7 -7 -7 -7 -8 -8 -9 -9 -9 -8 -8 -8 -8 -9 -10 -10 -11 -11 -10 -10 -11 -11 -11 -11 -11 -10 -9 -9 -9 -8 -8 -7 -6 -5 -4 -3 -2 -3 -4 -5 -5 -5 -4 -3 -3 -2 -1 -0 -1 -3 -4 -4 -1 1 2 1 -1 -1 -0 1 2 2 2 3 3 4 5 6 6 6 7 8 10 11 12 12 13 13 12 11 11 11 11 12 13 14 14 15 17 19 21 22 23 22 21 21 21 22 22 22 20 19 18 17 17 17 18 19 21 22 24 25 25 24 22 20 19 18 18 17 17 17 17 17 16 16 16 16 17 17 18 18 18 19 19 19 20 20 20 20 20 21 20 20 20 20 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 17 17 17 16 16 16 16 16 16 17 17 17 18 18 18 18 17 17 16 16 15 15 16 16 17 19 20 20 20 20 19 19 18 19 19 19 20 20 20 20 20 20 19 19 19 19 19 19 19 19 19 19 18 18 17 17 16 15 13 12 10 8 6 4 2 1 -0 -1 -1 -2 -2 -2 -2 -2 -29 -26 -22 -17 -13 -12 -15 -19 -22 -25 -27 -29 -31 -32 -32 -30 -29 -29 -29 -29 -28 -26 -24 -22 -22 -23 -23 -23 -23 -22 -22 -22 -22 -22 -21 -20 -19 -19 -19 -20 -21 -20 -19 -17 -16 -17 -17 -17 -17 -17 -17 -16 -16 -17 -19 -22 -26 -30 -31 -30 -28 -27 -27 -27 -27 -27 -27 -28 -28 -29 -29 -29 -30 -31 -33 -35 -37 -38 -39 -41 -42 -44 -45 -46 -47 -48 -50 -51 -52 -53 -55 -56 -56 -57 -57 -57 -56 -52 -46 -42 -41 -42 -44 -48 -53 -52 -46 -38 -31 -26 -21 -13 -7 -5 -6 -5 -4 -4 -4 -5 -6 -6 -6 -6 -6 -5 -4 -2 -1 -1 -1 -2 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -2 -2 -2 -3 -4 -4 -5 -6 -6 -7 -7 -7 -6 -6 -6 -7 -8 -10 -11 -11 -11 -11 -10 -10 -10 -10 -9 -8 -8 -7 -6 -6 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -9 -10 -10 -10 -10 -10 -10 -11 -11 -10 -10 -9 -8 -8 -7 -7 -7 -7 -6 -5 -4 -3 -2 -2 -3 -4 -5 -4 -3 -3 -2 -1 -1 -1 -2 -3 -5 -5 -2 0 1 1 -0 -2 -1 0 1 2 2 2 2 3 4 4 5 5 6 7 9 9 10 10 10 10 10 9 9 8 9 10 11 12 13 14 16 18 20 21 21 20 19 19 20 21 21 21 20 18 16 16 16 17 18 20 21 22 23 24 25 25 24 22 20 19 19 18 18 18 17 17 17 17 17 17 17 17 17 17 17 17 17 17 18 18 18 19 19 19 19 18 18 18 18 18 17 17 17 17 17 17 17 17 17 17 16 16 16 16 16 16 16 16 16 15 15 14 14 14 15 15 16 16 17 17 17 17 17 17 16 16 16 16 16 16 17 18 19 20 20 20 19 19 18 18 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 18 18 17 16 16 15 14 13 11 9 7 5 4 2 0 -1 -2 -2 -2 -3 -3 -3 -28 -25 -21 -16 -13 -12 -16 -19 -22 -24 -26 -28 -29 -31 -31 -30 -29 -28 -29 -30 -30 -28 -25 -24 -23 -23 -23 -23 -23 -22 -22 -22 -22 -23 -22 -21 -20 -19 -19 -20 -21 -20 -19 -18 -19 -19 -19 -18 -18 -18 -18 -18 -18 -20 -22 -25 -29 -32 -34 -34 -32 -29 -28 -27 -27 -27 -27 -27 -28 -28 -28 -29 -29 -30 -32 -34 -36 -37 -38 -40 -42 -44 -45 -46 -47 -48 -50 -51 -52 -53 -55 -56 -56 -56 -55 -55 -53 -50 -45 -42 -42 -42 -42 -44 -48 -50 -48 -43 -36 -31 -26 -20 -13 -7 -5 -5 -4 -4 -4 -5 -6 -7 -7 -7 -7 -6 -5 -3 -2 -2 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -4 -4 -5 -6 -7 -7 -7 -7 -6 -5 -5 -6 -7 -8 -9 -10 -10 -10 -10 -10 -10 -9 -9 -9 -8 -7 -6 -6 -6 -6 -7 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -10 -10 -10 -10 -9 -8 -7 -7 -6 -6 -5 -5 -5 -5 -5 -3 -2 -1 -1 -2 -4 -4 -3 -3 -2 -1 -1 -1 -2 -3 -5 -5 -4 -1 1 1 1 -1 -2 -1 1 1 1 1 1 2 3 3 4 4 5 6 7 8 8 8 8 8 7 7 6 6 6 7 9 10 11 12 14 16 18 18 17 16 16 15 17 18 20 20 19 17 15 15 15 16 18 19 21 22 23 23 23 24 24 23 22 20 19 19 18 18 18 17 17 17 17 16 16 16 16 16 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 14 14 14 14 15 15 15 14 14 13 13 13 13 13 14 14 15 15 16 16 16 16 16 16 16 16 16 16 16 16 17 18 19 20 20 19 19 18 18 18 18 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 18 17 16 15 15 14 13 12 10 9 7 5 3 1 -0 -1 -2 -2 -3 -3 -3 -28 -24 -20 -16 -13 -13 -17 -20 -22 -24 -25 -27 -28 -29 -30 -30 -29 -28 -28 -30 -31 -31 -28 -26 -24 -23 -23 -23 -23 -23 -23 -23 -23 -22 -22 -22 -21 -21 -22 -22 -22 -21 -20 -20 -20 -20 -18 -17 -17 -19 -21 -21 -22 -23 -25 -28 -31 -34 -35 -35 -34 -31 -29 -28 -27 -27 -27 -27 -27 -28 -28 -28 -29 -29 -31 -33 -35 -36 -38 -40 -42 -43 -44 -45 -47 -48 -49 -51 -52 -53 -55 -56 -56 -56 -55 -54 -52 -49 -46 -43 -43 -42 -40 -40 -43 -47 -47 -43 -36 -31 -26 -25 -20 -13 -6 -4 -4 -5 -5 -6 -6 -7 -7 -7 -7 -6 -5 -4 -4 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -6 -7 -7 -7 -6 -5 -5 -6 -7 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -7 -6 -6 -6 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -10 -10 -9 -8 -7 -6 -6 -5 -5 -4 -4 -4 -4 -5 -4 -3 -1 -0 -1 -2 -3 -3 -3 -2 -1 -1 -1 -2 -3 -4 -5 -4 -3 -1 1 1 0 -1 -1 -0 1 1 1 1 1 2 3 3 3 4 5 6 6 6 6 5 6 6 5 5 4 5 5 6 7 8 9 10 11 13 13 13 11 11 11 13 15 17 18 17 16 14 14 14 16 17 19 21 21 22 22 22 23 23 23 22 21 20 19 18 18 18 17 17 17 16 16 15 15 14 14 13 12 12 12 12 12 12 13 13 13 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 13 12 12 12 12 12 12 12 12 12 13 14 14 15 15 15 15 15 16 16 16 16 16 16 17 17 18 19 19 19 19 19 18 18 18 18 19 19 19 19 18 18 19 19 20 20 20 20 20 20 19 19 19 18 16 15 14 14 13 12 12 10 9 7 5 3 1 -0 -1 -2 -2 -2 -3 -28 -24 -19 -15 -13 -14 -18 -21 -23 -24 -25 -27 -27 -27 -27 -28 -28 -28 -28 -29 -31 -32 -32 -28 -26 -24 -23 -23 -23 -23 -23 -23 -22 -22 -22 -22 -22 -23 -23 -24 -24 -23 -22 -22 -22 -20 -19 -18 -19 -22 -24 -25 -25 -26 -28 -31 -33 -35 -36 -36 -35 -33 -30 -28 -28 -27 -27 -27 -27 -28 -28 -29 -29 -29 -30 -31 -33 -36 -38 -40 -42 -43 -44 -45 -46 -47 -48 -49 -51 -52 -54 -55 -56 -56 -55 -54 -53 -51 -48 -45 -43 -39 -37 -36 -39 -42 -43 -39 -34 -31 -29 -28 -25 -19 -12 -6 -5 -5 -6 -6 -6 -7 -7 -7 -7 -6 -6 -5 -5 -4 -4 -3 -2 -2 -2 -2 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -6 -7 -7 -6 -6 -6 -6 -7 -8 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -9 -8 -8 -7 -6 -6 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -10 -10 -10 -9 -7 -6 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -3 -1 0 0 -1 -2 -3 -3 -2 -1 -1 -1 -3 -4 -4 -4 -3 -2 0 2 1 0 -1 -1 0 1 1 1 1 2 2 3 3 3 4 5 5 5 4 4 4 4 4 4 4 4 4 5 5 6 6 6 7 8 8 7 6 6 7 9 12 14 15 15 14 13 13 14 15 17 18 20 21 21 21 21 21 22 23 22 21 20 18 17 17 16 16 16 15 15 15 14 13 12 11 10 10 9 9 8 8 8 8 8 8 8 8 8 8 8 9 9 9 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 10 10 10 10 10 10 11 11 11 11 11 11 12 12 12 13 13 13 14 14 15 15 15 16 16 16 16 17 17 18 19 19 19 19 18 18 18 18 18 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 19 19 17 16 15 14 13 13 12 11 10 9 7 5 3 1 0 -1 -2 -2 -2 -27 -23 -19 -16 -15 -17 -20 -22 -23 -25 -26 -27 -27 -27 -27 -26 -27 -27 -27 -28 -29 -30 -31 -30 -29 -27 -25 -24 -24 -24 -23 -23 -22 -22 -23 -23 -24 -24 -24 -25 -25 -25 -24 -23 -22 -21 -20 -20 -22 -24 -26 -27 -28 -29 -30 -33 -34 -36 -36 -36 -35 -33 -30 -29 -28 -28 -27 -27 -27 -27 -28 -28 -27 -28 -29 -31 -34 -36 -39 -41 -42 -43 -43 -44 -45 -45 -46 -47 -48 -50 -52 -54 -56 -57 -57 -57 -56 -54 -52 -47 -41 -36 -33 -33 -34 -36 -37 -34 -30 -30 -30 -29 -28 -25 -21 -14 -8 -6 -6 -7 -6 -7 -7 -7 -7 -6 -6 -6 -5 -5 -4 -3 -2 -2 -1 -1 -2 -2 -2 -3 -4 -4 -4 -5 -5 -5 -5 -5 -4 -4 -4 -5 -6 -6 -6 -6 -6 -7 -8 -9 -9 -10 -10 -9 -9 -8 -8 -7 -7 -8 -8 -8 -8 -8 -7 -7 -7 -7 -8 -8 -9 -9 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -7 -6 -5 -4 -4 -4 -3 -3 -3 -4 -4 -4 -4 -3 -1 1 1 -0 -2 -3 -3 -2 -1 -1 -2 -3 -4 -4 -3 -2 -0 1 2 1 -0 -1 -1 0 1 1 1 2 2 3 3 3 3 4 4 4 3 2 2 3 3 3 3 3 4 4 4 4 4 4 4 4 4 3 3 3 4 7 10 12 12 12 11 11 12 13 14 16 17 18 19 20 20 20 20 21 21 21 20 18 17 16 15 14 14 13 13 12 12 11 10 9 8 7 7 6 5 5 4 4 3 3 3 3 4 4 4 4 4 5 5 6 7 7 8 8 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 9 9 9 10 10 10 10 10 10 11 11 11 12 13 13 14 15 15 15 15 16 16 16 17 17 18 18 19 19 19 18 18 18 18 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 19 18 17 16 14 13 13 13 12 12 11 9 7 5 3 2 0 -0 -1 -1 -28 -24 -21 -20 -20 -21 -22 -23 -23 -24 -25 -26 -26 -26 -26 -26 -26 -26 -27 -27 -28 -29 -30 -31 -30 -29 -27 -26 -25 -24 -23 -23 -22 -23 -24 -25 -25 -25 -26 -26 -26 -25 -25 -24 -22 -21 -21 -23 -24 -26 -27 -28 -29 -30 -32 -34 -35 -36 -36 -35 -34 -32 -31 -29 -28 -28 -27 -27 -27 -27 -27 -26 -26 -27 -30 -33 -35 -37 -39 -41 -42 -43 -43 -43 -44 -44 -44 -44 -46 -48 -51 -53 -54 -56 -57 -58 -58 -57 -55 -52 -45 -38 -33 -31 -29 -30 -31 -29 -28 -29 -30 -30 -30 -30 -29 -25 -16 -11 -8 -7 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -4 -3 -2 -1 -1 -0 -0 -1 -2 -2 -3 -4 -4 -5 -5 -5 -5 -4 -4 -4 -4 -5 -6 -6 -6 -6 -6 -7 -9 -10 -10 -11 -10 -10 -9 -8 -8 -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 -7 -6 -5 -4 -4 -4 -4 -4 -4 -3 -4 -4 -4 -4 -3 -1 1 1 -1 -3 -4 -3 -2 -2 -2 -3 -3 -3 -3 -2 -1 1 2 2 1 -1 -1 -0 0 0 1 1 2 2 3 3 3 3 3 3 2 1 1 2 2 3 3 3 3 4 4 3 3 2 2 2 2 2 1 2 4 6 8 10 10 10 9 9 10 12 13 15 16 17 17 18 18 19 19 20 20 19 18 17 15 14 13 12 11 10 10 9 8 7 6 5 4 4 3 3 2 1 0 -1 -1 -2 -2 -2 -2 -2 -1 -1 -0 0 1 2 2 3 4 5 6 6 7 7 7 7 7 7 7 7 7 7 6 6 6 6 6 6 7 7 8 9 9 9 9 9 9 9 9 10 10 11 12 13 14 15 15 15 15 15 15 16 17 17 18 18 19 19 18 18 18 18 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 19 19 18 16 15 14 13 13 12 12 12 11 9 7 5 3 2 1 0 0 -29 -26 -24 -24 -24 -25 -25 -25 -26 -25 -25 -26 -26 -26 -26 -26 -26 -27 -27 -28 -28 -29 -30 -30 -30 -29 -28 -26 -25 -24 -23 -22 -22 -23 -24 -25 -26 -27 -27 -26 -26 -26 -25 -24 -22 -22 -23 -25 -26 -27 -28 -29 -30 -30 -32 -33 -35 -35 -35 -34 -33 -32 -31 -30 -29 -28 -27 -27 -27 -27 -27 -25 -26 -28 -31 -33 -35 -37 -39 -41 -42 -43 -43 -43 -43 -42 -42 -43 -45 -47 -49 -51 -52 -54 -55 -57 -58 -58 -58 -58 -53 -45 -38 -34 -32 -29 -27 -27 -29 -31 -32 -32 -32 -33 -33 -32 -27 -19 -13 -9 -9 -9 -8 -7 -7 -6 -6 -6 -6 -5 -5 -4 -2 -1 -0 0 0 -0 -1 -1 -2 -3 -4 -5 -5 -5 -5 -4 -3 -3 -4 -5 -5 -5 -5 -5 -6 -7 -9 -10 -11 -11 -11 -10 -9 -8 -8 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -9 -9 -8 -8 -8 -7 -7 -6 -5 -5 -4 -4 -4 -4 -4 -4 -3 -3 -4 -4 -4 -3 -1 0 -0 -2 -3 -4 -3 -2 -2 -3 -3 -3 -3 -2 -1 0 2 2 1 -1 -2 -1 -1 -0 0 1 2 2 2 2 2 3 3 2 1 1 1 1 2 2 2 3 3 3 3 3 2 1 1 2 2 2 2 2 4 6 8 9 9 9 8 8 9 10 11 12 13 14 15 16 16 17 17 18 18 17 16 14 13 12 11 10 9 8 7 6 4 3 2 1 -0 -0 -0 -1 -1 -2 -3 -5 -6 -7 -7 -7 -7 -7 -7 -6 -5 -5 -4 -3 -2 -1 -0 1 2 3 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 5 5 6 7 7 8 8 9 9 9 9 9 9 9 10 11 12 13 14 14 14 14 15 15 15 16 17 17 18 18 18 18 18 18 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 19 19 18 16 15 14 13 13 12 12 12 12 11 9 7 5 4 2 2 2 -30 -27 -26 -26 -26 -27 -27 -28 -28 -28 -27 -27 -27 -27 -26 -26 -26 -27 -28 -28 -29 -30 -31 -31 -30 -29 -28 -26 -25 -23 -22 -22 -22 -23 -24 -25 -26 -27 -27 -27 -26 -26 -25 -24 -23 -24 -26 -27 -28 -28 -28 -29 -30 -30 -31 -32 -33 -34 -33 -33 -32 -31 -31 -30 -30 -29 -28 -28 -27 -26 -25 -25 -27 -30 -32 -34 -35 -37 -39 -40 -41 -42 -43 -43 -42 -41 -42 -42 -44 -46 -49 -50 -51 -51 -52 -53 -55 -57 -59 -60 -56 -50 -44 -40 -37 -34 -32 -32 -34 -37 -39 -38 -34 -32 -32 -32 -33 -29 -22 -14 -10 -10 -10 -9 -8 -7 -7 -7 -6 -6 -5 -4 -3 -1 -0 1 1 1 0 -0 -1 -2 -4 -5 -6 -5 -4 -3 -2 -3 -4 -4 -5 -5 -5 -5 -6 -7 -8 -9 -10 -11 -11 -10 -9 -8 -7 -7 -7 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -10 -9 -9 -8 -7 -7 -6 -6 -5 -5 -5 -4 -4 -4 -4 -4 -4 -3 -3 -4 -4 -4 -3 -1 -1 -1 -2 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 -0 1 2 1 -1 -2 -2 -1 -1 -0 0 1 1 1 1 1 2 2 1 1 1 0 1 1 2 2 2 2 3 3 2 1 0 0 1 3 4 4 4 5 6 8 8 8 7 7 7 7 8 9 9 10 11 12 13 14 15 15 15 15 14 13 12 11 10 9 8 7 6 4 3 2 0 -1 -2 -3 -4 -4 -4 -5 -6 -7 -8 -9 -10 -11 -12 -12 -11 -11 -10 -10 -9 -9 -8 -7 -6 -5 -3 -2 -1 0 1 2 2 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 6 7 8 8 8 8 8 8 8 9 9 10 11 11 12 13 13 13 14 14 15 15 16 17 17 18 18 19 19 19 19 19 20 20 21 21 21 21 21 21 20 20 20 20 20 20 20 19 19 18 16 15 14 14 13 13 12 12 12 11 11 9 7 5 4 3 3 -32 -29 -27 -27 -27 -27 -28 -29 -29 -29 -29 -29 -28 -28 -27 -27 -27 -27 -27 -28 -28 -29 -30 -31 -31 -30 -28 -26 -24 -23 -22 -21 -21 -22 -23 -24 -25 -26 -26 -26 -26 -26 -25 -25 -25 -26 -28 -29 -29 -29 -29 -30 -30 -30 -30 -31 -32 -32 -32 -31 -30 -30 -30 -30 -30 -30 -30 -30 -29 -27 -25 -25 -27 -30 -32 -33 -35 -36 -38 -39 -40 -41 -42 -42 -42 -42 -42 -43 -45 -48 -50 -51 -51 -51 -51 -51 -52 -55 -57 -59 -59 -56 -53 -51 -47 -41 -38 -39 -39 -37 -36 -38 -38 -34 -32 -35 -39 -39 -33 -24 -16 -13 -11 -11 -10 -9 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 1 1 0 -1 -2 -4 -5 -5 -4 -3 -2 -2 -3 -4 -4 -4 -4 -4 -5 -6 -7 -8 -9 -10 -10 -10 -9 -8 -8 -7 -7 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -9 -8 -9 -9 -9 -9 -9 -9 -8 -8 -8 -7 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -3 -4 -4 -4 -3 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -2 -1 -1 -0 0 0 0 -1 -2 -2 -2 -2 -1 -1 -0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 2 1 0 -0 -0 1 3 5 5 5 6 6 7 7 6 6 6 6 6 7 7 7 7 8 9 10 11 12 12 12 12 11 10 9 8 7 6 6 5 4 3 1 -0 -2 -3 -4 -5 -6 -7 -7 -8 -8 -9 -10 -12 -13 -14 -14 -14 -14 -13 -13 -13 -12 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 -0 0 1 2 2 2 3 3 3 3 3 3 4 4 4 4 4 5 6 6 7 8 8 8 8 8 8 8 9 9 9 10 10 11 12 12 13 13 14 15 15 16 17 18 18 19 19 19 19 19 20 20 20 21 21 21 21 21 21 21 21 21 20 20 20 20 19 18 17 15 14 14 13 13 13 12 12 12 11 11 9 7 6 5 4 -32 -30 -29 -27 -27 -26 -27 -28 -29 -30 -30 -30 -29 -29 -28 -27 -26 -26 -26 -26 -26 -26 -27 -29 -30 -29 -28 -25 -24 -22 -21 -20 -20 -21 -22 -24 -24 -25 -25 -26 -26 -26 -26 -26 -26 -28 -29 -30 -30 -30 -30 -29 -29 -29 -29 -30 -32 -32 -32 -31 -29 -28 -29 -29 -30 -30 -31 -31 -30 -29 -28 -27 -27 -29 -31 -33 -34 -35 -37 -38 -39 -40 -41 -41 -41 -41 -41 -42 -45 -48 -51 -52 -52 -51 -51 -51 -52 -54 -55 -56 -58 -59 -58 -57 -53 -49 -45 -43 -42 -40 -39 -40 -39 -36 -33 -32 -37 -40 -39 -35 -29 -24 -18 -14 -12 -12 -11 -10 -9 -7 -6 -4 -3 -2 -1 -0 0 1 1 0 -1 -2 -4 -5 -4 -3 -2 -2 -2 -3 -4 -4 -3 -3 -3 -4 -6 -7 -8 -9 -9 -9 -9 -8 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -8 -8 -8 -9 -9 -9 -8 -8 -7 -7 -7 -7 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -4 -4 -3 -3 -4 -4 -4 -3 -3 -3 -3 -3 -3 -2 -2 -3 -3 -2 -1 -1 -0 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -1 -0 1 1 1 0 -0 -0 -0 -0 -0 0 0 0 -0 -0 -0 -0 -0 -0 -1 -1 -1 1 3 4 5 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 6 7 8 9 10 9 8 7 6 6 5 4 4 3 3 2 1 -0 -2 -3 -5 -6 -6 -7 -8 -8 -9 -9 -10 -10 -11 -12 -13 -14 -14 -13 -13 -13 -12 -12 -12 -12 -11 -11 -10 -9 -9 -8 -7 -6 -5 -4 -4 -3 -2 -1 -1 0 1 2 2 3 3 3 3 3 3 4 4 4 5 5 6 7 8 8 9 9 9 9 8 8 9 9 9 9 10 10 11 11 12 13 14 15 16 16 17 18 19 19 19 19 20 20 20 20 21 21 21 21 21 21 21 22 21 21 21 21 21 20 19 18 16 15 15 14 14 14 13 12 12 12 11 11 9 8 7 6 -33 -32 -30 -28 -27 -26 -27 -28 -29 -29 -30 -30 -30 -29 -28 -27 -25 -25 -25 -25 -24 -24 -25 -26 -27 -27 -26 -24 -23 -21 -20 -19 -19 -20 -21 -23 -23 -23 -24 -25 -26 -27 -27 -28 -28 -29 -30 -30 -31 -31 -30 -28 -27 -27 -28 -29 -31 -32 -32 -31 -30 -29 -29 -29 -30 -30 -31 -31 -30 -29 -29 -28 -27 -28 -31 -33 -35 -35 -36 -37 -38 -39 -40 -40 -40 -41 -41 -42 -44 -46 -49 -51 -53 -53 -53 -52 -52 -52 -52 -53 -56 -57 -58 -58 -57 -53 -49 -47 -44 -41 -40 -39 -38 -37 -35 -34 -33 -35 -37 -38 -36 -32 -26 -20 -15 -13 -12 -12 -10 -9 -7 -5 -4 -3 -2 -1 -1 -0 -0 -1 -2 -3 -4 -4 -3 -2 -2 -2 -3 -4 -3 -3 -2 -2 -3 -4 -6 -6 -7 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -8 -8 -7 -7 -7 -8 -8 -9 -9 -9 -9 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -3 -3 -4 -4 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -1 -0 -1 -1 -2 -2 -2 -2 -3 -2 -2 -3 -3 -2 -1 0 1 0 -0 -1 -1 -1 -1 -0 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -0 1 2 3 2 2 2 2 3 3 3 3 4 4 4 4 3 3 3 4 4 5 6 7 6 5 4 4 3 3 2 2 1 1 0 -0 -1 -2 -4 -5 -6 -7 -7 -8 -8 -9 -9 -9 -9 -10 -10 -11 -11 -11 -11 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -9 -8 -8 -7 -6 -5 -5 -4 -4 -3 -2 -1 -0 1 1 2 2 2 2 3 3 3 4 4 5 6 6 7 8 8 9 9 9 9 9 9 9 9 9 10 10 10 11 11 12 13 14 15 16 17 17 18 19 19 19 20 20 20 20 20 20 21 21 21 22 22 22 22 22 22 22 22 21 20 19 18 17 16 16 15 15 14 13 12 12 12 12 11 10 9 8 -35 -33 -31 -30 -28 -27 -27 -28 -28 -28 -29 -29 -29 -29 -28 -27 -25 -24 -23 -23 -23 -23 -24 -24 -25 -25 -24 -23 -22 -21 -19 -18 -19 -20 -21 -21 -21 -22 -23 -24 -26 -27 -28 -29 -29 -30 -30 -30 -30 -30 -28 -27 -26 -25 -26 -27 -29 -31 -32 -32 -31 -31 -30 -30 -30 -30 -30 -29 -29 -29 -28 -26 -26 -28 -31 -33 -34 -36 -37 -37 -38 -38 -39 -40 -41 -41 -42 -43 -43 -44 -47 -49 -52 -54 -54 -53 -52 -51 -51 -51 -53 -55 -57 -58 -57 -54 -51 -49 -46 -44 -42 -41 -38 -36 -36 -37 -35 -33 -33 -34 -35 -34 -31 -27 -22 -17 -14 -13 -11 -10 -9 -7 -5 -4 -3 -2 -2 -1 -1 -1 -2 -3 -3 -3 -2 -2 -2 -2 -3 -3 -2 -2 -1 -2 -3 -5 -5 -6 -7 -7 -7 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -9 -9 -9 -9 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -1 -1 -1 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -4 -3 -2 -1 0 0 -0 -1 -1 -1 -1 -2 -2 -3 -4 -4 -4 -4 -4 -4 -4 -3 -2 -1 0 0 -1 -2 -2 -1 -0 0 0 1 2 2 2 2 1 1 1 2 2 3 3 4 4 3 2 1 1 0 0 -0 -1 -1 -2 -2 -3 -3 -4 -6 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -6 -6 -6 -7 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -7 -7 -6 -5 -5 -4 -4 -3 -2 -1 -1 -0 0 1 1 1 2 2 2 3 4 5 6 7 8 8 9 9 10 10 10 10 10 10 10 10 10 10 10 11 12 12 13 14 15 16 17 17 18 19 19 19 20 20 20 20 20 20 21 21 22 22 22 22 23 23 23 22 22 22 21 20 19 18 18 17 17 15 14 13 12 12 12 12 12 11 10 -36 -35 -33 -31 -29 -27 -26 -26 -27 -27 -27 -27 -27 -28 -27 -26 -24 -23 -22 -22 -21 -22 -23 -24 -24 -23 -22 -22 -21 -19 -18 -18 -18 -19 -19 -19 -20 -21 -22 -23 -25 -26 -28 -29 -30 -30 -30 -29 -28 -27 -26 -25 -24 -23 -24 -24 -26 -28 -30 -32 -32 -32 -32 -31 -31 -31 -30 -29 -29 -28 -27 -25 -25 -28 -30 -31 -33 -35 -36 -37 -38 -38 -39 -40 -41 -43 -43 -43 -43 -44 -45 -47 -50 -53 -55 -55 -53 -52 -51 -51 -52 -54 -55 -57 -57 -55 -52 -49 -47 -45 -44 -41 -37 -35 -37 -40 -38 -33 -29 -27 -29 -30 -30 -30 -28 -25 -21 -17 -13 -11 -9 -8 -6 -5 -4 -3 -3 -2 -2 -2 -2 -2 -3 -2 -1 -1 -1 -2 -2 -2 -1 -1 -2 -3 -4 -5 -5 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -9 -9 -9 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -3 -3 -3 -3 -3 -2 -2 -2 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -1 -1 -1 -2 -2 -2 -3 -3 -3 -3 -3 -3 -4 -4 -4 -3 -1 0 0 -0 -2 -2 -3 -3 -4 -5 -6 -6 -6 -6 -6 -6 -5 -5 -4 -3 -2 -2 -3 -4 -5 -4 -3 -3 -2 -2 -1 -1 -0 -1 -1 -1 -1 -1 -0 0 1 1 1 0 -0 -0 -1 -1 -1 -2 -2 -3 -3 -4 -4 -5 -5 -6 -7 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -6 -6 -6 -5 -4 -4 -4 -4 -5 -5 -6 -7 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -8 -7 -7 -6 -6 -5 -5 -4 -4 -3 -3 -2 -2 -1 -1 -1 -0 -0 1 1 2 4 5 6 7 8 9 9 10 10 10 10 11 11 11 11 11 11 11 11 12 12 13 14 14 15 16 17 17 18 19 19 20 20 20 20 20 20 20 21 21 22 22 23 23 23 23 23 23 23 22 22 21 20 20 19 18 17 15 14 13 12 12 12 13 13 12 -36 -36 -34 -32 -30 -28 -27 -27 -27 -26 -26 -26 -27 -27 -26 -25 -23 -21 -20 -20 -20 -21 -22 -23 -22 -21 -20 -20 -19 -17 -16 -16 -17 -18 -18 -18 -19 -20 -21 -22 -23 -24 -25 -27 -28 -29 -29 -28 -27 -25 -24 -23 -23 -22 -22 -22 -23 -25 -28 -31 -32 -32 -33 -32 -32 -31 -30 -29 -28 -26 -24 -23 -25 -27 -28 -29 -30 -33 -35 -36 -37 -39 -40 -41 -42 -43 -44 -44 -44 -45 -46 -46 -48 -51 -54 -54 -54 -53 -53 -53 -53 -54 -54 -55 -55 -54 -52 -49 -46 -44 -42 -39 -36 -35 -37 -40 -38 -32 -25 -21 -21 -23 -24 -27 -29 -30 -27 -23 -19 -15 -11 -8 -7 -6 -5 -4 -4 -3 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -3 -4 -5 -5 -5 -5 -5 -5 -5 -6 -6 -7 -7 -7 -7 -7 -8 -7 -7 -7 -7 -8 -9 -9 -9 -9 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -5 -5 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -1 -2 -2 -2 -2 -2 -2 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -2 -3 -4 -5 -5 -4 -1 0 0 -1 -3 -4 -5 -5 -6 -7 -8 -8 -8 -8 -7 -7 -7 -6 -5 -4 -4 -5 -6 -7 -7 -6 -5 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -4 -4 -4 -5 -5 -6 -6 -7 -7 -8 -8 -8 -8 -8 -8 -7 -7 -7 -6 -6 -5 -4 -4 -3 -3 -3 -4 -4 -5 -5 -6 -6 -7 -8 -8 -8 -9 -9 -9 -9 -9 -9 -9 -8 -8 -7 -7 -6 -6 -6 -5 -5 -4 -4 -3 -3 -3 -3 -3 -2 -2 -1 0 2 3 5 6 7 8 9 9 9 10 10 11 11 12 12 11 11 11 12 12 13 13 14 14 15 16 16 17 18 18 19 19 20 20 20 19 19 20 21 21 22 22 23 23 23 23 23 23 23 23 23 23 22 22 20 19 18 17 15 14 13 12 13 13 14 14 -35 -35 -35 -33 -31 -29 -28 -28 -28 -27 -26 -26 -26 -25 -24 -22 -20 -19 -19 -19 -19 -20 -21 -21 -21 -20 -18 -17 -16 -14 -14 -15 -16 -16 -16 -17 -18 -19 -20 -21 -22 -22 -22 -23 -25 -26 -27 -27 -25 -24 -23 -22 -22 -22 -22 -21 -21 -23 -26 -28 -30 -32 -32 -33 -32 -31 -30 -29 -27 -25 -24 -24 -25 -26 -26 -27 -29 -31 -33 -35 -37 -39 -40 -42 -42 -43 -43 -44 -46 -47 -47 -47 -47 -49 -51 -53 -54 -55 -55 -55 -54 -53 -52 -51 -51 -52 -51 -49 -45 -41 -40 -38 -36 -36 -37 -39 -38 -31 -23 -18 -16 -17 -19 -22 -24 -26 -27 -27 -25 -21 -16 -12 -8 -7 -6 -6 -5 -4 -3 -2 -1 -1 -1 -0 -0 -0 -0 -0 -0 -0 -1 -1 -2 -3 -4 -4 -4 -4 -4 -4 -5 -5 -6 -7 -7 -7 -7 -8 -8 -8 -8 -8 -7 -8 -8 -9 -9 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -5 -5 -5 -5 -4 -4 -3 -3 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -2 -2 -3 -5 -6 -5 -4 -1 1 1 -1 -4 -5 -6 -6 -7 -8 -9 -9 -9 -9 -8 -8 -7 -6 -6 -6 -7 -8 -8 -8 -8 -7 -7 -7 -6 -6 -6 -6 -5 -5 -5 -5 -5 -4 -4 -4 -3 -4 -4 -4 -4 -4 -4 -4 -5 -5 -5 -5 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -5 -4 -3 -3 -4 -4 -5 -6 -6 -7 -7 -7 -8 -8 -8 -9 -9 -9 -9 -9 -10 -10 -10 -10 -10 -9 -9 -8 -8 -8 -7 -7 -6 -6 -5 -5 -5 -5 -5 -5 -4 -3 -2 -0 1 3 5 6 7 7 8 8 9 9 10 11 11 12 12 12 12 12 12 13 14 14 15 16 16 17 17 18 18 19 19 19 19 19 19 19 19 20 21 21 22 23 23 23 23 23 24 24 24 24 24 24 23 22 21 19 18 17 15 14 13 13 14 14 15 -33 -33 -33 -33 -32 -31 -30 -29 -29 -28 -27 -26 -25 -23 -22 -20 -19 -18 -18 -19 -19 -19 -19 -19 -18 -17 -16 -15 -13 -12 -13 -14 -15 -15 -16 -16 -17 -18 -19 -20 -20 -19 -19 -20 -21 -23 -24 -24 -24 -23 -23 -23 -23 -23 -22 -21 -21 -22 -24 -26 -28 -30 -31 -32 -31 -30 -29 -29 -27 -25 -24 -25 -25 -26 -27 -28 -28 -28 -30 -34 -37 -39 -40 -41 -42 -43 -44 -45 -47 -48 -49 -49 -49 -49 -49 -50 -52 -53 -55 -56 -55 -54 -51 -46 -43 -43 -44 -45 -44 -40 -37 -36 -35 -34 -35 -35 -33 -28 -23 -20 -17 -18 -19 -20 -22 -23 -24 -23 -23 -23 -23 -20 -12 -8 -6 -6 -5 -4 -3 -2 -1 -0 0 0 1 1 0 0 0 0 -1 -2 -3 -3 -3 -3 -3 -3 -4 -4 -5 -5 -6 -6 -7 -7 -7 -8 -8 -9 -8 -8 -8 -8 -8 -8 -8 -7 -7 -6 -7 -7 -7 -7 -7 -6 -6 -6 -5 -5 -5 -4 -4 -4 -3 -3 -2 -2 -2 -1 -1 -0 -0 -0 -0 0 0 0 -0 -1 -1 -2 -3 -3 -3 -3 -2 -2 -3 -2 -2 -2 -2 -2 -3 -3 -2 -1 -2 -3 -5 -6 -5 -3 0 2 1 -1 -4 -6 -6 -7 -8 -9 -10 -10 -10 -9 -9 -8 -8 -7 -7 -8 -8 -9 -9 -9 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -5 -5 -5 -5 -6 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -7 -6 -5 -5 -5 -5 -6 -7 -8 -8 -8 -8 -9 -9 -9 -10 -10 -10 -10 -11 -11 -11 -12 -12 -12 -12 -12 -11 -11 -11 -10 -10 -9 -9 -8 -8 -8 -7 -7 -7 -7 -6 -6 -4 -3 -1 1 2 4 5 6 6 7 7 8 9 9 10 11 11 11 11 12 12 13 13 14 15 16 17 17 18 18 19 19 19 20 20 19 19 19 19 19 20 21 22 22 22 23 23 23 23 24 24 25 25 25 25 24 22 21 19 18 17 16 14 14 14 15 16 -32 -32 -32 -32 -32 -31 -31 -30 -30 -29 -28 -26 -24 -22 -20 -19 -19 -19 -19 -19 -19 -18 -17 -16 -16 -15 -14 -13 -12 -12 -13 -14 -15 -15 -16 -16 -17 -17 -18 -18 -18 -17 -17 -18 -19 -20 -20 -21 -22 -22 -23 -23 -23 -23 -22 -22 -22 -22 -24 -26 -27 -28 -30 -30 -30 -29 -28 -26 -24 -23 -23 -25 -26 -26 -26 -26 -26 -27 -30 -34 -38 -40 -41 -42 -43 -44 -45 -46 -47 -47 -48 -48 -48 -48 -48 -47 -48 -49 -52 -54 -54 -53 -51 -48 -44 -40 -40 -40 -40 -39 -38 -37 -35 -33 -32 -31 -29 -24 -21 -21 -23 -25 -25 -24 -23 -23 -23 -22 -21 -20 -20 -21 -18 -11 -6 -4 -4 -3 -2 -1 -0 0 1 1 1 1 1 1 1 0 -1 -2 -2 -2 -2 -2 -2 -3 -3 -4 -4 -5 -6 -6 -6 -6 -7 -8 -8 -9 -8 -8 -7 -8 -8 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -3 -3 -2 -2 -2 -2 -1 -1 -1 -0 0 1 1 1 1 1 1 0 -0 -1 -2 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -1 -1 -1 -2 -4 -5 -6 -4 -1 2 3 1 -2 -4 -6 -6 -7 -8 -9 -10 -10 -10 -9 -9 -9 -8 -8 -8 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -7 -7 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -6 -6 -7 -7 -7 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -9 -10 -10 -11 -10 -9 -8 -7 -7 -7 -8 -9 -9 -9 -9 -10 -10 -10 -11 -11 -12 -12 -12 -12 -12 -13 -13 -14 -14 -14 -15 -14 -14 -14 -14 -13 -13 -13 -12 -12 -11 -11 -10 -10 -9 -9 -8 -8 -7 -5 -4 -2 0 2 3 4 4 5 5 6 7 8 9 10 10 11 11 11 12 12 13 14 15 16 17 18 19 20 20 20 20 20 20 20 20 19 19 20 20 21 21 22 22 22 22 23 23 24 24 25 25 26 25 25 23 22 21 20 19 17 16 15 15 15 16 -32 -31 -31 -31 -31 -31 -30 -30 -29 -29 -28 -26 -24 -23 -21 -20 -20 -20 -20 -19 -17 -15 -14 -14 -14 -14 -13 -13 -13 -14 -16 -16 -16 -15 -15 -15 -16 -17 -18 -18 -18 -18 -17 -17 -17 -18 -19 -19 -20 -21 -22 -23 -23 -23 -22 -22 -22 -22 -23 -24 -26 -28 -29 -29 -28 -26 -24 -22 -22 -22 -24 -25 -27 -27 -26 -25 -26 -27 -31 -35 -39 -41 -42 -44 -45 -45 -46 -45 -45 -45 -45 -46 -46 -46 -46 -46 -46 -47 -49 -50 -50 -50 -49 -48 -45 -40 -38 -37 -38 -38 -38 -37 -36 -34 -31 -26 -21 -18 -18 -19 -21 -24 -24 -25 -25 -27 -27 -24 -22 -22 -22 -24 -23 -16 -8 -3 -2 -2 -1 -1 -0 0 1 1 2 2 2 1 1 -0 -1 -1 -2 -2 -1 -1 -2 -2 -3 -4 -4 -5 -5 -5 -5 -5 -6 -7 -8 -8 -8 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -4 -4 -3 -3 -3 -2 -2 -2 -2 -2 -2 -1 -1 -0 0 1 1 1 1 1 1 1 0 -0 -1 -2 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -1 -0 0 -1 -2 -4 -5 -5 -3 1 4 4 2 -2 -5 -6 -6 -7 -8 -9 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -7 -7 -8 -8 -8 -8 -9 -9 -9 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -9 -9 -9 -9 -10 -11 -11 -12 -12 -12 -12 -11 -10 -10 -10 -10 -10 -11 -11 -11 -11 -11 -12 -12 -13 -13 -14 -14 -14 -14 -14 -15 -15 -16 -17 -17 -17 -17 -17 -17 -17 -17 -17 -16 -16 -15 -15 -14 -13 -12 -11 -11 -10 -9 -8 -7 -6 -4 -2 -1 1 1 2 3 3 4 5 6 7 8 9 10 11 11 11 12 12 13 15 16 17 19 20 21 21 22 22 22 21 21 21 20 20 20 20 21 21 21 22 22 22 22 23 23 24 24 25 25 25 25 24 23 22 21 21 19 18 17 16 16 17 -32 -31 -30 -30 -30 -30 -30 -29 -29 -28 -27 -25 -24 -23 -22 -21 -21 -21 -20 -17 -14 -12 -12 -12 -13 -13 -14 -14 -15 -17 -18 -17 -16 -15 -15 -14 -14 -15 -16 -18 -18 -19 -18 -18 -18 -18 -18 -18 -19 -20 -21 -22 -22 -21 -21 -21 -22 -23 -23 -24 -25 -26 -27 -27 -25 -23 -20 -20 -20 -22 -24 -26 -28 -29 -28 -27 -26 -28 -32 -35 -38 -40 -43 -45 -46 -46 -46 -45 -44 -43 -42 -43 -44 -45 -45 -46 -46 -46 -47 -48 -47 -46 -45 -45 -44 -40 -38 -37 -37 -36 -36 -36 -36 -34 -29 -22 -18 -16 -17 -20 -23 -24 -25 -26 -26 -27 -28 -27 -26 -25 -24 -27 -29 -25 -16 -8 -2 -1 0 0 1 1 1 1 1 1 1 1 0 -0 -1 -1 -1 -1 -1 -1 -1 -2 -3 -4 -4 -5 -4 -4 -4 -5 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -2 -2 -2 -1 -2 -2 -2 -1 -1 0 1 1 1 1 1 1 1 1 -0 -1 -1 -2 -2 -2 -2 -3 -3 -3 -3 -2 -2 -2 -1 -0 0 1 0 -1 -2 -3 -4 -3 -1 3 4 4 1 -3 -5 -6 -6 -7 -8 -9 -10 -10 -10 -9 -9 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -8 -8 -8 -7 -7 -8 -8 -9 -9 -10 -10 -10 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -10 -10 -10 -11 -11 -11 -12 -13 -13 -14 -14 -14 -13 -13 -12 -12 -12 -12 -13 -13 -13 -13 -13 -13 -14 -14 -14 -15 -15 -15 -15 -15 -16 -16 -17 -17 -18 -19 -19 -20 -20 -20 -20 -20 -20 -20 -20 -19 -18 -18 -17 -16 -15 -13 -12 -11 -10 -10 -9 -8 -6 -5 -3 -2 -1 0 1 2 2 3 4 5 7 8 9 10 11 11 11 12 12 14 15 17 18 20 21 22 22 23 23 23 22 22 22 22 22 21 21 22 22 22 22 22 22 22 23 23 23 24 25 25 25 25 24 24 23 22 21 20 19 18 17 17 -32 -31 -30 -29 -29 -29 -29 -29 -28 -27 -26 -24 -23 -22 -22 -22 -22 -20 -19 -16 -13 -12 -12 -14 -15 -16 -16 -17 -19 -20 -20 -19 -18 -16 -14 -13 -13 -14 -15 -17 -18 -19 -19 -19 -19 -19 -19 -19 -19 -20 -21 -21 -21 -21 -21 -21 -22 -23 -24 -24 -25 -25 -26 -24 -22 -20 -18 -19 -20 -22 -25 -27 -30 -31 -31 -29 -27 -28 -31 -34 -37 -40 -42 -44 -46 -46 -46 -45 -44 -42 -41 -41 -42 -43 -44 -45 -45 -45 -45 -46 -45 -43 -42 -41 -41 -40 -39 -39 -38 -36 -34 -34 -34 -33 -30 -25 -22 -21 -21 -22 -24 -24 -25 -26 -27 -27 -28 -28 -28 -27 -28 -30 -32 -30 -25 -18 -10 -4 -1 1 1 1 1 1 1 1 0 0 -0 -1 -1 -1 -1 -1 -0 -1 -1 -2 -3 -4 -5 -5 -4 -4 -4 -4 -5 -6 -6 -6 -6 -6 -7 -7 -7 -7 -6 -6 -6 -5 -5 -4 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -2 -2 -2 -1 -0 1 1 2 1 1 1 0 0 -0 -1 -1 -2 -2 -2 -2 -2 -3 -3 -3 -3 -2 -2 -1 -0 1 2 1 0 -1 -2 -3 -3 -2 1 3 4 2 -1 -4 -6 -6 -6 -7 -8 -10 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -9 -8 -8 -8 -9 -9 -8 -8 -7 -8 -8 -9 -9 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -11 -11 -11 -12 -12 -13 -13 -14 -14 -15 -15 -15 -15 -14 -14 -13 -13 -13 -13 -13 -14 -15 -15 -15 -15 -15 -15 -15 -16 -16 -16 -16 -16 -16 -16 -17 -17 -18 -19 -20 -21 -22 -22 -22 -22 -23 -23 -23 -22 -22 -21 -21 -20 -19 -18 -17 -15 -14 -13 -11 -11 -10 -9 -8 -6 -5 -4 -3 -2 -1 -0 1 2 3 4 5 7 8 9 10 11 11 12 12 13 14 15 17 19 20 21 22 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 24 25 26 26 25 25 24 24 23 22 21 19 18 18 -32 -31 -30 -29 -29 -29 -29 -28 -27 -26 -25 -24 -23 -22 -22 -22 -21 -20 -18 -15 -13 -12 -13 -16 -17 -18 -19 -20 -21 -22 -22 -20 -19 -17 -16 -15 -14 -15 -16 -17 -16 -16 -17 -18 -19 -20 -20 -20 -21 -22 -22 -22 -22 -22 -21 -21 -22 -23 -23 -24 -25 -25 -25 -23 -21 -19 -18 -19 -21 -23 -26 -28 -31 -32 -32 -31 -29 -28 -29 -31 -35 -39 -42 -43 -44 -46 -46 -45 -44 -42 -41 -42 -43 -43 -43 -43 -43 -43 -44 -44 -43 -42 -40 -40 -40 -41 -41 -42 -42 -39 -35 -33 -32 -31 -31 -30 -27 -24 -23 -22 -23 -24 -24 -26 -27 -28 -28 -28 -28 -29 -31 -33 -34 -33 -31 -27 -22 -15 -7 -2 -0 1 2 1 1 1 -0 -1 -1 -1 -1 -1 -1 -1 -0 -1 -1 -2 -3 -4 -5 -5 -4 -4 -4 -5 -5 -5 -5 -6 -6 -6 -7 -7 -7 -6 -6 -6 -6 -5 -4 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -2 -2 -1 -1 0 1 1 1 1 1 0 -0 -1 -1 -1 -2 -2 -1 -1 -2 -3 -3 -3 -3 -2 -2 -1 0 1 2 2 2 0 -0 -1 -2 -2 -1 1 3 3 1 -2 -5 -6 -7 -7 -8 -9 -10 -11 -11 -10 -10 -10 -10 -10 -9 -9 -9 -8 -8 -8 -8 -9 -9 -8 -8 -8 -8 -8 -9 -10 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -10 -10 -10 -10 -11 -11 -12 -12 -13 -13 -14 -14 -15 -15 -16 -16 -16 -16 -15 -14 -13 -13 -13 -13 -13 -13 -14 -15 -16 -16 -16 -16 -16 -16 -16 -17 -17 -17 -17 -17 -17 -17 -18 -19 -19 -21 -22 -22 -23 -24 -24 -24 -24 -24 -24 -24 -24 -23 -23 -22 -21 -20 -19 -17 -15 -14 -13 -12 -12 -11 -9 -7 -6 -5 -4 -3 -3 -2 -1 -0 1 2 3 5 7 8 10 11 11 11 12 12 13 14 15 17 18 19 20 21 22 22 22 23 23 24 24 24 24 24 24 24 24 24 24 24 23 23 23 23 24 25 26 26 26 26 25 25 24 23 22 21 20 19 -32 -31 -30 -30 -29 -29 -28 -27 -25 -24 -23 -22 -22 -21 -21 -21 -20 -18 -17 -14 -13 -13 -15 -17 -19 -20 -20 -21 -23 -25 -24 -21 -19 -19 -19 -19 -18 -18 -17 -15 -14 -14 -15 -17 -19 -20 -20 -21 -22 -24 -24 -25 -25 -24 -22 -21 -21 -21 -22 -23 -24 -25 -24 -23 -21 -20 -18 -19 -21 -24 -27 -30 -32 -33 -34 -34 -33 -32 -31 -33 -36 -39 -41 -41 -43 -44 -45 -45 -44 -43 -43 -44 -44 -43 -41 -40 -40 -41 -42 -42 -42 -41 -40 -40 -41 -42 -42 -43 -45 -44 -39 -35 -31 -30 -29 -29 -27 -24 -22 -21 -22 -23 -23 -25 -26 -28 -29 -30 -30 -31 -32 -34 -35 -34 -33 -31 -30 -24 -16 -9 -5 -2 1 2 1 1 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -3 -4 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -7 -7 -7 -6 -6 -6 -6 -5 -4 -3 -2 -2 -2 -2 -3 -3 -3 -3 -2 -2 -1 -1 -1 -1 -1 -1 -0 0 1 1 1 1 0 -1 -1 -1 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -2 -1 -0 1 2 3 3 2 1 0 0 -0 -1 -1 -0 2 3 2 -1 -4 -6 -7 -7 -8 -8 -9 -11 -11 -11 -11 -10 -10 -9 -9 -9 -9 -8 -8 -8 -8 -8 -9 -9 -8 -8 -8 -8 -8 -9 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -10 -10 -10 -11 -11 -12 -12 -13 -13 -14 -14 -15 -15 -15 -16 -16 -16 -15 -14 -13 -12 -12 -12 -12 -13 -13 -14 -14 -15 -16 -16 -17 -17 -17 -17 -17 -18 -18 -18 -18 -18 -18 -18 -19 -20 -21 -22 -23 -24 -24 -25 -25 -25 -25 -25 -25 -25 -25 -25 -24 -24 -23 -22 -21 -19 -17 -16 -14 -14 -13 -12 -10 -8 -7 -6 -5 -4 -4 -3 -2 -2 -1 0 2 3 5 7 8 10 11 11 11 11 12 13 14 16 17 18 18 19 19 20 21 21 22 23 24 25 25 25 25 25 25 25 25 25 25 24 24 24 24 25 26 26 27 27 26 25 25 24 23 22 21 20 -33 -32 -30 -30 -29 -28 -27 -25 -24 -23 -22 -21 -20 -20 -20 -20 -18 -17 -15 -14 -14 -14 -16 -19 -21 -23 -23 -23 -24 -26 -26 -23 -20 -18 -19 -20 -20 -19 -17 -14 -14 -14 -15 -17 -18 -18 -19 -21 -23 -25 -26 -29 -29 -26 -22 -19 -19 -20 -21 -23 -23 -22 -23 -23 -22 -20 -18 -19 -21 -25 -29 -33 -34 -35 -36 -37 -38 -38 -37 -38 -39 -41 -41 -41 -42 -43 -44 -44 -44 -44 -45 -45 -45 -43 -40 -39 -38 -39 -40 -41 -41 -40 -40 -41 -43 -42 -41 -41 -42 -43 -42 -39 -34 -30 -28 -28 -26 -24 -22 -21 -22 -22 -23 -24 -25 -27 -29 -31 -31 -30 -30 -32 -34 -34 -34 -32 -30 -27 -23 -18 -14 -9 -3 -0 1 1 0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -3 -4 -5 -6 -6 -7 -6 -6 -6 -5 -6 -6 -7 -7 -7 -6 -6 -6 -5 -5 -4 -3 -2 -2 -2 -2 -3 -3 -3 -3 -3 -2 -2 -1 -1 -1 -1 -1 -0 0 1 1 1 1 0 -1 -1 -1 -2 -2 -2 -2 -2 -3 -3 -3 -3 -2 -2 -1 0 2 3 3 3 3 2 1 0 1 0 -1 -1 0 1 2 0 -2 -4 -6 -7 -7 -8 -9 -10 -11 -11 -11 -11 -10 -9 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -10 -10 -10 -10 -10 -10 -10 -9 -9 -9 -10 -10 -10 -11 -11 -12 -12 -12 -13 -13 -14 -14 -15 -15 -15 -15 -15 -14 -13 -12 -11 -11 -12 -12 -12 -13 -13 -14 -14 -15 -16 -17 -17 -17 -17 -18 -18 -19 -19 -19 -19 -19 -19 -19 -20 -20 -21 -23 -23 -24 -25 -25 -25 -26 -26 -26 -26 -26 -26 -26 -25 -25 -24 -23 -22 -21 -19 -17 -16 -15 -14 -13 -11 -10 -8 -7 -6 -5 -5 -4 -3 -3 -2 -1 -0 1 3 5 7 8 10 10 11 11 11 12 13 14 15 16 16 17 17 17 18 19 20 22 23 24 24 25 25 25 25 26 26 26 26 25 25 25 25 25 26 26 27 27 27 26 25 24 23 23 22 21 -33 -32 -30 -29 -28 -27 -25 -24 -23 -22 -21 -19 -18 -18 -18 -18 -16 -15 -14 -14 -15 -17 -19 -22 -24 -26 -26 -25 -25 -26 -27 -24 -20 -16 -16 -17 -17 -16 -16 -15 -15 -15 -15 -15 -16 -17 -18 -20 -22 -25 -28 -29 -27 -24 -22 -22 -24 -24 -24 -24 -25 -24 -24 -24 -23 -20 -18 -20 -23 -27 -32 -34 -35 -37 -39 -40 -40 -41 -41 -42 -42 -42 -41 -40 -41 -42 -43 -44 -44 -45 -45 -45 -45 -43 -41 -39 -39 -39 -39 -39 -39 -39 -40 -42 -44 -44 -41 -38 -35 -34 -35 -34 -33 -30 -28 -27 -26 -25 -24 -23 -23 -23 -23 -23 -24 -26 -28 -29 -28 -26 -24 -27 -31 -34 -35 -33 -30 -27 -26 -24 -22 -18 -12 -7 -3 -0 0 -0 -1 -2 -2 -2 -2 -1 -1 -1 -1 -2 -3 -4 -5 -6 -7 -8 -7 -7 -6 -6 -6 -6 -7 -7 -7 -6 -6 -5 -5 -4 -3 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -2 -2 -1 -1 -1 -1 -1 -0 0 0 0 0 -0 -1 -1 -2 -2 -2 -2 -3 -3 -3 -3 -3 -2 -1 -1 0 1 2 3 3 4 3 2 1 1 1 1 0 -1 -1 -0 1 0 -1 -3 -5 -6 -7 -7 -8 -8 -10 -11 -11 -11 -10 -10 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -12 -13 -13 -13 -13 -14 -13 -13 -12 -11 -11 -11 -11 -11 -12 -12 -12 -13 -14 -15 -16 -17 -17 -18 -18 -18 -19 -19 -20 -20 -20 -20 -20 -20 -20 -21 -21 -22 -23 -24 -25 -25 -25 -26 -26 -26 -26 -26 -26 -26 -25 -25 -25 -24 -23 -22 -21 -20 -19 -18 -16 -15 -14 -13 -11 -9 -8 -7 -6 -6 -5 -4 -4 -3 -2 -1 0 2 3 5 7 8 9 10 10 11 11 12 13 14 15 15 15 15 15 15 16 17 19 21 22 23 23 24 24 25 25 26 26 26 26 25 25 25 25 25 26 27 27 27 26 25 24 23 22 22 22 -32 -31 -29 -28 -27 -26 -24 -23 -22 -21 -20 -18 -16 -15 -16 -15 -14 -14 -14 -16 -18 -20 -22 -25 -26 -28 -28 -28 -27 -27 -26 -23 -19 -16 -16 -17 -17 -17 -17 -17 -17 -16 -16 -15 -16 -17 -18 -20 -21 -22 -24 -24 -24 -25 -25 -25 -24 -24 -25 -26 -26 -26 -25 -24 -21 -18 -17 -19 -23 -28 -33 -35 -37 -38 -40 -40 -39 -39 -39 -40 -40 -41 -41 -40 -41 -41 -42 -43 -44 -44 -45 -44 -43 -42 -40 -39 -39 -39 -39 -38 -37 -37 -38 -40 -42 -42 -41 -39 -36 -35 -35 -34 -32 -29 -26 -24 -24 -24 -24 -24 -24 -24 -24 -24 -25 -26 -27 -26 -22 -20 -20 -24 -28 -32 -34 -34 -31 -27 -23 -19 -17 -16 -19 -18 -12 -6 -2 -2 -2 -3 -3 -3 -3 -2 -1 -1 -1 -1 -2 -3 -5 -6 -8 -8 -8 -7 -7 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -3 -3 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -2 -2 -1 -1 -1 -1 -1 -0 -0 -0 -0 -1 -1 -2 -2 -2 -2 -2 -3 -4 -4 -4 -3 -2 -1 0 1 1 2 3 3 3 3 2 1 1 1 1 0 -0 -1 -1 -1 -0 -1 -2 -3 -5 -6 -6 -7 -7 -8 -9 -11 -11 -11 -10 -9 -8 -8 -8 -8 -8 -8 -9 -9 -9 -8 -8 -7 -7 -8 -8 -9 -9 -9 -9 -9 -10 -10 -10 -10 -10 -10 -10 -10 -11 -11 -11 -12 -11 -10 -10 -10 -10 -11 -12 -12 -12 -12 -12 -12 -12 -11 -11 -11 -11 -12 -12 -12 -12 -12 -13 -14 -16 -17 -17 -18 -18 -19 -19 -19 -20 -20 -20 -21 -21 -21 -21 -22 -22 -22 -23 -24 -24 -25 -25 -26 -26 -26 -26 -26 -25 -25 -25 -25 -25 -24 -24 -23 -22 -21 -20 -19 -18 -17 -16 -15 -14 -12 -11 -9 -8 -7 -6 -6 -5 -4 -3 -3 -2 -1 1 2 4 6 7 8 9 10 10 10 11 12 13 13 13 13 13 13 13 14 15 16 18 20 21 22 22 23 23 24 24 24 25 25 25 25 25 25 25 25 26 26 26 26 25 24 23 22 22 22 -31 -30 -29 -27 -26 -24 -23 -22 -21 -20 -18 -15 -13 -13 -13 -13 -14 -15 -16 -19 -21 -22 -24 -25 -26 -28 -29 -30 -30 -29 -25 -20 -17 -16 -17 -17 -18 -17 -17 -17 -17 -17 -16 -16 -16 -17 -18 -19 -20 -20 -20 -20 -20 -22 -24 -25 -26 -26 -27 -27 -26 -26 -25 -24 -20 -17 -17 -19 -22 -27 -32 -35 -37 -39 -41 -40 -39 -37 -38 -38 -38 -38 -38 -38 -39 -40 -40 -41 -41 -42 -42 -41 -40 -38 -38 -38 -38 -38 -38 -37 -35 -35 -35 -37 -39 -42 -43 -43 -42 -40 -38 -34 -31 -28 -26 -25 -24 -24 -24 -24 -25 -25 -26 -26 -26 -26 -24 -20 -18 -17 -19 -21 -24 -27 -29 -30 -29 -27 -23 -19 -15 -12 -13 -16 -18 -16 -10 -6 -5 -4 -4 -5 -4 -3 -3 -2 -1 -1 -1 -3 -4 -6 -8 -9 -8 -8 -7 -6 -6 -6 -6 -6 -6 -5 -5 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -3 -4 -5 -4 -3 -2 -0 1 2 2 2 2 2 3 2 2 1 0 0 1 0 -0 -1 -1 -1 -1 -1 -2 -2 -3 -5 -6 -6 -7 -7 -8 -9 -10 -10 -10 -9 -8 -8 -7 -7 -8 -8 -9 -9 -9 -9 -8 -8 -7 -7 -8 -8 -9 -9 -9 -9 -9 -9 -10 -10 -10 -10 -10 -10 -11 -11 -12 -12 -12 -11 -10 -9 -9 -10 -10 -11 -11 -11 -11 -12 -12 -11 -11 -12 -12 -12 -12 -12 -12 -12 -13 -14 -15 -16 -17 -18 -18 -19 -19 -20 -20 -20 -21 -21 -21 -22 -22 -22 -23 -23 -23 -24 -24 -25 -26 -26 -26 -26 -26 -26 -25 -25 -25 -24 -24 -24 -24 -23 -23 -22 -21 -20 -19 -18 -17 -17 -16 -15 -14 -12 -10 -9 -8 -7 -6 -5 -5 -4 -3 -2 -1 0 2 3 5 6 7 8 9 9 9 10 10 11 12 12 12 11 11 11 12 12 14 16 18 19 20 21 21 21 22 22 22 23 24 24 24 24 24 24 25 25 26 26 26 26 24 23 22 21 22 -30 -29 -28 -27 -25 -24 -22 -21 -20 -17 -15 -13 -11 -11 -12 -13 -15 -17 -20 -21 -22 -23 -24 -25 -26 -27 -29 -30 -31 -30 -26 -20 -17 -17 -17 -17 -17 -18 -18 -18 -18 -18 -18 -18 -18 -18 -19 -19 -19 -19 -18 -18 -19 -21 -24 -26 -27 -28 -28 -27 -27 -26 -26 -24 -22 -19 -17 -18 -21 -25 -30 -34 -37 -39 -40 -40 -39 -38 -38 -37 -36 -36 -36 -36 -38 -39 -39 -39 -39 -39 -39 -38 -36 -35 -36 -37 -38 -39 -38 -37 -36 -35 -35 -35 -37 -40 -42 -44 -44 -42 -38 -34 -31 -29 -27 -25 -24 -24 -25 -25 -26 -27 -28 -28 -25 -22 -20 -18 -17 -17 -18 -20 -22 -22 -22 -23 -24 -24 -23 -21 -19 -17 -14 -13 -14 -16 -16 -15 -12 -10 -9 -7 -6 -6 -5 -3 -2 -1 -1 -2 -4 -5 -7 -8 -8 -8 -8 -7 -6 -6 -6 -6 -6 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -2 -2 -3 -3 -3 -3 -2 -2 -2 -2 -1 -1 -1 -2 -2 -2 -2 -3 -3 -3 -3 -3 -4 -5 -5 -5 -4 -2 0 1 2 2 1 1 1 2 2 1 0 0 0 0 0 -0 -1 -2 -2 -2 -2 -2 -2 -3 -4 -5 -7 -7 -8 -8 -9 -10 -10 -10 -10 -9 -8 -7 -7 -7 -8 -8 -9 -9 -9 -9 -8 -7 -7 -7 -8 -8 -8 -8 -9 -9 -9 -10 -10 -10 -10 -10 -11 -11 -12 -12 -13 -13 -11 -10 -9 -9 -9 -10 -10 -11 -11 -11 -12 -12 -12 -12 -13 -13 -14 -13 -13 -13 -12 -13 -14 -15 -16 -17 -18 -18 -19 -19 -20 -20 -21 -21 -21 -22 -22 -22 -23 -23 -23 -24 -24 -24 -25 -25 -26 -26 -27 -27 -26 -26 -26 -25 -25 -24 -24 -24 -24 -23 -23 -22 -21 -20 -19 -18 -17 -17 -16 -16 -14 -13 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 2 3 4 5 6 7 8 8 9 9 9 10 11 11 11 11 10 10 10 11 12 13 15 17 18 19 20 20 20 20 21 21 22 22 23 23 24 24 24 25 25 26 26 26 25 24 23 22 22 -29 -28 -28 -27 -25 -23 -21 -19 -18 -15 -12 -11 -11 -12 -14 -15 -17 -18 -19 -20 -21 -21 -22 -24 -27 -28 -30 -31 -32 -31 -26 -21 -18 -17 -17 -17 -17 -18 -18 -18 -19 -19 -19 -20 -20 -19 -19 -19 -18 -18 -19 -18 -19 -21 -24 -26 -27 -27 -27 -27 -27 -27 -26 -26 -24 -22 -20 -20 -21 -23 -27 -31 -35 -36 -37 -38 -38 -39 -39 -37 -35 -34 -34 -34 -36 -38 -40 -39 -38 -38 -37 -35 -34 -33 -35 -37 -39 -40 -40 -39 -39 -38 -36 -34 -35 -36 -39 -41 -41 -39 -36 -34 -33 -32 -30 -27 -25 -25 -25 -26 -27 -28 -29 -29 -26 -22 -20 -19 -19 -19 -21 -23 -22 -20 -17 -16 -16 -18 -20 -22 -25 -26 -24 -19 -15 -13 -11 -12 -14 -17 -19 -15 -11 -10 -8 -6 -4 -3 -2 -2 -3 -5 -6 -7 -8 -8 -8 -7 -7 -6 -6 -6 -5 -5 -5 -4 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -4 -5 -5 -5 -4 -2 0 1 2 1 1 0 0 1 1 1 0 -0 -0 -0 -0 -0 -1 -2 -2 -2 -2 -2 -2 -2 -3 -5 -6 -8 -8 -9 -9 -10 -11 -11 -10 -10 -9 -8 -8 -8 -8 -9 -9 -9 -9 -9 -9 -8 -8 -7 -7 -7 -8 -8 -8 -9 -9 -10 -10 -10 -10 -10 -10 -11 -12 -13 -13 -13 -12 -11 -9 -9 -9 -10 -11 -11 -11 -12 -13 -13 -13 -13 -14 -14 -15 -15 -14 -14 -13 -14 -14 -15 -16 -17 -18 -18 -19 -20 -20 -21 -21 -22 -22 -22 -22 -22 -22 -23 -23 -24 -24 -24 -25 -25 -26 -26 -26 -27 -27 -27 -26 -26 -26 -25 -25 -25 -24 -24 -24 -23 -22 -21 -20 -19 -18 -17 -16 -16 -16 -15 -13 -12 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 3 4 5 5 6 7 8 8 8 8 9 10 10 10 10 10 9 9 9 10 11 13 15 17 18 19 19 19 19 19 20 20 21 22 22 23 23 24 24 25 26 26 27 27 26 25 23 23 -29 -27 -26 -26 -24 -22 -19 -17 -15 -13 -12 -12 -12 -14 -15 -16 -17 -18 -18 -19 -20 -21 -23 -25 -27 -28 -29 -30 -30 -29 -26 -22 -19 -18 -17 -18 -18 -18 -18 -19 -19 -20 -20 -21 -21 -20 -20 -19 -19 -19 -20 -20 -20 -22 -24 -25 -26 -26 -26 -26 -27 -27 -26 -26 -26 -25 -24 -24 -24 -24 -25 -28 -32 -32 -32 -32 -34 -37 -37 -36 -34 -32 -32 -33 -35 -38 -41 -43 -41 -39 -38 -37 -35 -35 -35 -38 -40 -41 -41 -40 -40 -39 -37 -35 -34 -35 -36 -37 -36 -35 -34 -34 -35 -34 -33 -30 -28 -26 -26 -26 -27 -28 -29 -30 -28 -25 -24 -23 -23 -24 -25 -25 -23 -20 -18 -16 -13 -13 -17 -22 -28 -32 -31 -29 -26 -21 -15 -12 -14 -19 -21 -19 -15 -15 -14 -11 -9 -6 -5 -4 -4 -5 -6 -7 -8 -8 -8 -8 -7 -7 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -4 -5 -6 -5 -4 -2 -0 1 1 1 -0 -0 -0 0 1 1 -0 -1 -1 -1 -1 -1 -1 -2 -3 -3 -3 -3 -2 -2 -3 -4 -6 -8 -9 -9 -10 -10 -11 -11 -12 -11 -11 -10 -9 -9 -9 -9 -10 -10 -10 -10 -10 -9 -9 -8 -8 -8 -7 -7 -8 -8 -9 -10 -10 -11 -11 -10 -10 -11 -11 -12 -13 -14 -13 -11 -10 -9 -9 -10 -11 -11 -12 -13 -13 -14 -14 -14 -14 -15 -15 -16 -15 -15 -15 -14 -15 -15 -16 -17 -18 -18 -19 -20 -20 -21 -21 -22 -22 -22 -22 -22 -22 -22 -23 -23 -23 -24 -24 -25 -25 -26 -26 -26 -26 -27 -26 -26 -26 -26 -26 -26 -26 -25 -25 -24 -23 -22 -21 -19 -18 -18 -17 -16 -16 -16 -15 -14 -12 -11 -10 -8 -7 -6 -6 -5 -4 -3 -1 -0 1 2 3 4 5 5 6 7 7 7 8 8 9 9 10 10 10 9 9 9 9 10 11 13 14 16 17 18 18 18 18 19 19 20 21 22 23 23 24 24 25 26 27 28 29 29 27 26 24 -28 -26 -24 -24 -23 -20 -16 -14 -13 -13 -13 -14 -14 -15 -15 -16 -17 -17 -17 -18 -20 -22 -24 -26 -27 -26 -27 -28 -28 -27 -25 -22 -20 -18 -18 -18 -19 -19 -20 -20 -20 -20 -20 -21 -21 -20 -20 -20 -20 -21 -21 -21 -22 -22 -23 -24 -25 -25 -25 -26 -27 -27 -27 -26 -26 -26 -27 -27 -27 -25 -25 -27 -29 -28 -27 -27 -29 -32 -33 -32 -30 -30 -32 -34 -36 -39 -43 -47 -47 -44 -41 -40 -38 -37 -36 -37 -38 -38 -37 -35 -35 -36 -36 -36 -36 -35 -34 -33 -32 -32 -32 -33 -33 -34 -34 -32 -30 -28 -27 -27 -27 -27 -27 -27 -27 -27 -28 -28 -28 -29 -29 -26 -23 -22 -22 -21 -16 -14 -15 -19 -26 -31 -33 -35 -36 -35 -29 -22 -20 -21 -22 -19 -14 -13 -15 -16 -17 -13 -10 -8 -7 -6 -7 -7 -8 -8 -8 -8 -7 -7 -6 -5 -5 -5 -5 -5 -6 -6 -6 -5 -5 -4 -4 -4 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -4 -5 -5 -5 -4 -2 -0 1 1 -0 -1 -1 -1 -0 0 0 -1 -1 -2 -2 -1 -1 -1 -2 -2 -3 -3 -3 -3 -3 -3 -4 -6 -8 -9 -10 -10 -11 -11 -12 -12 -13 -13 -12 -12 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -9 -9 -8 -8 -8 -8 -9 -10 -11 -11 -11 -11 -10 -10 -11 -11 -13 -13 -13 -12 -10 -9 -9 -9 -11 -12 -12 -13 -14 -14 -15 -15 -15 -15 -15 -16 -16 -16 -15 -15 -16 -16 -16 -17 -18 -18 -19 -19 -20 -21 -21 -22 -22 -22 -22 -22 -22 -22 -22 -22 -22 -23 -23 -24 -24 -25 -25 -25 -26 -26 -26 -26 -26 -26 -26 -27 -27 -26 -26 -25 -24 -23 -22 -20 -19 -18 -18 -17 -16 -16 -16 -15 -14 -13 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 4 5 6 6 7 7 7 8 9 9 10 10 10 9 9 8 9 10 11 13 14 15 16 17 17 18 18 19 20 21 22 23 24 24 25 26 27 28 30 31 31 31 29 27 -26 -24 -23 -23 -21 -18 -15 -13 -12 -13 -13 -14 -14 -14 -15 -16 -17 -17 -17 -18 -20 -22 -24 -26 -26 -25 -26 -27 -27 -26 -24 -22 -20 -19 -18 -19 -20 -20 -20 -20 -20 -20 -20 -20 -20 -21 -21 -22 -22 -23 -23 -23 -23 -22 -22 -22 -24 -25 -25 -26 -26 -27 -27 -26 -25 -26 -27 -28 -28 -28 -26 -25 -24 -24 -25 -25 -27 -27 -28 -28 -29 -31 -34 -37 -41 -44 -46 -46 -45 -40 -36 -34 -33 -33 -33 -33 -34 -33 -34 -34 -35 -36 -37 -38 -38 -37 -35 -32 -29 -29 -30 -31 -31 -31 -31 -30 -30 -30 -30 -29 -27 -27 -25 -23 -22 -25 -28 -30 -30 -31 -30 -27 -25 -23 -23 -24 -22 -18 -16 -17 -21 -28 -32 -35 -39 -42 -40 -34 -30 -27 -24 -20 -13 -11 -13 -17 -20 -19 -16 -13 -12 -10 -8 -8 -8 -8 -8 -8 -7 -6 -5 -5 -5 -5 -5 -6 -6 -6 -6 -5 -5 -4 -4 -4 -4 -3 -3 -3 -3 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -5 -5 -4 -2 -1 0 0 -0 -1 -1 -1 -0 0 0 -1 -2 -3 -2 -2 -1 -1 -2 -3 -3 -3 -4 -4 -4 -4 -4 -6 -7 -9 -10 -11 -11 -12 -12 -13 -13 -14 -14 -14 -14 -13 -13 -13 -13 -12 -13 -13 -13 -12 -12 -11 -10 -10 -9 -9 -9 -9 -10 -11 -11 -11 -11 -10 -10 -10 -11 -12 -13 -13 -12 -11 -9 -8 -9 -10 -11 -12 -13 -14 -15 -15 -15 -15 -15 -15 -16 -16 -16 -16 -16 -16 -16 -17 -17 -18 -18 -19 -19 -20 -21 -21 -22 -22 -22 -22 -21 -21 -21 -20 -20 -21 -21 -21 -22 -23 -23 -24 -25 -25 -26 -26 -26 -26 -26 -26 -27 -27 -27 -27 -26 -25 -23 -22 -21 -20 -19 -18 -18 -17 -17 -16 -16 -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 3 4 5 5 6 6 7 7 8 9 10 10 10 10 9 8 9 9 10 11 12 14 15 16 17 17 18 19 20 21 22 23 24 25 25 26 27 28 30 31 33 33 32 30 -25 -23 -23 -22 -20 -17 -14 -12 -12 -12 -13 -13 -14 -14 -16 -17 -18 -18 -18 -18 -19 -21 -23 -25 -25 -24 -24 -25 -26 -26 -25 -23 -22 -20 -20 -19 -19 -19 -19 -19 -20 -19 -19 -20 -20 -21 -23 -24 -25 -25 -25 -24 -23 -22 -22 -22 -23 -23 -24 -25 -26 -27 -28 -27 -26 -26 -27 -28 -29 -28 -26 -23 -24 -24 -25 -25 -25 -26 -26 -27 -28 -31 -35 -39 -42 -44 -44 -43 -41 -37 -34 -33 -32 -32 -31 -30 -30 -31 -32 -34 -36 -38 -40 -39 -38 -38 -37 -34 -30 -28 -28 -29 -29 -29 -28 -29 -29 -30 -30 -29 -28 -26 -23 -20 -20 -23 -27 -29 -31 -31 -31 -29 -27 -25 -24 -25 -25 -24 -23 -21 -21 -25 -29 -33 -37 -40 -42 -40 -35 -31 -27 -24 -19 -15 -14 -15 -18 -20 -19 -18 -17 -15 -12 -10 -9 -9 -8 -8 -7 -6 -5 -4 -5 -5 -6 -6 -6 -6 -6 -5 -5 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -5 -4 -3 -1 -0 -0 -1 -1 -1 -1 -0 0 0 -1 -2 -3 -3 -2 -2 -2 -2 -3 -3 -3 -4 -4 -5 -5 -5 -6 -7 -8 -10 -11 -11 -12 -12 -13 -14 -14 -15 -15 -15 -15 -15 -15 -15 -15 -14 -15 -15 -15 -14 -14 -13 -12 -11 -10 -10 -10 -11 -11 -12 -12 -11 -11 -10 -10 -10 -11 -12 -12 -12 -11 -9 -8 -8 -9 -11 -12 -13 -14 -14 -14 -14 -14 -14 -15 -15 -15 -15 -15 -15 -16 -16 -17 -18 -18 -19 -19 -20 -20 -21 -22 -22 -22 -22 -22 -21 -21 -20 -20 -19 -19 -20 -20 -21 -21 -22 -23 -24 -24 -25 -26 -26 -26 -26 -26 -26 -26 -27 -27 -26 -25 -24 -23 -22 -21 -20 -20 -19 -18 -18 -17 -17 -16 -16 -15 -14 -13 -12 -10 -9 -9 -8 -7 -6 -5 -5 -4 -2 -1 -0 1 2 2 3 4 4 5 5 6 7 8 9 11 11 11 11 10 9 9 9 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 33 35 35 33 -24 -23 -22 -22 -20 -16 -13 -11 -11 -12 -13 -14 -14 -15 -17 -19 -20 -20 -20 -19 -19 -20 -22 -23 -23 -23 -22 -23 -24 -26 -27 -27 -27 -25 -23 -20 -17 -15 -15 -16 -17 -18 -20 -21 -22 -22 -24 -25 -26 -26 -26 -26 -24 -23 -22 -21 -21 -21 -22 -23 -24 -26 -28 -28 -28 -28 -28 -28 -29 -28 -26 -23 -23 -24 -25 -25 -25 -25 -26 -27 -29 -32 -36 -39 -41 -42 -41 -40 -38 -36 -34 -32 -31 -30 -29 -29 -29 -30 -31 -33 -37 -39 -40 -39 -38 -39 -40 -38 -33 -30 -29 -29 -28 -27 -27 -27 -28 -29 -29 -28 -28 -27 -26 -25 -25 -26 -27 -29 -30 -30 -30 -29 -28 -27 -26 -25 -24 -23 -23 -24 -25 -25 -27 -31 -35 -39 -42 -39 -34 -31 -31 -32 -30 -25 -21 -18 -17 -18 -19 -21 -22 -22 -20 -16 -12 -10 -8 -8 -6 -5 -4 -4 -5 -5 -6 -6 -6 -6 -6 -5 -5 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -4 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -3 -2 -1 -1 -1 -2 -2 -1 -0 1 0 -1 -2 -3 -4 -3 -3 -2 -3 -3 -3 -3 -4 -4 -5 -5 -6 -6 -7 -8 -9 -10 -11 -11 -12 -13 -14 -14 -15 -15 -16 -16 -17 -17 -17 -17 -17 -16 -17 -17 -17 -17 -16 -15 -14 -13 -12 -12 -12 -12 -13 -13 -12 -11 -10 -10 -10 -10 -11 -11 -12 -11 -10 -9 -8 -9 -10 -11 -12 -13 -13 -13 -13 -14 -14 -14 -14 -14 -14 -14 -14 -15 -16 -17 -18 -19 -20 -20 -21 -21 -22 -22 -23 -23 -23 -23 -22 -21 -20 -20 -19 -19 -19 -19 -20 -20 -21 -22 -23 -24 -25 -25 -26 -26 -26 -25 -25 -26 -26 -26 -26 -26 -25 -24 -22 -21 -21 -20 -20 -19 -19 -18 -17 -17 -17 -16 -15 -15 -14 -12 -11 -10 -9 -8 -8 -7 -6 -6 -5 -4 -3 -2 -0 0 1 2 3 3 4 5 5 6 7 9 11 12 12 12 12 11 10 9 9 9 10 11 12 13 14 15 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 33 34 34 -24 -23 -22 -22 -19 -16 -13 -11 -11 -13 -14 -15 -17 -18 -20 -21 -22 -22 -21 -20 -19 -19 -19 -20 -21 -21 -21 -21 -23 -26 -29 -29 -28 -26 -23 -19 -16 -15 -14 -15 -16 -16 -18 -20 -22 -22 -23 -25 -26 -26 -25 -25 -25 -23 -22 -21 -20 -19 -20 -21 -22 -24 -27 -28 -29 -29 -29 -30 -30 -29 -27 -25 -24 -24 -25 -26 -26 -26 -27 -29 -32 -34 -35 -36 -39 -42 -43 -41 -38 -36 -34 -32 -30 -29 -29 -29 -29 -30 -30 -32 -35 -37 -37 -36 -35 -36 -37 -37 -35 -33 -32 -31 -29 -27 -26 -26 -27 -27 -27 -27 -26 -26 -26 -26 -27 -27 -28 -29 -30 -30 -30 -29 -30 -30 -30 -28 -27 -27 -27 -27 -27 -27 -28 -30 -32 -34 -36 -35 -34 -34 -36 -39 -36 -31 -29 -28 -26 -23 -21 -22 -25 -29 -29 -25 -18 -13 -9 -7 -6 -5 -4 -4 -5 -6 -6 -6 -6 -5 -5 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -1 0 1 1 -0 -2 -3 -4 -4 -3 -3 -3 -3 -4 -4 -4 -5 -5 -6 -7 -7 -8 -8 -8 -9 -10 -11 -12 -13 -13 -14 -15 -15 -16 -16 -17 -18 -18 -18 -18 -18 -18 -18 -19 -19 -19 -19 -18 -16 -15 -14 -14 -14 -14 -14 -14 -13 -11 -10 -10 -10 -10 -11 -11 -11 -11 -10 -9 -9 -9 -10 -11 -12 -13 -13 -13 -13 -13 -14 -14 -13 -13 -13 -13 -14 -15 -17 -18 -19 -21 -22 -22 -22 -23 -23 -23 -23 -23 -23 -23 -22 -21 -20 -20 -19 -19 -19 -20 -21 -21 -22 -23 -24 -24 -25 -26 -26 -26 -26 -25 -25 -25 -25 -25 -25 -25 -24 -23 -22 -21 -21 -20 -20 -20 -19 -18 -18 -17 -17 -16 -16 -15 -14 -13 -12 -11 -10 -9 -8 -8 -7 -7 -6 -6 -4 -3 -2 -1 -0 1 1 2 3 4 4 5 6 8 10 12 13 14 13 12 11 10 10 9 9 10 10 11 12 13 14 14 15 16 17 19 20 22 23 24 25 26 26 27 29 31 33 33 -25 -23 -22 -21 -18 -15 -13 -12 -12 -14 -16 -18 -20 -21 -22 -23 -23 -23 -22 -21 -19 -18 -18 -19 -20 -21 -22 -23 -25 -27 -29 -29 -27 -24 -22 -20 -17 -16 -15 -15 -15 -15 -17 -19 -21 -22 -23 -24 -24 -25 -25 -25 -25 -23 -22 -21 -19 -19 -19 -20 -21 -23 -25 -27 -29 -30 -31 -32 -32 -31 -30 -27 -26 -25 -26 -26 -26 -27 -28 -30 -32 -33 -32 -34 -37 -41 -42 -41 -39 -36 -33 -31 -30 -29 -29 -29 -30 -30 -31 -32 -33 -33 -33 -32 -31 -33 -35 -37 -37 -36 -36 -35 -33 -29 -27 -26 -25 -25 -25 -25 -25 -26 -27 -27 -28 -28 -29 -30 -31 -30 -30 -29 -30 -32 -33 -31 -29 -30 -30 -30 -30 -31 -32 -33 -32 -28 -24 -25 -31 -36 -38 -34 -32 -31 -30 -30 -32 -33 -30 -29 -30 -35 -40 -38 -30 -21 -14 -8 -6 -5 -5 -5 -6 -6 -6 -6 -5 -5 -5 -5 -4 -4 -4 -3 -3 -2 -2 -3 -3 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -1 -0 0 1 1 -0 -2 -3 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -6 -7 -7 -8 -8 -9 -9 -9 -9 -10 -11 -12 -13 -14 -14 -15 -16 -16 -17 -17 -18 -19 -19 -19 -19 -19 -19 -20 -21 -21 -21 -20 -19 -18 -17 -16 -16 -16 -15 -15 -14 -12 -11 -11 -11 -11 -12 -12 -11 -11 -10 -9 -10 -10 -11 -11 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -13 -14 -16 -18 -20 -21 -22 -23 -23 -23 -24 -24 -24 -24 -24 -24 -23 -22 -22 -21 -21 -21 -21 -21 -22 -22 -23 -23 -24 -25 -26 -26 -27 -27 -27 -26 -25 -24 -24 -25 -25 -25 -24 -24 -23 -22 -21 -21 -20 -20 -20 -19 -18 -18 -17 -17 -17 -16 -15 -14 -13 -12 -11 -10 -9 -9 -8 -8 -7 -7 -7 -6 -5 -3 -2 -1 -0 1 1 2 3 4 4 5 7 9 11 13 14 14 14 13 11 10 9 9 9 9 10 11 11 12 13 14 15 16 17 18 20 21 23 24 24 25 26 27 29 30 32 -25 -23 -21 -19 -17 -15 -13 -13 -15 -17 -19 -20 -21 -22 -22 -22 -22 -21 -21 -20 -19 -18 -18 -18 -20 -22 -24 -26 -28 -30 -29 -28 -25 -22 -20 -19 -18 -17 -16 -15 -15 -15 -17 -19 -21 -22 -22 -22 -22 -22 -23 -23 -23 -22 -22 -21 -20 -19 -19 -20 -20 -22 -24 -26 -28 -30 -32 -34 -34 -33 -31 -30 -29 -28 -28 -27 -27 -27 -29 -30 -30 -28 -28 -32 -36 -38 -38 -38 -37 -34 -32 -30 -30 -29 -29 -29 -30 -31 -32 -33 -33 -31 -29 -28 -28 -30 -34 -38 -40 -39 -39 -39 -37 -34 -30 -27 -25 -24 -24 -24 -24 -25 -26 -27 -28 -29 -30 -31 -32 -32 -31 -29 -29 -30 -31 -31 -30 -31 -32 -33 -33 -33 -35 -36 -35 -31 -27 -27 -30 -35 -38 -35 -34 -34 -34 -33 -31 -29 -27 -27 -29 -33 -37 -39 -38 -33 -25 -14 -7 -5 -5 -6 -6 -7 -7 -6 -5 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 -0 0 1 1 1 -0 -2 -3 -4 -4 -4 -4 -4 -4 -4 -5 -5 -6 -7 -7 -8 -8 -9 -9 -10 -9 -9 -10 -10 -11 -12 -13 -14 -15 -15 -16 -17 -17 -18 -19 -19 -19 -19 -19 -19 -20 -21 -22 -22 -22 -22 -21 -20 -19 -18 -17 -17 -16 -16 -15 -14 -13 -13 -13 -13 -13 -12 -12 -11 -10 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -12 -14 -16 -18 -20 -22 -23 -24 -24 -24 -24 -24 -24 -25 -25 -25 -24 -24 -23 -23 -22 -22 -22 -23 -23 -24 -24 -24 -25 -25 -26 -27 -28 -28 -28 -27 -26 -25 -24 -24 -24 -24 -24 -24 -24 -23 -22 -21 -21 -20 -20 -19 -19 -18 -18 -17 -17 -17 -16 -15 -14 -14 -13 -12 -11 -10 -9 -8 -8 -8 -7 -7 -7 -6 -5 -3 -2 -1 -0 1 1 2 3 3 4 5 7 10 12 14 15 15 14 13 11 10 9 9 9 9 9 10 11 11 12 13 14 15 16 17 19 20 22 23 24 25 25 27 28 30 -25 -22 -19 -17 -16 -16 -17 -18 -20 -21 -21 -21 -21 -21 -21 -21 -21 -20 -20 -20 -19 -18 -18 -19 -20 -23 -26 -29 -31 -32 -30 -27 -24 -21 -19 -19 -18 -17 -16 -15 -15 -15 -17 -19 -21 -23 -22 -20 -20 -20 -19 -19 -19 -20 -21 -22 -21 -21 -21 -21 -22 -23 -24 -26 -28 -30 -33 -34 -34 -33 -32 -32 -33 -33 -32 -30 -29 -29 -31 -30 -28 -26 -26 -31 -34 -34 -33 -32 -33 -32 -30 -29 -29 -29 -29 -29 -30 -31 -32 -33 -33 -31 -29 -27 -27 -29 -33 -37 -40 -40 -40 -40 -39 -37 -34 -30 -27 -25 -24 -24 -24 -24 -25 -26 -28 -29 -31 -32 -33 -32 -31 -30 -29 -28 -29 -30 -31 -32 -33 -34 -34 -34 -36 -37 -36 -34 -30 -29 -30 -32 -36 -37 -36 -37 -38 -37 -34 -30 -29 -29 -29 -30 -33 -37 -38 -37 -33 -24 -14 -9 -7 -7 -7 -7 -6 -6 -5 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -1 -0 0 1 1 1 0 -1 -2 -3 -4 -4 -4 -4 -5 -5 -5 -5 -5 -6 -7 -8 -9 -9 -9 -10 -10 -10 -10 -10 -10 -11 -11 -12 -13 -14 -15 -15 -16 -17 -18 -19 -19 -19 -19 -18 -18 -19 -20 -21 -22 -22 -23 -22 -22 -21 -20 -19 -18 -18 -17 -17 -16 -15 -15 -15 -15 -14 -14 -13 -12 -11 -10 -10 -10 -10 -11 -11 -10 -10 -10 -10 -10 -9 -9 -10 -10 -11 -13 -15 -17 -20 -22 -23 -24 -24 -24 -24 -24 -24 -25 -25 -26 -26 -25 -25 -24 -24 -24 -24 -24 -25 -25 -25 -25 -25 -26 -26 -27 -28 -28 -28 -28 -27 -26 -25 -24 -24 -24 -24 -24 -24 -24 -23 -22 -21 -20 -20 -20 -19 -19 -18 -17 -17 -17 -17 -16 -15 -14 -14 -13 -12 -12 -11 -10 -9 -8 -8 -7 -7 -7 -7 -6 -4 -3 -2 -0 0 1 1 2 2 2 4 5 8 10 13 14 15 14 13 12 11 10 9 9 9 9 9 10 10 11 11 12 13 14 15 16 18 20 21 22 23 24 25 27 28 -24 -21 -20 -19 -19 -20 -21 -22 -23 -23 -23 -22 -21 -21 -20 -19 -19 -19 -20 -21 -20 -19 -19 -19 -21 -24 -27 -31 -33 -33 -32 -29 -25 -22 -21 -20 -18 -17 -15 -15 -15 -16 -17 -19 -21 -23 -21 -20 -19 -19 -18 -17 -16 -17 -19 -20 -21 -22 -23 -23 -24 -25 -26 -27 -29 -31 -32 -32 -32 -31 -30 -31 -33 -35 -36 -36 -35 -33 -32 -30 -27 -25 -26 -30 -32 -32 -29 -28 -29 -28 -28 -28 -29 -29 -30 -30 -31 -31 -32 -33 -33 -31 -29 -28 -29 -31 -34 -36 -38 -39 -38 -38 -38 -38 -37 -33 -29 -27 -25 -24 -23 -22 -23 -25 -26 -28 -30 -32 -32 -31 -31 -30 -29 -29 -30 -31 -33 -34 -34 -35 -35 -35 -35 -37 -37 -35 -31 -29 -29 -30 -32 -34 -35 -38 -40 -41 -38 -34 -33 -32 -30 -27 -29 -33 -37 -38 -35 -27 -22 -17 -14 -10 -9 -8 -6 -6 -5 -5 -4 -4 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -3 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -2 -1 -0 1 1 1 0 -0 -1 -2 -3 -4 -4 -4 -5 -5 -5 -5 -6 -6 -7 -8 -9 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -11 -12 -13 -13 -14 -15 -15 -16 -17 -19 -19 -19 -19 -19 -18 -18 -19 -20 -21 -21 -22 -22 -22 -22 -21 -21 -20 -19 -18 -17 -17 -17 -17 -17 -17 -16 -15 -14 -12 -11 -10 -10 -9 -10 -10 -10 -9 -9 -9 -9 -8 -8 -8 -8 -9 -10 -12 -14 -16 -19 -21 -23 -24 -24 -24 -23 -23 -24 -25 -26 -26 -27 -27 -26 -26 -26 -25 -26 -26 -26 -26 -26 -26 -26 -26 -27 -27 -28 -28 -29 -28 -28 -27 -25 -25 -24 -24 -24 -24 -24 -24 -23 -23 -22 -21 -20 -20 -19 -19 -18 -17 -17 -17 -17 -16 -16 -15 -14 -14 -13 -13 -13 -12 -11 -10 -9 -8 -7 -7 -7 -7 -6 -5 -4 -2 -1 -0 0 1 1 1 1 2 3 6 8 11 13 14 14 14 13 11 10 9 9 8 8 9 9 9 10 10 11 11 12 13 15 16 17 19 20 21 22 23 25 26 -24 -23 -22 -21 -22 -22 -23 -23 -23 -23 -23 -22 -21 -20 -19 -19 -19 -20 -22 -22 -21 -20 -19 -20 -21 -23 -27 -30 -33 -33 -32 -30 -27 -24 -22 -21 -19 -17 -15 -15 -15 -16 -17 -18 -19 -20 -18 -17 -17 -17 -17 -16 -16 -16 -16 -17 -19 -22 -23 -25 -26 -27 -28 -29 -31 -32 -32 -30 -29 -28 -27 -28 -31 -33 -35 -37 -38 -38 -36 -33 -30 -28 -27 -27 -28 -28 -28 -28 -28 -27 -27 -27 -28 -29 -29 -30 -29 -29 -30 -31 -32 -32 -31 -30 -31 -34 -36 -38 -38 -36 -35 -34 -34 -35 -36 -34 -32 -30 -27 -25 -24 -23 -23 -24 -26 -28 -29 -30 -30 -30 -30 -31 -32 -32 -32 -31 -33 -35 -36 -36 -35 -35 -37 -38 -38 -36 -32 -29 -28 -28 -28 -29 -32 -36 -40 -42 -40 -37 -35 -33 -29 -26 -26 -28 -32 -34 -33 -28 -24 -22 -20 -18 -16 -13 -10 -7 -5 -5 -5 -4 -3 -3 -3 -4 -4 -4 -4 -4 -4 -3 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -2 -1 -0 1 1 0 -0 -1 -2 -3 -4 -4 -5 -5 -5 -5 -6 -6 -6 -7 -8 -9 -10 -11 -12 -12 -12 -12 -11 -11 -11 -11 -12 -12 -12 -13 -13 -14 -14 -14 -15 -16 -18 -19 -20 -20 -20 -19 -19 -19 -20 -20 -21 -21 -21 -21 -21 -21 -21 -20 -20 -19 -17 -17 -17 -17 -18 -18 -18 -17 -15 -13 -11 -10 -9 -9 -9 -9 -9 -8 -8 -8 -8 -7 -7 -7 -8 -9 -10 -11 -13 -15 -18 -20 -22 -23 -24 -24 -24 -24 -24 -24 -25 -26 -27 -28 -28 -27 -27 -27 -27 -27 -27 -27 -27 -27 -27 -27 -27 -27 -28 -28 -29 -29 -28 -27 -26 -25 -25 -24 -24 -24 -24 -24 -24 -23 -23 -22 -21 -20 -19 -19 -18 -18 -17 -17 -16 -16 -16 -16 -15 -15 -14 -14 -14 -14 -13 -12 -11 -10 -9 -8 -7 -7 -7 -6 -6 -4 -3 -2 -1 -0 0 0 0 0 1 2 4 6 8 11 12 13 13 13 12 11 10 9 9 8 8 8 9 9 9 10 11 12 12 13 14 15 16 17 18 20 21 22 24 -26 -25 -25 -24 -23 -23 -22 -22 -21 -21 -22 -22 -21 -20 -19 -19 -20 -22 -23 -24 -22 -21 -20 -20 -20 -22 -25 -28 -30 -31 -30 -28 -27 -26 -24 -22 -20 -18 -16 -14 -14 -15 -16 -16 -16 -15 -15 -16 -16 -16 -16 -17 -18 -17 -16 -16 -17 -20 -23 -25 -26 -27 -29 -31 -32 -33 -32 -30 -28 -27 -27 -29 -32 -33 -35 -37 -40 -41 -40 -38 -35 -32 -29 -28 -29 -29 -30 -30 -29 -28 -28 -27 -28 -28 -28 -28 -28 -27 -27 -28 -29 -30 -30 -30 -31 -33 -35 -36 -36 -35 -34 -33 -33 -32 -33 -33 -33 -32 -31 -28 -26 -24 -24 -25 -26 -27 -27 -27 -28 -28 -28 -31 -35 -37 -35 -33 -35 -38 -39 -37 -34 -36 -40 -42 -41 -38 -33 -29 -28 -27 -27 -28 -30 -33 -37 -39 -39 -36 -34 -30 -27 -26 -26 -26 -28 -29 -30 -27 -25 -24 -24 -23 -22 -21 -18 -13 -8 -6 -6 -5 -4 -4 -4 -5 -5 -5 -5 -4 -3 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -2 -1 -0 0 0 -0 -1 -2 -3 -4 -5 -5 -5 -5 -5 -6 -6 -6 -7 -7 -8 -9 -11 -12 -13 -13 -13 -13 -13 -12 -12 -12 -12 -12 -13 -13 -13 -14 -14 -14 -15 -15 -16 -18 -19 -20 -21 -20 -20 -20 -20 -20 -20 -20 -20 -20 -19 -19 -19 -19 -19 -19 -18 -17 -16 -15 -16 -17 -17 -17 -16 -14 -12 -10 -9 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -9 -10 -11 -13 -15 -17 -19 -21 -23 -24 -25 -25 -24 -24 -24 -25 -26 -26 -27 -28 -28 -28 -28 -28 -28 -28 -28 -28 -28 -28 -28 -28 -28 -28 -28 -29 -28 -28 -27 -26 -25 -25 -25 -24 -24 -24 -24 -23 -23 -23 -23 -22 -21 -20 -19 -18 -18 -17 -17 -16 -16 -16 -16 -16 -15 -15 -14 -14 -15 -15 -14 -14 -13 -11 -10 -8 -7 -7 -7 -6 -6 -5 -4 -3 -2 -1 -0 -0 -0 -0 0 1 2 4 6 8 10 12 13 13 12 12 11 10 9 8 8 8 8 8 9 9 10 11 11 11 12 12 13 15 16 17 18 19 21 -26 -27 -26 -25 -23 -22 -20 -19 -19 -20 -21 -21 -20 -20 -21 -22 -23 -24 -25 -25 -24 -22 -21 -20 -19 -20 -22 -24 -25 -26 -25 -24 -24 -23 -23 -22 -20 -18 -16 -15 -14 -14 -15 -14 -13 -12 -12 -13 -15 -16 -17 -19 -20 -20 -19 -18 -19 -21 -22 -23 -25 -27 -29 -31 -32 -33 -32 -30 -28 -28 -29 -31 -33 -34 -35 -37 -39 -40 -40 -40 -40 -39 -37 -35 -33 -32 -32 -32 -31 -30 -29 -28 -28 -28 -28 -27 -27 -26 -26 -27 -27 -28 -29 -30 -30 -31 -33 -34 -35 -35 -35 -35 -33 -31 -30 -30 -31 -31 -32 -31 -29 -27 -26 -26 -26 -25 -24 -24 -25 -27 -28 -29 -31 -32 -33 -34 -36 -36 -36 -35 -35 -38 -41 -43 -42 -40 -35 -30 -28 -27 -27 -28 -29 -31 -33 -35 -35 -32 -30 -28 -28 -27 -27 -27 -27 -28 -28 -26 -25 -25 -25 -25 -25 -26 -24 -21 -15 -10 -7 -6 -5 -5 -5 -5 -6 -5 -4 -3 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -2 -2 -1 -0 -0 -1 -1 -2 -3 -4 -5 -5 -5 -6 -6 -6 -6 -7 -7 -7 -7 -8 -9 -11 -12 -13 -14 -14 -14 -14 -14 -13 -13 -13 -13 -13 -13 -14 -14 -14 -15 -15 -15 -15 -16 -18 -19 -21 -21 -21 -21 -21 -21 -21 -21 -20 -20 -19 -18 -18 -18 -18 -18 -18 -17 -15 -14 -14 -14 -15 -15 -15 -14 -12 -10 -9 -8 -7 -7 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -10 -11 -13 -15 -16 -18 -20 -22 -23 -25 -25 -26 -25 -25 -25 -25 -26 -26 -27 -28 -28 -28 -28 -28 -28 -28 -28 -28 -28 -28 -28 -28 -29 -29 -29 -29 -28 -27 -26 -26 -25 -25 -25 -25 -24 -24 -23 -23 -23 -22 -22 -22 -21 -20 -19 -18 -17 -17 -16 -16 -16 -16 -15 -15 -15 -15 -15 -15 -15 -15 -15 -15 -14 -12 -11 -10 -9 -8 -7 -7 -6 -6 -5 -4 -3 -2 -1 -1 -1 -1 -0 -0 1 2 4 6 8 10 12 12 13 12 12 11 10 9 8 8 8 8 9 9 9 10 10 10 10 11 12 13 14 15 16 17 18 -26 -26 -26 -24 -22 -20 -19 -18 -17 -18 -19 -20 -21 -22 -23 -25 -25 -26 -27 -27 -25 -23 -20 -19 -19 -20 -22 -23 -23 -23 -22 -22 -22 -21 -21 -19 -18 -16 -15 -14 -14 -15 -15 -14 -13 -12 -12 -13 -14 -16 -19 -21 -22 -22 -22 -22 -23 -23 -22 -23 -25 -28 -31 -32 -32 -31 -30 -29 -28 -29 -31 -33 -35 -35 -36 -37 -37 -37 -38 -40 -43 -45 -46 -45 -42 -39 -36 -35 -34 -32 -30 -28 -28 -28 -27 -27 -26 -26 -27 -27 -27 -27 -28 -28 -29 -29 -30 -32 -34 -35 -36 -36 -34 -32 -30 -29 -29 -29 -29 -30 -30 -30 -28 -27 -27 -26 -25 -24 -25 -27 -28 -29 -30 -30 -31 -33 -33 -33 -34 -35 -36 -39 -42 -43 -42 -39 -35 -31 -28 -27 -28 -28 -29 -29 -29 -29 -29 -30 -31 -31 -31 -30 -28 -28 -28 -27 -27 -27 -26 -26 -26 -26 -26 -27 -27 -27 -24 -18 -12 -8 -6 -6 -6 -6 -6 -5 -4 -3 -2 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -1 -1 -1 -2 -3 -3 -4 -5 -5 -5 -5 -5 -6 -6 -7 -7 -7 -8 -8 -8 -9 -11 -12 -13 -14 -14 -15 -15 -15 -15 -14 -14 -14 -14 -13 -14 -14 -14 -15 -15 -15 -15 -16 -17 -18 -19 -21 -22 -22 -22 -22 -22 -22 -21 -20 -19 -18 -18 -17 -17 -17 -17 -16 -15 -14 -13 -12 -12 -13 -13 -12 -11 -10 -9 -8 -7 -6 -6 -6 -5 -5 -6 -6 -6 -7 -7 -8 -9 -11 -13 -15 -16 -18 -20 -22 -23 -25 -26 -26 -27 -26 -26 -26 -26 -26 -27 -27 -28 -28 -29 -29 -29 -29 -29 -29 -29 -29 -29 -29 -29 -29 -29 -29 -28 -28 -27 -26 -25 -25 -25 -25 -25 -24 -24 -23 -22 -22 -22 -22 -22 -21 -20 -19 -18 -17 -16 -16 -16 -16 -15 -15 -15 -15 -15 -15 -15 -15 -16 -15 -15 -14 -13 -12 -11 -10 -9 -8 -8 -7 -7 -7 -6 -5 -3 -2 -2 -1 -1 -1 -1 -1 0 2 4 6 8 10 12 12 12 12 11 10 9 9 9 9 9 9 9 9 9 9 9 10 11 12 13 14 14 15 15 16 -25 -25 -23 -21 -20 -19 -18 -16 -16 -17 -18 -20 -22 -24 -26 -28 -28 -29 -29 -29 -26 -23 -20 -19 -19 -21 -23 -24 -23 -22 -21 -20 -20 -20 -19 -17 -16 -15 -14 -14 -14 -14 -15 -15 -14 -13 -13 -14 -16 -18 -20 -21 -22 -23 -24 -24 -24 -23 -22 -23 -25 -29 -32 -32 -31 -30 -28 -27 -27 -28 -30 -33 -35 -36 -36 -36 -36 -36 -36 -39 -43 -47 -51 -52 -49 -44 -39 -36 -35 -33 -30 -28 -27 -27 -27 -27 -27 -27 -27 -27 -27 -28 -28 -28 -28 -28 -29 -31 -33 -35 -36 -36 -35 -34 -31 -29 -28 -27 -26 -27 -29 -29 -29 -28 -28 -28 -27 -25 -26 -27 -29 -29 -30 -30 -31 -32 -33 -34 -35 -35 -36 -38 -40 -41 -41 -38 -35 -31 -29 -28 -28 -28 -29 -30 -30 -30 -29 -31 -34 -36 -36 -34 -31 -30 -29 -29 -28 -28 -28 -28 -27 -27 -28 -28 -29 -31 -31 -28 -20 -13 -9 -7 -6 -6 -6 -5 -4 -3 -3 -4 -4 -4 -4 -4 -3 -3 -2 -2 -1 -1 -1 -2 -3 -4 -5 -5 -5 -5 -5 -5 -5 -6 -7 -7 -8 -8 -9 -9 -9 -10 -11 -12 -13 -14 -14 -15 -15 -15 -15 -16 -15 -15 -15 -15 -15 -15 -15 -15 -16 -16 -16 -16 -17 -18 -19 -20 -22 -23 -23 -23 -23 -22 -21 -20 -19 -18 -18 -17 -17 -16 -16 -15 -14 -13 -12 -11 -11 -11 -10 -10 -9 -8 -8 -7 -6 -6 -5 -5 -5 -5 -5 -6 -7 -7 -8 -10 -11 -12 -14 -16 -18 -20 -22 -23 -25 -26 -27 -27 -27 -27 -26 -26 -26 -27 -27 -28 -28 -28 -29 -29 -30 -30 -30 -30 -30 -30 -30 -30 -30 -30 -29 -29 -28 -28 -27 -26 -25 -25 -25 -25 -25 -25 -23 -22 -21 -21 -22 -22 -21 -21 -19 -18 -17 -16 -16 -16 -16 -16 -16 -15 -15 -15 -14 -15 -15 -15 -16 -15 -15 -14 -13 -12 -12 -11 -10 -10 -9 -8 -8 -8 -7 -6 -5 -4 -3 -2 -2 -2 -2 -2 -1 0 2 4 6 8 10 11 12 12 12 11 10 10 9 9 9 9 9 8 8 8 9 11 11 12 13 14 15 15 16 16 -24 -23 -21 -19 -19 -18 -17 -16 -16 -17 -19 -22 -24 -26 -28 -28 -29 -29 -29 -28 -27 -24 -21 -19 -20 -22 -24 -24 -23 -22 -20 -18 -18 -18 -18 -16 -15 -15 -15 -14 -14 -15 -16 -16 -16 -15 -14 -15 -16 -17 -18 -19 -21 -23 -25 -25 -24 -23 -23 -24 -26 -29 -32 -32 -31 -28 -26 -25 -25 -26 -27 -30 -32 -33 -34 -35 -35 -35 -36 -38 -42 -46 -51 -53 -51 -47 -41 -37 -35 -33 -31 -29 -28 -28 -27 -27 -27 -27 -28 -28 -29 -29 -29 -28 -28 -28 -28 -30 -32 -35 -36 -37 -36 -35 -33 -30 -28 -26 -24 -24 -26 -27 -27 -28 -29 -29 -27 -26 -27 -28 -29 -30 -30 -31 -32 -33 -36 -37 -37 -35 -35 -36 -37 -39 -39 -38 -34 -31 -29 -28 -28 -28 -29 -30 -31 -31 -29 -31 -35 -40 -43 -42 -38 -33 -31 -31 -31 -31 -31 -30 -29 -29 -30 -31 -32 -33 -33 -33 -30 -23 -14 -9 -7 -6 -5 -4 -4 -4 -4 -5 -5 -5 -5 -4 -4 -3 -2 -1 -1 -2 -3 -4 -4 -5 -5 -5 -5 -5 -5 -6 -6 -7 -8 -8 -9 -9 -10 -10 -10 -11 -12 -13 -14 -14 -15 -15 -15 -16 -16 -17 -17 -17 -17 -16 -16 -16 -16 -16 -16 -16 -16 -17 -17 -18 -19 -20 -21 -22 -23 -23 -23 -22 -21 -20 -19 -18 -18 -17 -17 -16 -16 -15 -14 -13 -11 -10 -10 -9 -9 -8 -8 -7 -6 -6 -5 -5 -5 -5 -5 -5 -6 -7 -8 -9 -10 -11 -12 -14 -16 -18 -20 -21 -23 -25 -26 -27 -28 -28 -27 -27 -27 -27 -27 -28 -29 -29 -29 -29 -29 -29 -30 -30 -31 -31 -31 -31 -31 -31 -30 -30 -29 -28 -28 -28 -27 -26 -26 -25 -25 -25 -25 -25 -23 -22 -21 -21 -21 -22 -21 -21 -19 -18 -17 -16 -16 -16 -16 -16 -16 -16 -15 -15 -15 -15 -15 -15 -15 -15 -15 -14 -13 -12 -12 -11 -11 -11 -10 -9 -9 -8 -8 -7 -6 -5 -4 -4 -3 -3 -3 -4 -3 -2 -0 2 4 6 8 10 11 11 12 11 11 10 10 10 10 10 9 9 9 10 11 11 12 12 14 15 16 17 17 16 -22 -21 -20 -18 -18 -17 -16 -16 -17 -20 -23 -25 -27 -28 -28 -28 -28 -28 -28 -28 -27 -24 -22 -20 -20 -22 -24 -24 -23 -21 -19 -17 -16 -17 -17 -17 -17 -17 -16 -16 -15 -16 -17 -17 -17 -16 -14 -14 -14 -14 -15 -17 -19 -22 -24 -25 -25 -24 -24 -25 -27 -30 -32 -32 -30 -27 -25 -24 -24 -25 -26 -28 -30 -31 -32 -33 -34 -35 -36 -38 -40 -44 -48 -51 -50 -47 -43 -39 -37 -34 -32 -31 -29 -28 -28 -27 -27 -27 -28 -29 -30 -29 -29 -28 -27 -27 -28 -29 -31 -33 -34 -35 -36 -35 -33 -31 -28 -26 -24 -24 -23 -24 -25 -26 -27 -28 -27 -26 -27 -29 -30 -31 -31 -31 -32 -34 -36 -37 -37 -36 -35 -35 -36 -37 -38 -37 -34 -31 -28 -28 -28 -28 -29 -30 -30 -29 -28 -30 -33 -39 -43 -44 -41 -36 -33 -33 -34 -35 -35 -34 -32 -31 -32 -34 -35 -36 -35 -36 -36 -32 -24 -13 -8 -6 -5 -4 -4 -5 -6 -6 -6 -6 -6 -5 -4 -3 -2 -1 -2 -3 -4 -5 -5 -5 -6 -6 -6 -6 -6 -7 -7 -8 -9 -9 -10 -10 -11 -11 -11 -12 -13 -13 -14 -14 -15 -15 -16 -16 -17 -18 -18 -18 -19 -18 -18 -17 -17 -17 -17 -17 -17 -17 -17 -18 -19 -20 -21 -22 -23 -23 -23 -22 -21 -20 -19 -19 -18 -18 -17 -16 -16 -15 -14 -12 -11 -10 -9 -8 -7 -7 -6 -6 -5 -5 -5 -4 -4 -5 -5 -6 -7 -8 -10 -11 -12 -13 -14 -16 -18 -19 -21 -23 -24 -26 -27 -27 -28 -27 -27 -27 -27 -28 -29 -30 -30 -30 -30 -29 -29 -29 -29 -30 -31 -31 -32 -32 -32 -31 -30 -29 -28 -28 -28 -28 -27 -27 -26 -25 -25 -25 -25 -25 -24 -23 -22 -21 -21 -21 -21 -21 -20 -18 -17 -16 -16 -16 -16 -16 -16 -16 -16 -16 -15 -15 -15 -15 -15 -15 -14 -13 -13 -12 -11 -11 -11 -11 -11 -11 -10 -9 -8 -8 -7 -7 -6 -5 -5 -5 -5 -5 -5 -4 -3 -1 2 4 6 8 9 10 11 11 11 11 11 10 10 11 11 10 10 11 11 12 12 13 14 15 17 18 18 17 -21 -20 -19 -17 -16 -16 -16 -17 -20 -23 -26 -27 -28 -28 -28 -28 -27 -26 -26 -27 -27 -25 -23 -21 -21 -22 -24 -24 -22 -20 -18 -16 -16 -17 -18 -19 -19 -18 -17 -16 -16 -17 -17 -18 -18 -16 -13 -11 -11 -11 -13 -15 -18 -21 -24 -25 -25 -24 -25 -26 -28 -30 -31 -31 -29 -27 -26 -25 -25 -26 -27 -28 -29 -30 -30 -31 -32 -33 -35 -36 -38 -40 -44 -46 -46 -45 -43 -41 -39 -36 -34 -33 -31 -30 -28 -28 -28 -28 -28 -29 -30 -30 -29 -28 -27 -26 -26 -27 -29 -31 -33 -34 -34 -34 -33 -31 -29 -27 -25 -24 -23 -23 -23 -24 -24 -24 -24 -25 -26 -29 -31 -32 -32 -31 -32 -34 -35 -36 -37 -37 -36 -35 -35 -35 -36 -36 -34 -31 -29 -27 -27 -28 -29 -30 -29 -28 -28 -29 -32 -36 -39 -40 -39 -36 -35 -36 -38 -39 -37 -34 -32 -33 -34 -35 -36 -37 -39 -41 -42 -38 -30 -18 -12 -8 -5 -5 -5 -6 -7 -8 -8 -8 -7 -6 -5 -4 -2 -2 -3 -4 -5 -5 -5 -6 -7 -7 -7 -7 -7 -8 -8 -9 -10 -10 -11 -11 -12 -12 -12 -13 -13 -14 -14 -15 -16 -16 -16 -17 -18 -19 -20 -20 -21 -21 -20 -19 -19 -18 -18 -18 -18 -18 -18 -18 -19 -20 -21 -22 -23 -23 -23 -23 -22 -21 -20 -19 -19 -19 -18 -17 -16 -15 -14 -12 -11 -10 -8 -7 -7 -6 -5 -5 -5 -4 -4 -4 -5 -5 -6 -7 -8 -10 -11 -13 -14 -15 -16 -18 -19 -20 -22 -23 -25 -26 -27 -27 -27 -27 -27 -28 -28 -29 -30 -31 -31 -31 -30 -30 -29 -29 -29 -30 -31 -31 -32 -32 -32 -31 -30 -29 -28 -28 -27 -27 -27 -26 -26 -25 -24 -24 -24 -24 -24 -23 -22 -22 -21 -21 -21 -21 -20 -19 -18 -17 -16 -16 -16 -16 -17 -17 -17 -17 -16 -16 -16 -16 -15 -15 -14 -13 -13 -12 -11 -11 -11 -11 -11 -11 -11 -10 -9 -8 -8 -8 -7 -7 -6 -6 -6 -7 -7 -6 -5 -3 -0 2 4 6 7 9 10 10 11 11 11 11 11 11 12 12 12 12 12 12 13 13 14 15 16 18 18 18 -22 -20 -18 -16 -15 -15 -17 -20 -23 -26 -28 -28 -29 -30 -29 -28 -27 -26 -26 -26 -26 -25 -23 -22 -21 -22 -23 -23 -22 -20 -17 -17 -18 -19 -20 -21 -19 -17 -16 -15 -15 -16 -18 -18 -17 -13 -10 -8 -8 -10 -12 -16 -20 -23 -26 -26 -25 -24 -25 -26 -27 -28 -28 -28 -28 -27 -26 -26 -26 -27 -28 -29 -29 -29 -29 -29 -29 -30 -31 -32 -34 -37 -40 -42 -42 -42 -42 -42 -41 -38 -36 -34 -32 -31 -31 -30 -30 -30 -30 -31 -31 -30 -28 -27 -26 -25 -25 -26 -28 -30 -31 -32 -32 -32 -32 -30 -29 -27 -27 -26 -26 -25 -24 -24 -24 -24 -24 -24 -25 -27 -31 -33 -33 -33 -33 -35 -36 -37 -38 -39 -38 -35 -32 -32 -33 -34 -34 -32 -29 -27 -26 -28 -30 -31 -31 -28 -28 -30 -31 -33 -35 -35 -34 -34 -35 -37 -42 -45 -43 -39 -35 -36 -36 -36 -38 -40 -43 -46 -47 -44 -37 -26 -19 -14 -9 -6 -7 -7 -8 -9 -9 -9 -9 -8 -7 -5 -4 -4 -4 -5 -5 -5 -6 -7 -8 -8 -8 -8 -8 -9 -9 -10 -11 -11 -12 -13 -13 -13 -14 -14 -14 -15 -15 -16 -16 -17 -17 -18 -19 -20 -21 -22 -22 -22 -22 -21 -21 -20 -20 -19 -19 -19 -19 -19 -19 -20 -21 -22 -23 -23 -23 -23 -22 -21 -20 -20 -20 -20 -19 -18 -17 -15 -14 -12 -11 -9 -8 -7 -6 -6 -5 -5 -4 -4 -4 -5 -6 -6 -7 -8 -9 -11 -13 -14 -16 -17 -18 -19 -20 -21 -22 -23 -25 -26 -26 -27 -27 -28 -28 -29 -30 -31 -32 -32 -32 -32 -31 -31 -30 -30 -30 -30 -30 -31 -31 -31 -31 -30 -29 -28 -28 -27 -27 -26 -26 -26 -25 -25 -24 -24 -24 -24 -24 -24 -23 -22 -22 -22 -21 -21 -20 -19 -18 -18 -17 -17 -16 -16 -17 -18 -18 -18 -18 -17 -17 -17 -16 -15 -15 -14 -13 -12 -11 -10 -10 -10 -11 -11 -11 -10 -10 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -6 -3 -1 2 3 5 7 8 9 10 11 11 12 12 12 13 13 13 12 12 13 13 14 14 14 15 16 18 18 -23 -20 -18 -16 -16 -16 -18 -21 -24 -27 -29 -31 -32 -32 -31 -29 -28 -27 -27 -27 -27 -25 -23 -22 -21 -22 -23 -23 -22 -20 -18 -18 -19 -20 -21 -20 -18 -16 -14 -14 -14 -15 -14 -13 -11 -9 -7 -7 -8 -10 -13 -17 -21 -24 -27 -28 -27 -26 -26 -26 -27 -27 -26 -25 -25 -25 -26 -26 -27 -28 -29 -29 -30 -29 -28 -28 -27 -28 -29 -30 -32 -34 -36 -38 -39 -40 -41 -41 -41 -39 -37 -35 -33 -33 -32 -32 -31 -31 -31 -31 -31 -29 -28 -27 -26 -25 -25 -25 -26 -27 -28 -29 -30 -30 -30 -29 -28 -27 -27 -28 -28 -28 -27 -26 -25 -25 -25 -26 -28 -29 -30 -31 -33 -34 -35 -35 -36 -37 -38 -39 -38 -36 -33 -32 -31 -32 -32 -31 -29 -26 -26 -28 -32 -33 -32 -30 -30 -30 -31 -32 -32 -31 -31 -32 -33 -35 -42 -48 -48 -42 -36 -37 -37 -38 -40 -43 -47 -50 -51 -50 -45 -36 -29 -24 -17 -11 -8 -9 -9 -10 -10 -10 -10 -10 -9 -7 -6 -6 -5 -5 -6 -6 -8 -8 -8 -8 -8 -9 -9 -10 -10 -11 -12 -12 -13 -14 -14 -14 -15 -15 -15 -16 -16 -17 -17 -18 -19 -20 -21 -22 -23 -23 -23 -24 -23 -23 -23 -22 -22 -21 -21 -20 -20 -20 -20 -21 -21 -22 -23 -23 -24 -23 -23 -22 -21 -21 -20 -20 -20 -19 -18 -16 -14 -12 -11 -10 -8 -7 -6 -6 -5 -5 -5 -5 -6 -6 -7 -8 -9 -10 -11 -12 -14 -15 -17 -19 -20 -21 -21 -22 -22 -23 -24 -25 -25 -26 -27 -28 -30 -31 -31 -32 -32 -32 -32 -32 -32 -32 -32 -31 -31 -30 -30 -30 -30 -30 -30 -29 -28 -28 -27 -26 -26 -25 -25 -25 -25 -25 -24 -24 -24 -24 -24 -24 -24 -23 -22 -22 -21 -21 -20 -20 -19 -19 -19 -18 -17 -17 -18 -19 -19 -19 -19 -19 -18 -18 -17 -17 -16 -15 -15 -13 -12 -11 -10 -9 -10 -11 -11 -11 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -6 -4 -1 1 4 6 7 9 10 11 12 12 12 13 13 13 13 13 13 13 14 14 14 14 14 15 17 17 -23 -21 -19 -18 -18 -18 -20 -21 -23 -26 -29 -32 -33 -33 -32 -30 -29 -29 -29 -28 -27 -25 -23 -22 -22 -22 -22 -22 -22 -21 -21 -21 -21 -20 -19 -18 -16 -15 -14 -13 -13 -12 -11 -9 -7 -6 -6 -7 -9 -11 -13 -17 -20 -24 -27 -29 -30 -29 -28 -28 -28 -27 -24 -23 -23 -23 -24 -24 -25 -26 -28 -28 -29 -29 -28 -28 -27 -27 -28 -29 -31 -33 -34 -36 -37 -38 -39 -39 -38 -37 -35 -34 -34 -34 -34 -33 -32 -31 -30 -30 -29 -29 -28 -27 -26 -26 -26 -26 -26 -26 -26 -27 -28 -29 -30 -29 -28 -27 -28 -30 -30 -30 -30 -28 -27 -26 -26 -28 -31 -34 -34 -32 -31 -33 -36 -35 -35 -36 -37 -37 -36 -35 -35 -34 -33 -32 -31 -29 -27 -26 -25 -28 -31 -32 -31 -31 -32 -32 -32 -33 -33 -31 -29 -28 -29 -31 -38 -45 -46 -42 -37 -39 -40 -40 -41 -45 -51 -53 -54 -54 -50 -42 -34 -28 -22 -15 -12 -11 -10 -11 -11 -12 -12 -12 -11 -10 -9 -8 -7 -7 -7 -8 -9 -9 -8 -9 -9 -10 -10 -11 -11 -12 -12 -13 -14 -14 -15 -15 -16 -16 -17 -17 -17 -18 -18 -19 -20 -22 -23 -23 -24 -24 -24 -24 -24 -24 -24 -23 -23 -22 -22 -22 -21 -21 -21 -21 -22 -22 -23 -24 -24 -24 -23 -22 -22 -21 -21 -21 -20 -19 -18 -16 -14 -13 -11 -10 -9 -8 -7 -6 -6 -6 -6 -6 -8 -9 -10 -11 -12 -13 -13 -14 -15 -16 -18 -20 -21 -22 -22 -22 -23 -23 -23 -24 -25 -26 -28 -29 -30 -31 -32 -33 -33 -33 -32 -32 -33 -33 -33 -33 -32 -31 -30 -29 -29 -29 -29 -28 -27 -27 -26 -26 -25 -24 -24 -24 -24 -25 -25 -25 -24 -24 -24 -24 -24 -24 -23 -22 -21 -20 -20 -20 -20 -20 -20 -20 -19 -19 -19 -20 -20 -21 -21 -20 -20 -19 -19 -18 -18 -17 -16 -15 -14 -12 -10 -9 -9 -10 -10 -11 -11 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 -11 -9 -4 -2 2 4 6 7 9 10 11 12 13 13 13 14 14 14 14 14 14 14 13 13 13 14 15 17 -23 -21 -20 -21 -22 -22 -22 -22 -23 -24 -26 -28 -29 -30 -30 -29 -28 -29 -29 -28 -27 -25 -23 -23 -23 -23 -23 -22 -22 -23 -23 -23 -22 -20 -19 -17 -16 -15 -14 -12 -11 -10 -8 -7 -5 -4 -5 -7 -9 -11 -13 -16 -19 -23 -27 -29 -31 -31 -31 -31 -30 -28 -25 -22 -21 -21 -21 -21 -22 -24 -25 -26 -28 -28 -28 -28 -27 -27 -27 -28 -30 -32 -34 -35 -36 -37 -37 -36 -35 -34 -33 -32 -32 -34 -35 -34 -33 -31 -29 -29 -29 -28 -27 -26 -26 -26 -26 -27 -26 -26 -26 -26 -27 -29 -29 -29 -29 -28 -29 -29 -30 -30 -30 -30 -29 -29 -29 -30 -31 -32 -32 -31 -30 -31 -33 -35 -35 -35 -36 -36 -35 -35 -34 -34 -33 -32 -30 -28 -27 -26 -25 -25 -26 -27 -29 -32 -35 -35 -35 -34 -33 -31 -29 -29 -30 -30 -32 -38 -41 -41 -39 -42 -43 -41 -40 -45 -53 -56 -57 -56 -53 -47 -38 -29 -23 -19 -17 -15 -14 -13 -13 -14 -15 -14 -14 -13 -12 -10 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -11 -11 -12 -12 -13 -13 -14 -15 -16 -16 -17 -17 -18 -18 -18 -19 -20 -21 -22 -23 -24 -25 -25 -25 -25 -25 -25 -24 -24 -24 -24 -23 -23 -22 -22 -22 -21 -21 -22 -23 -23 -24 -24 -24 -24 -23 -22 -21 -21 -21 -20 -20 -19 -17 -15 -14 -12 -10 -9 -8 -7 -7 -6 -7 -7 -8 -10 -12 -13 -14 -15 -15 -15 -16 -16 -17 -19 -20 -21 -22 -22 -22 -22 -22 -22 -23 -24 -26 -28 -29 -30 -31 -32 -32 -32 -33 -33 -33 -34 -34 -34 -34 -33 -31 -29 -28 -27 -27 -27 -27 -26 -26 -25 -25 -24 -24 -24 -24 -24 -25 -25 -25 -25 -24 -24 -24 -24 -25 -24 -23 -21 -20 -20 -21 -21 -22 -22 -22 -22 -21 -21 -21 -22 -23 -22 -22 -21 -22 -22 -21 -20 -20 -19 -18 -16 -14 -12 -10 -9 -9 -10 -10 -11 -11 -11 -10 -10 -10 -11 -11 -11 -10 -10 -10 -11 -14 -16 -15 -10 -8 -2 2 5 6 8 9 11 12 12 13 13 13 14 14 14 14 14 14 13 13 13 14 15 16 -22 -22 -22 -24 -25 -26 -26 -25 -24 -24 -23 -23 -24 -26 -26 -26 -26 -27 -27 -27 -26 -25 -24 -23 -23 -23 -23 -23 -23 -24 -24 -23 -22 -21 -20 -19 -18 -16 -14 -12 -10 -8 -6 -5 -4 -3 -3 -5 -7 -9 -12 -15 -19 -23 -26 -29 -31 -31 -32 -32 -32 -30 -26 -23 -21 -19 -19 -19 -19 -20 -21 -23 -25 -27 -28 -28 -28 -28 -28 -29 -30 -32 -35 -36 -36 -36 -35 -34 -33 -32 -31 -31 -31 -34 -35 -34 -32 -30 -29 -29 -29 -28 -27 -26 -26 -26 -26 -26 -27 -26 -26 -26 -27 -28 -29 -29 -29 -29 -29 -29 -29 -28 -28 -28 -29 -30 -31 -32 -32 -31 -31 -31 -31 -30 -32 -35 -36 -35 -34 -34 -34 -33 -33 -33 -33 -32 -31 -29 -27 -26 -26 -26 -25 -25 -27 -30 -36 -40 -40 -37 -34 -31 -30 -31 -33 -32 -29 -31 -34 -37 -40 -44 -44 -40 -38 -42 -52 -56 -57 -57 -55 -52 -43 -32 -24 -22 -21 -19 -18 -17 -16 -15 -16 -16 -16 -15 -14 -13 -12 -11 -11 -10 -10 -10 -10 -10 -11 -11 -11 -11 -12 -12 -13 -13 -14 -15 -16 -17 -18 -19 -19 -19 -19 -20 -21 -22 -23 -25 -25 -26 -26 -26 -25 -25 -25 -25 -25 -25 -24 -24 -24 -23 -23 -22 -22 -22 -22 -23 -24 -24 -25 -24 -24 -23 -23 -22 -22 -21 -21 -20 -20 -18 -16 -14 -12 -11 -9 -8 -7 -7 -7 -8 -9 -11 -13 -14 -15 -16 -17 -17 -17 -17 -17 -18 -19 -20 -21 -22 -22 -22 -22 -22 -22 -23 -24 -26 -27 -29 -30 -31 -31 -32 -32 -33 -33 -34 -35 -35 -35 -34 -33 -31 -28 -26 -26 -26 -26 -25 -25 -25 -25 -24 -24 -24 -24 -24 -24 -25 -26 -26 -26 -25 -24 -24 -24 -24 -25 -24 -22 -21 -21 -22 -23 -23 -24 -25 -25 -24 -23 -23 -24 -25 -25 -24 -24 -25 -26 -26 -24 -23 -23 -22 -19 -17 -14 -12 -10 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -12 -16 -19 -19 -17 -14 -8 -2 2 5 6 8 9 10 11 12 12 13 13 14 14 14 13 13 13 13 13 13 14 15 -19 -22 -25 -27 -28 -28 -28 -26 -23 -21 -21 -21 -22 -23 -24 -24 -25 -25 -25 -25 -25 -24 -23 -23 -23 -23 -23 -23 -23 -23 -23 -22 -21 -21 -21 -22 -21 -19 -16 -12 -9 -7 -6 -5 -4 -3 -3 -4 -6 -9 -12 -15 -20 -23 -26 -29 -30 -30 -31 -31 -30 -29 -27 -24 -21 -19 -18 -18 -17 -17 -19 -21 -24 -26 -28 -28 -28 -28 -29 -29 -31 -33 -36 -37 -37 -36 -34 -32 -31 -30 -31 -31 -32 -33 -34 -34 -32 -30 -29 -29 -29 -28 -27 -26 -26 -26 -26 -26 -26 -26 -26 -26 -27 -28 -28 -28 -28 -29 -29 -29 -29 -27 -26 -25 -27 -28 -30 -32 -33 -33 -32 -32 -32 -31 -32 -35 -36 -35 -33 -32 -31 -32 -33 -33 -33 -32 -31 -30 -28 -27 -26 -26 -24 -23 -24 -28 -32 -36 -39 -39 -39 -36 -33 -30 -29 -28 -27 -28 -31 -35 -39 -44 -44 -41 -38 -38 -44 -51 -55 -56 -55 -53 -47 -38 -31 -28 -26 -24 -24 -24 -22 -17 -16 -16 -16 -16 -15 -14 -13 -13 -12 -12 -11 -11 -11 -11 -11 -11 -11 -11 -12 -12 -12 -13 -13 -14 -16 -17 -18 -19 -20 -20 -21 -21 -22 -23 -24 -25 -26 -26 -26 -26 -26 -26 -26 -26 -26 -25 -25 -25 -25 -24 -24 -23 -23 -23 -23 -23 -24 -24 -25 -25 -25 -24 -23 -23 -22 -22 -22 -21 -21 -19 -17 -15 -13 -11 -9 -8 -7 -7 -8 -9 -11 -13 -15 -16 -17 -18 -19 -19 -18 -18 -18 -19 -20 -21 -21 -22 -22 -22 -22 -22 -23 -24 -25 -26 -27 -28 -29 -30 -30 -31 -32 -32 -33 -34 -35 -35 -35 -34 -32 -30 -28 -25 -24 -24 -24 -24 -24 -24 -24 -24 -24 -24 -24 -24 -24 -25 -26 -26 -26 -25 -25 -24 -24 -24 -25 -25 -24 -23 -22 -23 -24 -25 -26 -26 -27 -27 -27 -26 -25 -27 -28 -28 -28 -29 -32 -32 -30 -29 -28 -27 -24 -21 -18 -14 -12 -11 -11 -11 -11 -12 -12 -12 -12 -12 -11 -11 -11 -11 -10 -10 -13 -18 -21 -21 -19 -13 -11 -8 -2 4 5 6 7 9 10 11 11 12 12 13 13 13 13 13 13 13 13 13 13 14 -19 -22 -24 -26 -27 -28 -28 -26 -24 -23 -22 -21 -21 -22 -23 -24 -24 -25 -24 -24 -24 -23 -22 -22 -23 -23 -22 -21 -21 -21 -20 -20 -20 -21 -22 -23 -22 -20 -17 -14 -11 -9 -7 -6 -5 -5 -5 -6 -8 -10 -13 -16 -21 -24 -27 -28 -29 -30 -29 -28 -27 -26 -26 -24 -22 -19 -17 -16 -16 -16 -17 -20 -23 -26 -27 -28 -28 -28 -29 -31 -32 -34 -36 -37 -36 -34 -33 -31 -30 -30 -30 -31 -32 -33 -34 -34 -33 -31 -30 -29 -29 -29 -28 -28 -27 -27 -26 -26 -25 -25 -25 -25 -26 -27 -27 -27 -27 -27 -28 -29 -29 -27 -25 -23 -24 -26 -27 -29 -30 -32 -32 -33 -34 -34 -33 -35 -36 -35 -32 -29 -29 -30 -32 -33 -33 -32 -32 -30 -29 -28 -28 -27 -24 -23 -23 -26 -29 -32 -35 -39 -44 -43 -38 -33 -29 -28 -28 -29 -31 -34 -37 -41 -44 -45 -43 -40 -41 -46 -51 -54 -55 -54 -50 -44 -40 -38 -35 -31 -29 -30 -30 -23 -18 -16 -16 -16 -15 -15 -14 -14 -13 -13 -13 -13 -12 -12 -11 -11 -11 -11 -12 -12 -12 -13 -13 -14 -15 -17 -18 -20 -21 -21 -22 -22 -23 -24 -25 -26 -26 -26 -26 -27 -27 -28 -28 -27 -27 -26 -26 -26 -26 -26 -25 -25 -24 -24 -24 -24 -24 -25 -25 -25 -25 -25 -24 -24 -24 -23 -23 -22 -21 -20 -18 -15 -13 -11 -9 -8 -8 -8 -9 -10 -12 -15 -16 -17 -18 -19 -19 -19 -19 -19 -19 -19 -20 -21 -21 -22 -22 -22 -23 -23 -24 -25 -26 -27 -27 -28 -28 -29 -29 -30 -31 -32 -33 -34 -35 -35 -34 -33 -31 -29 -27 -24 -23 -22 -23 -23 -23 -23 -23 -24 -24 -24 -24 -24 -24 -25 -25 -26 -26 -26 -26 -25 -24 -24 -26 -26 -26 -25 -24 -24 -25 -26 -27 -28 -30 -31 -32 -31 -27 -29 -32 -34 -33 -33 -32 -32 -33 -34 -34 -32 -29 -27 -24 -19 -15 -13 -12 -12 -12 -12 -12 -13 -12 -12 -12 -11 -11 -11 -11 -11 -15 -18 -20 -20 -20 -11 -9 -7 -3 3 4 4 5 7 8 9 10 10 10 11 11 12 12 12 12 13 13 13 13 13 -19 -20 -22 -24 -27 -28 -28 -26 -25 -24 -23 -22 -21 -22 -23 -24 -25 -25 -25 -25 -25 -24 -23 -23 -22 -22 -20 -19 -19 -19 -18 -19 -20 -21 -22 -22 -21 -20 -19 -17 -15 -12 -10 -9 -9 -9 -10 -10 -12 -13 -15 -18 -22 -25 -27 -28 -28 -28 -27 -25 -23 -23 -24 -24 -23 -20 -17 -16 -15 -16 -18 -20 -22 -25 -26 -27 -28 -28 -30 -32 -34 -35 -36 -35 -34 -33 -32 -31 -30 -29 -29 -30 -32 -34 -34 -33 -31 -30 -29 -29 -29 -28 -27 -27 -27 -26 -26 -25 -25 -25 -25 -25 -26 -26 -26 -25 -24 -24 -26 -27 -28 -27 -24 -22 -22 -23 -25 -27 -28 -30 -31 -33 -34 -35 -35 -35 -36 -35 -32 -28 -27 -28 -31 -33 -33 -32 -31 -30 -29 -28 -30 -29 -27 -24 -23 -25 -27 -29 -32 -36 -43 -47 -44 -37 -31 -30 -30 -31 -32 -33 -35 -37 -41 -43 -43 -42 -45 -49 -51 -52 -53 -52 -51 -50 -51 -51 -51 -43 -32 -26 -28 -29 -23 -19 -16 -15 -15 -14 -14 -14 -14 -14 -14 -14 -13 -13 -12 -12 -12 -12 -12 -12 -13 -13 -13 -14 -15 -17 -19 -20 -21 -22 -22 -23 -24 -25 -25 -25 -25 -26 -26 -27 -28 -29 -29 -28 -27 -27 -27 -27 -27 -27 -27 -26 -26 -25 -25 -25 -25 -25 -26 -26 -26 -26 -26 -25 -25 -24 -24 -23 -21 -20 -17 -15 -12 -11 -10 -9 -9 -10 -11 -13 -14 -16 -16 -17 -18 -18 -19 -19 -20 -20 -20 -21 -21 -22 -22 -22 -23 -23 -24 -25 -26 -27 -27 -28 -28 -28 -27 -27 -28 -28 -29 -31 -32 -33 -34 -34 -33 -32 -30 -28 -26 -23 -21 -21 -22 -22 -22 -22 -23 -23 -24 -24 -24 -24 -24 -25 -25 -26 -27 -27 -27 -26 -26 -25 -26 -28 -28 -28 -26 -25 -26 -29 -32 -32 -34 -35 -37 -36 -31 -32 -35 -36 -35 -34 -30 -28 -29 -33 -34 -34 -33 -32 -30 -25 -20 -16 -14 -14 -13 -13 -13 -13 -13 -13 -12 -11 -12 -12 -11 -11 -14 -17 -19 -17 -20 -13 -7 -2 -0 2 3 3 4 5 6 7 8 9 9 9 10 10 11 11 11 12 12 12 12 12 -20 -20 -21 -23 -26 -27 -27 -27 -26 -26 -24 -22 -22 -23 -24 -25 -27 -27 -27 -27 -27 -26 -25 -24 -23 -21 -19 -18 -18 -18 -18 -19 -20 -20 -20 -20 -20 -20 -21 -20 -19 -16 -14 -13 -13 -14 -15 -15 -16 -17 -18 -20 -21 -23 -23 -23 -23 -22 -20 -20 -21 -22 -24 -24 -22 -20 -18 -16 -16 -17 -19 -21 -24 -25 -25 -26 -26 -26 -27 -30 -33 -34 -34 -34 -33 -33 -32 -31 -29 -29 -29 -30 -32 -35 -36 -33 -29 -28 -29 -30 -30 -29 -28 -27 -26 -26 -26 -26 -26 -26 -26 -26 -25 -25 -25 -24 -24 -23 -24 -25 -26 -25 -24 -23 -23 -23 -25 -27 -29 -30 -31 -32 -33 -34 -34 -36 -36 -35 -33 -30 -28 -28 -30 -32 -33 -31 -29 -28 -27 -28 -31 -31 -29 -26 -26 -27 -28 -28 -29 -32 -38 -45 -44 -39 -34 -32 -32 -34 -34 -34 -33 -35 -36 -37 -39 -41 -43 -45 -46 -45 -45 -48 -49 -49 -49 -50 -49 -43 -34 -26 -23 -26 -29 -27 -23 -17 -15 -15 -15 -15 -15 -15 -15 -15 -14 -14 -13 -13 -13 -13 -13 -13 -13 -14 -14 -15 -16 -17 -19 -20 -21 -22 -23 -24 -24 -25 -25 -25 -25 -26 -27 -28 -29 -30 -29 -29 -28 -28 -28 -29 -29 -29 -29 -28 -27 -27 -26 -26 -26 -26 -26 -26 -27 -27 -26 -26 -25 -25 -24 -23 -21 -19 -16 -14 -12 -11 -11 -11 -11 -12 -14 -15 -16 -17 -16 -17 -17 -18 -19 -20 -21 -21 -22 -22 -22 -23 -23 -24 -25 -26 -27 -28 -28 -29 -29 -29 -28 -27 -26 -26 -26 -27 -28 -29 -31 -32 -33 -33 -33 -31 -30 -28 -26 -23 -21 -20 -21 -22 -22 -22 -22 -23 -24 -24 -24 -24 -24 -25 -25 -26 -27 -27 -28 -28 -27 -27 -27 -28 -30 -31 -30 -29 -30 -34 -38 -38 -38 -39 -40 -38 -35 -35 -36 -35 -34 -32 -29 -28 -28 -30 -33 -33 -33 -33 -34 -32 -26 -20 -17 -16 -15 -14 -14 -14 -13 -13 -12 -12 -12 -13 -13 -12 -13 -16 -17 -14 -21 -18 -9 -0 2 2 2 3 3 4 4 5 7 8 8 8 8 8 9 9 9 10 11 11 11 11 -21 -21 -21 -23 -24 -26 -26 -27 -27 -27 -25 -24 -23 -24 -25 -27 -28 -28 -28 -28 -29 -29 -28 -27 -25 -23 -20 -19 -19 -19 -19 -20 -20 -19 -19 -19 -19 -20 -21 -21 -20 -17 -15 -15 -16 -17 -17 -18 -18 -18 -19 -20 -20 -19 -19 -18 -17 -15 -15 -17 -20 -22 -24 -24 -22 -19 -17 -16 -16 -17 -19 -22 -24 -25 -25 -24 -23 -23 -24 -27 -29 -31 -32 -32 -33 -33 -33 -32 -31 -29 -28 -29 -31 -35 -36 -32 -27 -25 -27 -28 -28 -29 -29 -28 -26 -25 -25 -26 -27 -27 -27 -26 -25 -24 -24 -23 -23 -23 -23 -24 -25 -25 -24 -23 -23 -25 -27 -28 -30 -30 -31 -32 -32 -32 -32 -34 -35 -34 -33 -31 -30 -29 -30 -31 -31 -28 -26 -25 -26 -27 -28 -28 -28 -28 -30 -31 -30 -29 -29 -30 -32 -37 -39 -38 -36 -35 -33 -33 -34 -33 -32 -33 -33 -34 -36 -38 -39 -40 -40 -39 -39 -42 -44 -45 -45 -44 -44 -43 -39 -33 -25 -23 -25 -28 -28 -26 -21 -19 -17 -16 -16 -16 -16 -16 -15 -15 -15 -14 -14 -13 -13 -14 -14 -15 -15 -16 -16 -17 -19 -20 -22 -23 -24 -24 -25 -25 -26 -26 -26 -26 -28 -29 -30 -30 -30 -29 -28 -28 -29 -30 -31 -31 -30 -30 -29 -28 -27 -27 -27 -27 -27 -27 -27 -27 -26 -26 -25 -24 -23 -21 -19 -17 -15 -14 -13 -13 -13 -13 -14 -16 -17 -18 -18 -17 -16 -17 -17 -18 -20 -21 -22 -23 -23 -24 -24 -25 -26 -27 -28 -29 -30 -30 -30 -30 -30 -29 -28 -26 -25 -24 -25 -26 -27 -29 -30 -31 -32 -32 -32 -31 -29 -28 -26 -23 -21 -20 -21 -22 -22 -22 -22 -23 -23 -24 -25 -25 -25 -25 -26 -26 -27 -27 -28 -29 -29 -28 -28 -29 -30 -33 -36 -36 -36 -38 -40 -38 -35 -36 -39 -40 -38 -38 -36 -34 -33 -31 -32 -32 -31 -31 -32 -32 -32 -32 -34 -34 -31 -26 -20 -18 -17 -16 -15 -14 -14 -14 -14 -13 -13 -14 -18 -18 -18 -19 -19 -15 -21 -21 -13 -1 1 2 2 2 3 3 3 4 5 6 7 6 6 6 6 7 8 8 9 10 10 10 -22 -21 -22 -23 -24 -25 -26 -27 -27 -27 -26 -25 -24 -25 -26 -29 -29 -29 -28 -29 -29 -30 -29 -28 -27 -25 -23 -22 -23 -23 -22 -22 -21 -20 -19 -18 -18 -19 -19 -19 -19 -17 -16 -15 -16 -16 -17 -17 -17 -16 -16 -16 -16 -17 -16 -15 -14 -13 -14 -16 -19 -22 -23 -23 -22 -19 -17 -16 -16 -17 -19 -21 -23 -24 -24 -23 -22 -21 -21 -23 -25 -27 -29 -30 -31 -32 -32 -32 -31 -29 -28 -29 -31 -34 -35 -31 -26 -23 -24 -24 -25 -27 -28 -27 -25 -24 -24 -24 -26 -27 -28 -27 -25 -24 -22 -22 -23 -23 -24 -24 -25 -26 -26 -25 -25 -27 -29 -31 -31 -30 -31 -32 -33 -32 -32 -34 -35 -34 -32 -32 -32 -31 -30 -30 -28 -26 -24 -24 -25 -26 -27 -27 -29 -32 -35 -36 -34 -33 -33 -31 -28 -28 -30 -33 -36 -36 -32 -30 -29 -30 -30 -30 -31 -32 -34 -36 -37 -37 -35 -33 -33 -35 -37 -39 -41 -43 -41 -41 -40 -37 -30 -24 -23 -25 -27 -29 -31 -31 -26 -20 -16 -16 -16 -16 -17 -17 -17 -16 -15 -15 -14 -15 -15 -16 -16 -17 -17 -18 -19 -20 -22 -23 -24 -25 -25 -26 -26 -27 -27 -28 -29 -30 -31 -30 -29 -28 -28 -29 -30 -31 -32 -32 -32 -31 -30 -29 -29 -28 -28 -27 -27 -27 -26 -26 -25 -25 -24 -23 -22 -20 -18 -16 -15 -15 -15 -15 -15 -16 -18 -19 -20 -19 -18 -17 -17 -17 -18 -20 -21 -22 -24 -24 -25 -26 -26 -28 -29 -30 -31 -31 -31 -31 -31 -31 -30 -28 -27 -25 -24 -24 -24 -26 -27 -29 -30 -31 -31 -31 -31 -30 -29 -27 -26 -24 -22 -21 -21 -21 -22 -23 -23 -23 -24 -25 -26 -26 -27 -27 -27 -27 -27 -27 -28 -29 -30 -30 -29 -29 -30 -33 -40 -42 -41 -40 -40 -38 -34 -35 -39 -40 -39 -39 -39 -38 -34 -32 -35 -36 -35 -33 -32 -32 -32 -32 -34 -34 -33 -30 -25 -21 -19 -18 -17 -16 -15 -15 -16 -16 -15 -16 -23 -24 -24 -24 -23 -20 -22 -20 -13 -4 -1 1 2 2 2 3 3 3 4 5 5 5 4 3 2 5 6 6 7 8 9 9 -21 -21 -22 -24 -25 -26 -27 -28 -28 -27 -26 -25 -24 -25 -26 -28 -29 -29 -30 -31 -31 -30 -29 -28 -27 -25 -25 -25 -24 -24 -23 -22 -21 -20 -20 -19 -19 -18 -18 -18 -18 -17 -16 -16 -16 -16 -16 -15 -14 -13 -13 -12 -13 -14 -14 -14 -13 -13 -15 -17 -20 -21 -22 -22 -21 -19 -17 -16 -16 -16 -18 -20 -21 -22 -23 -22 -21 -20 -19 -20 -22 -24 -26 -27 -29 -30 -30 -30 -30 -29 -29 -29 -31 -33 -33 -30 -25 -22 -22 -23 -24 -25 -25 -25 -24 -24 -23 -23 -24 -26 -27 -27 -26 -23 -22 -21 -22 -23 -24 -25 -26 -27 -28 -28 -27 -29 -30 -31 -30 -29 -30 -32 -34 -34 -33 -32 -31 -31 -30 -31 -32 -31 -30 -28 -27 -25 -23 -23 -23 -25 -26 -27 -31 -35 -38 -36 -34 -35 -37 -36 -31 -28 -30 -33 -35 -33 -31 -31 -31 -30 -29 -28 -28 -29 -31 -35 -36 -33 -30 -28 -28 -29 -31 -34 -39 -43 -41 -40 -38 -36 -32 -27 -25 -26 -26 -26 -30 -35 -35 -29 -20 -17 -17 -17 -18 -18 -18 -18 -17 -16 -15 -15 -16 -16 -17 -17 -18 -18 -19 -21 -22 -23 -24 -25 -26 -27 -27 -28 -28 -29 -30 -30 -31 -30 -29 -28 -28 -29 -30 -31 -32 -32 -32 -31 -30 -30 -30 -29 -29 -28 -27 -26 -26 -25 -24 -23 -22 -21 -19 -18 -16 -16 -16 -16 -17 -18 -19 -20 -21 -21 -21 -20 -18 -17 -18 -19 -20 -22 -23 -24 -25 -26 -27 -28 -30 -31 -32 -32 -32 -31 -31 -30 -30 -30 -29 -27 -25 -24 -23 -24 -25 -26 -28 -29 -30 -30 -31 -31 -31 -30 -29 -27 -26 -24 -22 -21 -20 -21 -22 -23 -23 -23 -24 -26 -27 -28 -28 -29 -28 -28 -28 -27 -27 -28 -29 -30 -30 -29 -29 -32 -40 -43 -43 -41 -39 -37 -34 -35 -39 -40 -40 -39 -37 -34 -31 -32 -35 -37 -36 -34 -32 -32 -32 -33 -33 -33 -34 -33 -30 -25 -22 -20 -18 -18 -17 -18 -20 -22 -20 -19 -25 -27 -26 -26 -25 -24 -24 -18 -11 -7 -3 -0 1 2 2 2 2 2 3 3 3 3 2 -0 -3 3 4 5 6 7 8 8 -20 -21 -22 -24 -25 -27 -28 -28 -27 -26 -26 -26 -27 -28 -29 -30 -31 -31 -31 -31 -31 -31 -30 -29 -28 -26 -25 -25 -24 -24 -23 -22 -22 -22 -21 -20 -20 -19 -19 -19 -19 -18 -18 -17 -17 -16 -15 -14 -12 -11 -10 -10 -9 -11 -12 -12 -13 -15 -17 -20 -21 -22 -23 -22 -20 -18 -16 -15 -15 -16 -17 -18 -19 -20 -21 -20 -19 -18 -18 -18 -19 -21 -23 -25 -26 -27 -28 -29 -30 -30 -30 -30 -31 -32 -32 -29 -25 -22 -23 -25 -26 -25 -25 -24 -24 -24 -23 -23 -23 -25 -26 -27 -26 -24 -22 -21 -21 -22 -23 -24 -25 -27 -29 -31 -31 -31 -32 -31 -29 -28 -29 -32 -35 -36 -33 -30 -28 -28 -28 -30 -31 -30 -28 -27 -25 -24 -22 -22 -21 -22 -24 -27 -31 -35 -39 -38 -35 -35 -36 -36 -31 -28 -28 -28 -29 -30 -32 -33 -34 -32 -30 -28 -28 -28 -28 -31 -31 -29 -26 -25 -27 -29 -30 -33 -37 -40 -42 -41 -38 -34 -32 -30 -30 -28 -26 -23 -26 -32 -35 -33 -26 -19 -18 -18 -19 -19 -19 -19 -18 -17 -17 -16 -16 -16 -17 -17 -18 -18 -19 -20 -22 -23 -25 -26 -27 -28 -29 -29 -30 -30 -30 -31 -31 -30 -29 -29 -28 -29 -30 -31 -32 -32 -32 -31 -31 -30 -30 -30 -29 -29 -28 -26 -25 -24 -23 -21 -20 -19 -17 -16 -16 -16 -17 -19 -20 -21 -22 -23 -23 -23 -21 -20 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -31 -33 -34 -34 -33 -31 -29 -28 -28 -28 -27 -26 -24 -23 -23 -24 -25 -26 -27 -29 -30 -30 -31 -31 -31 -31 -30 -28 -27 -25 -24 -22 -20 -20 -20 -22 -23 -24 -25 -25 -27 -29 -30 -30 -30 -30 -29 -29 -28 -28 -28 -29 -30 -31 -30 -29 -30 -36 -42 -44 -41 -36 -34 -33 -35 -40 -40 -40 -39 -35 -30 -29 -34 -37 -37 -36 -34 -33 -32 -32 -32 -32 -31 -31 -32 -31 -28 -26 -23 -21 -21 -22 -21 -24 -27 -26 -24 -26 -27 -26 -26 -26 -26 -25 -21 -16 -14 -7 -2 0 1 1 2 2 2 1 1 1 1 1 -2 -6 1 3 3 4 5 5 5 -20 -21 -23 -24 -25 -26 -27 -27 -27 -26 -26 -26 -27 -29 -30 -30 -33 -35 -34 -33 -33 -33 -32 -31 -29 -28 -27 -25 -23 -22 -22 -22 -22 -21 -21 -21 -21 -21 -20 -20 -19 -19 -20 -20 -19 -17 -16 -14 -12 -11 -10 -8 -7 -8 -9 -11 -13 -15 -19 -21 -23 -25 -25 -23 -20 -17 -15 -15 -16 -16 -17 -17 -18 -19 -19 -18 -17 -16 -16 -16 -17 -18 -21 -23 -24 -25 -27 -28 -31 -32 -33 -32 -32 -33 -33 -31 -26 -22 -23 -27 -28 -28 -27 -27 -26 -25 -23 -23 -23 -24 -25 -26 -25 -24 -23 -22 -21 -21 -22 -23 -25 -26 -29 -32 -33 -34 -33 -31 -29 -28 -29 -31 -34 -35 -33 -28 -25 -24 -25 -27 -29 -28 -26 -25 -24 -23 -22 -21 -20 -21 -24 -28 -32 -35 -38 -39 -38 -36 -34 -33 -30 -28 -27 -28 -28 -30 -32 -34 -34 -34 -32 -30 -29 -28 -28 -30 -33 -32 -29 -25 -26 -28 -29 -31 -34 -38 -41 -41 -39 -37 -35 -33 -32 -30 -26 -22 -23 -26 -29 -29 -26 -21 -20 -20 -20 -21 -21 -20 -20 -19 -18 -17 -17 -17 -17 -17 -17 -18 -19 -20 -21 -23 -25 -27 -28 -29 -30 -30 -31 -31 -31 -31 -31 -31 -30 -29 -29 -30 -31 -31 -32 -32 -32 -31 -31 -30 -30 -30 -29 -29 -28 -26 -25 -23 -21 -19 -18 -16 -15 -15 -16 -17 -19 -21 -23 -24 -25 -25 -25 -23 -22 -21 -22 -23 -24 -25 -26 -26 -27 -28 -29 -30 -32 -35 -36 -36 -34 -31 -29 -27 -25 -25 -24 -24 -23 -22 -22 -23 -24 -26 -28 -29 -30 -31 -31 -31 -31 -31 -31 -30 -28 -26 -24 -23 -21 -20 -19 -20 -22 -24 -26 -26 -27 -28 -30 -31 -32 -32 -32 -31 -30 -29 -29 -29 -30 -31 -31 -31 -30 -29 -31 -37 -43 -39 -33 -32 -33 -37 -40 -40 -40 -39 -36 -30 -30 -34 -37 -37 -36 -34 -33 -31 -31 -31 -31 -28 -28 -29 -29 -27 -28 -27 -26 -26 -28 -26 -27 -29 -29 -27 -26 -25 -25 -25 -26 -26 -25 -24 -22 -21 -14 -7 -1 -0 0 1 1 1 0 -0 -1 -1 -1 -2 -3 -0 1 2 3 2 -0 -1 -20 -22 -23 -24 -25 -25 -26 -26 -26 -26 -26 -26 -27 -29 -30 -30 -32 -35 -35 -35 -35 -36 -35 -33 -32 -30 -29 -25 -22 -20 -20 -20 -20 -20 -20 -21 -21 -21 -20 -20 -20 -21 -21 -22 -21 -20 -19 -17 -14 -12 -11 -9 -7 -6 -7 -9 -12 -15 -18 -21 -24 -26 -26 -24 -21 -18 -15 -14 -15 -16 -17 -18 -18 -18 -18 -17 -16 -16 -15 -15 -16 -17 -19 -21 -22 -23 -25 -27 -31 -34 -35 -35 -35 -34 -34 -31 -26 -20 -19 -23 -28 -31 -31 -30 -30 -28 -25 -23 -23 -24 -24 -25 -24 -24 -23 -22 -21 -21 -22 -23 -24 -25 -28 -31 -34 -34 -33 -31 -29 -30 -30 -31 -32 -33 -31 -25 -21 -19 -21 -24 -27 -27 -25 -24 -24 -24 -22 -21 -21 -22 -25 -30 -34 -37 -37 -39 -39 -37 -32 -29 -28 -28 -28 -28 -30 -31 -33 -34 -34 -34 -33 -32 -31 -30 -28 -27 -26 -26 -25 -24 -25 -26 -28 -31 -35 -38 -40 -41 -41 -40 -37 -35 -33 -30 -26 -22 -23 -23 -24 -25 -25 -23 -22 -22 -23 -22 -22 -22 -21 -20 -20 -19 -18 -17 -17 -17 -17 -18 -19 -20 -22 -23 -25 -27 -29 -30 -31 -31 -31 -32 -32 -32 -32 -31 -30 -30 -29 -30 -31 -32 -32 -32 -31 -31 -31 -30 -30 -30 -29 -29 -28 -26 -25 -22 -20 -17 -15 -14 -14 -15 -17 -19 -22 -24 -26 -27 -27 -27 -26 -24 -24 -24 -25 -26 -27 -28 -28 -28 -29 -29 -31 -33 -35 -37 -37 -36 -33 -30 -27 -24 -23 -22 -21 -20 -20 -20 -21 -23 -25 -27 -29 -30 -32 -32 -32 -32 -32 -31 -30 -29 -27 -25 -22 -21 -20 -20 -20 -20 -22 -25 -27 -28 -28 -29 -31 -32 -34 -34 -33 -33 -32 -31 -30 -30 -31 -31 -32 -32 -31 -29 -29 -33 -37 -35 -35 -36 -38 -40 -41 -40 -40 -40 -38 -35 -33 -35 -36 -35 -34 -34 -32 -29 -28 -31 -31 -28 -26 -28 -29 -27 -27 -28 -30 -31 -30 -29 -29 -29 -29 -27 -24 -23 -24 -25 -25 -25 -25 -25 -24 -23 -18 -10 -3 -2 -1 -0 0 0 -0 -2 -3 -3 -3 -4 -6 -6 -3 0 0 -3 -6 -7 -21 -23 -24 -24 -25 -25 -25 -24 -24 -24 -25 -26 -29 -30 -31 -30 -30 -32 -33 -34 -35 -38 -38 -36 -34 -32 -30 -28 -24 -21 -19 -18 -18 -19 -20 -21 -21 -20 -20 -20 -20 -22 -22 -22 -21 -21 -19 -16 -14 -13 -11 -8 -7 -7 -8 -9 -11 -13 -17 -20 -22 -24 -25 -24 -22 -20 -17 -16 -16 -17 -18 -18 -19 -19 -18 -17 -17 -17 -16 -15 -16 -16 -17 -18 -19 -21 -23 -25 -29 -33 -36 -37 -37 -37 -35 -31 -26 -21 -19 -20 -22 -25 -26 -26 -26 -28 -29 -29 -25 -23 -23 -24 -24 -24 -23 -22 -21 -21 -21 -22 -23 -25 -27 -30 -34 -34 -32 -30 -29 -30 -31 -32 -32 -31 -28 -24 -19 -16 -17 -22 -27 -28 -27 -26 -26 -26 -25 -24 -24 -25 -28 -32 -36 -39 -37 -37 -38 -36 -32 -28 -28 -27 -28 -29 -30 -32 -33 -34 -34 -34 -34 -33 -32 -31 -29 -27 -26 -25 -25 -25 -25 -25 -27 -31 -35 -37 -36 -36 -35 -36 -35 -34 -33 -30 -25 -21 -22 -24 -27 -30 -31 -28 -25 -24 -25 -25 -24 -24 -23 -22 -22 -21 -20 -19 -18 -17 -17 -18 -19 -20 -22 -24 -26 -28 -29 -30 -31 -32 -32 -32 -32 -32 -32 -31 -30 -30 -30 -30 -31 -31 -31 -31 -31 -31 -30 -30 -30 -29 -29 -28 -28 -26 -24 -21 -19 -16 -14 -14 -15 -17 -19 -22 -24 -26 -28 -29 -29 -28 -27 -26 -26 -27 -28 -29 -29 -30 -30 -29 -29 -30 -31 -33 -35 -36 -36 -34 -32 -30 -26 -23 -21 -19 -18 -17 -18 -19 -21 -23 -25 -27 -30 -32 -33 -34 -34 -33 -32 -31 -30 -28 -26 -23 -21 -20 -20 -20 -21 -21 -23 -25 -28 -30 -30 -30 -32 -34 -35 -36 -35 -35 -34 -33 -33 -32 -32 -33 -33 -34 -33 -31 -30 -29 -31 -33 -39 -42 -42 -41 -41 -41 -41 -40 -40 -39 -37 -37 -36 -33 -32 -33 -32 -28 -25 -29 -31 -29 -27 -30 -33 -30 -27 -26 -28 -30 -29 -29 -30 -30 -29 -27 -22 -20 -23 -26 -25 -24 -23 -25 -24 -23 -19 -12 -5 -4 -3 -2 -1 -1 -1 -3 -5 -7 -7 -8 -12 -11 -8 -5 -5 -9 -9 -6 -21 -23 -24 -24 -24 -24 -24 -23 -23 -22 -24 -27 -30 -31 -31 -30 -29 -29 -30 -32 -34 -37 -37 -36 -34 -34 -36 -36 -31 -25 -19 -17 -16 -18 -19 -20 -20 -20 -20 -21 -22 -24 -23 -21 -20 -19 -18 -16 -15 -14 -12 -11 -9 -9 -9 -10 -11 -13 -15 -18 -21 -23 -25 -25 -23 -21 -19 -18 -18 -18 -18 -19 -19 -18 -18 -18 -18 -18 -17 -16 -16 -16 -17 -18 -19 -20 -22 -24 -28 -32 -35 -38 -40 -42 -39 -33 -27 -22 -20 -20 -21 -23 -24 -24 -25 -28 -30 -31 -29 -26 -24 -23 -23 -23 -23 -22 -21 -21 -21 -22 -23 -24 -27 -29 -32 -33 -31 -29 -29 -30 -32 -33 -33 -28 -21 -17 -15 -15 -16 -20 -25 -28 -29 -29 -30 -30 -28 -26 -27 -30 -31 -34 -37 -39 -38 -36 -36 -35 -34 -31 -29 -28 -29 -30 -31 -32 -33 -34 -34 -34 -34 -34 -33 -32 -30 -29 -27 -26 -26 -26 -25 -25 -26 -27 -30 -31 -33 -37 -39 -39 -36 -33 -31 -28 -24 -20 -21 -24 -27 -30 -33 -33 -30 -27 -26 -27 -27 -27 -26 -25 -25 -24 -23 -22 -21 -20 -19 -19 -20 -22 -24 -26 -28 -29 -30 -30 -31 -32 -32 -33 -33 -32 -31 -31 -30 -29 -29 -30 -30 -31 -31 -31 -31 -31 -30 -30 -29 -29 -28 -28 -27 -26 -23 -21 -18 -16 -15 -16 -17 -19 -22 -25 -27 -28 -29 -29 -29 -29 -29 -29 -30 -30 -30 -30 -30 -30 -29 -29 -29 -29 -30 -31 -31 -32 -32 -32 -32 -30 -26 -23 -20 -18 -16 -16 -16 -18 -21 -23 -25 -28 -31 -33 -35 -35 -34 -34 -32 -31 -29 -27 -25 -22 -20 -19 -20 -21 -22 -23 -24 -26 -28 -31 -32 -32 -33 -34 -36 -37 -37 -37 -36 -36 -35 -35 -34 -34 -34 -34 -34 -34 -33 -31 -31 -34 -40 -42 -41 -39 -40 -41 -42 -42 -42 -41 -41 -40 -38 -35 -34 -35 -34 -31 -28 -30 -31 -31 -30 -32 -35 -34 -30 -26 -26 -29 -29 -30 -31 -30 -29 -27 -24 -23 -24 -26 -25 -24 -23 -24 -23 -23 -20 -14 -7 -6 -6 -4 -3 -2 -2 -4 -9 -13 -13 -14 -16 -14 -11 -11 -11 -12 -10 -3 -22 -23 -24 -24 -24 -24 -24 -23 -22 -22 -24 -27 -29 -29 -30 -29 -28 -28 -29 -30 -31 -31 -32 -31 -31 -34 -38 -39 -36 -30 -22 -16 -15 -16 -17 -18 -19 -19 -20 -21 -22 -22 -21 -19 -18 -17 -17 -15 -15 -14 -14 -14 -12 -11 -11 -12 -13 -13 -15 -17 -20 -23 -25 -24 -23 -22 -21 -21 -20 -20 -19 -19 -18 -18 -18 -18 -18 -18 -18 -17 -17 -17 -18 -19 -20 -21 -23 -25 -28 -32 -36 -38 -39 -40 -39 -35 -29 -24 -21 -20 -21 -23 -23 -23 -24 -26 -30 -35 -37 -33 -28 -25 -24 -24 -23 -22 -21 -20 -21 -22 -23 -24 -25 -28 -31 -31 -30 -28 -28 -29 -30 -32 -31 -26 -19 -16 -15 -16 -18 -21 -25 -28 -29 -29 -30 -30 -29 -29 -30 -33 -36 -37 -38 -39 -39 -35 -34 -35 -35 -34 -32 -31 -31 -31 -32 -33 -34 -34 -35 -35 -34 -34 -34 -33 -32 -30 -29 -27 -27 -26 -25 -25 -25 -26 -28 -30 -32 -34 -37 -38 -36 -31 -26 -22 -19 -18 -21 -23 -26 -28 -31 -34 -34 -32 -29 -28 -29 -29 -30 -29 -29 -28 -27 -27 -25 -24 -23 -22 -23 -24 -26 -28 -30 -31 -31 -31 -31 -32 -32 -33 -33 -32 -31 -30 -29 -29 -29 -29 -29 -30 -31 -31 -31 -31 -30 -29 -28 -28 -28 -27 -27 -25 -22 -20 -18 -17 -17 -18 -20 -22 -25 -27 -28 -29 -29 -30 -30 -31 -32 -33 -33 -33 -31 -30 -29 -28 -28 -28 -28 -27 -27 -26 -26 -27 -29 -30 -31 -30 -27 -23 -20 -17 -16 -15 -16 -18 -20 -23 -25 -28 -31 -34 -36 -36 -35 -34 -32 -30 -28 -26 -24 -22 -20 -20 -21 -22 -24 -25 -26 -27 -29 -32 -33 -33 -33 -35 -37 -39 -39 -39 -39 -38 -38 -37 -36 -36 -35 -35 -35 -37 -38 -37 -36 -38 -41 -41 -39 -38 -40 -41 -42 -43 -43 -43 -42 -41 -40 -38 -37 -36 -36 -34 -31 -32 -33 -34 -36 -36 -36 -35 -33 -30 -28 -29 -31 -32 -32 -31 -29 -27 -25 -24 -25 -26 -26 -25 -24 -23 -20 -22 -21 -16 -9 -9 -10 -8 -5 -4 -3 -5 -11 -18 -18 -17 -16 -14 -13 -13 -13 -12 -8 -1 -22 -22 -23 -23 -24 -24 -24 -24 -24 -24 -24 -25 -26 -27 -27 -27 -26 -27 -30 -30 -30 -28 -28 -27 -27 -28 -30 -32 -33 -28 -21 -16 -14 -15 -16 -17 -18 -19 -20 -21 -23 -23 -22 -19 -18 -17 -16 -15 -15 -14 -15 -15 -15 -13 -13 -14 -14 -14 -15 -17 -20 -23 -25 -24 -23 -22 -22 -23 -22 -22 -21 -20 -19 -18 -18 -19 -19 -18 -18 -18 -18 -19 -19 -20 -22 -24 -25 -27 -29 -32 -34 -36 -36 -36 -37 -35 -31 -27 -23 -22 -22 -23 -24 -23 -23 -25 -28 -33 -36 -34 -30 -26 -25 -25 -24 -22 -21 -20 -21 -21 -22 -23 -25 -26 -29 -30 -28 -27 -26 -26 -27 -30 -30 -26 -19 -16 -16 -17 -19 -22 -25 -26 -25 -24 -24 -26 -26 -26 -29 -36 -43 -48 -49 -47 -42 -36 -34 -34 -36 -37 -36 -35 -33 -32 -33 -34 -35 -35 -35 -35 -35 -35 -34 -34 -33 -32 -31 -29 -28 -26 -25 -25 -25 -26 -28 -30 -31 -33 -35 -37 -34 -29 -23 -19 -18 -20 -22 -24 -26 -28 -31 -33 -36 -37 -37 -34 -32 -31 -32 -33 -33 -32 -32 -32 -31 -30 -28 -27 -27 -27 -29 -30 -32 -32 -32 -32 -32 -32 -33 -33 -33 -33 -32 -30 -29 -28 -28 -28 -28 -29 -30 -30 -31 -31 -30 -29 -28 -28 -27 -27 -25 -23 -21 -20 -19 -18 -19 -21 -23 -26 -28 -29 -30 -30 -30 -31 -32 -34 -35 -36 -36 -34 -31 -28 -26 -26 -26 -27 -26 -25 -23 -22 -22 -24 -26 -29 -30 -29 -27 -24 -20 -17 -16 -16 -16 -17 -19 -22 -25 -28 -31 -34 -35 -36 -35 -33 -31 -29 -27 -26 -24 -23 -22 -21 -22 -23 -25 -28 -30 -31 -30 -32 -33 -34 -34 -35 -37 -40 -41 -41 -40 -40 -39 -39 -38 -37 -36 -35 -36 -40 -43 -42 -41 -42 -43 -42 -41 -40 -41 -42 -43 -44 -44 -44 -43 -42 -41 -39 -38 -38 -37 -35 -33 -34 -36 -36 -37 -37 -36 -35 -35 -34 -34 -33 -33 -32 -32 -31 -29 -27 -25 -25 -26 -26 -26 -24 -21 -18 -15 -18 -20 -18 -12 -13 -15 -14 -10 -8 -8 -10 -14 -18 -18 -16 -15 -14 -13 -13 -10 -8 -4 3 -21 -21 -21 -22 -23 -24 -24 -25 -26 -26 -25 -25 -25 -26 -27 -28 -31 -33 -33 -30 -28 -27 -27 -25 -24 -24 -26 -28 -29 -25 -20 -16 -15 -14 -14 -15 -17 -18 -20 -22 -24 -24 -22 -20 -18 -17 -17 -16 -15 -15 -16 -17 -16 -15 -15 -15 -15 -15 -17 -19 -22 -23 -24 -24 -22 -22 -22 -23 -24 -23 -23 -22 -22 -21 -20 -19 -19 -19 -18 -19 -19 -20 -21 -22 -23 -25 -27 -29 -32 -33 -33 -33 -33 -34 -35 -35 -32 -29 -26 -23 -23 -24 -25 -24 -24 -25 -26 -28 -30 -30 -28 -26 -26 -26 -25 -23 -21 -21 -21 -21 -22 -23 -24 -26 -28 -28 -27 -26 -25 -23 -23 -25 -26 -24 -18 -16 -16 -18 -19 -21 -23 -23 -22 -21 -19 -20 -22 -25 -30 -37 -44 -49 -50 -48 -44 -40 -37 -34 -34 -36 -37 -36 -35 -34 -34 -35 -35 -36 -35 -35 -36 -36 -35 -35 -34 -34 -33 -31 -30 -28 -27 -26 -26 -27 -28 -30 -31 -33 -34 -34 -31 -28 -24 -20 -19 -21 -24 -26 -28 -29 -31 -33 -35 -36 -35 -35 -36 -36 -35 -35 -35 -35 -36 -37 -37 -36 -35 -33 -32 -31 -31 -32 -33 -34 -34 -34 -33 -33 -33 -34 -34 -33 -32 -31 -30 -28 -28 -27 -28 -28 -29 -30 -30 -30 -30 -29 -28 -28 -27 -25 -24 -22 -20 -20 -20 -21 -22 -24 -27 -29 -30 -31 -31 -31 -32 -33 -36 -37 -38 -38 -36 -32 -28 -25 -24 -23 -24 -24 -24 -22 -20 -19 -20 -22 -25 -27 -28 -28 -26 -24 -21 -19 -17 -16 -16 -17 -18 -21 -24 -27 -29 -32 -34 -35 -34 -32 -30 -28 -27 -26 -25 -25 -24 -23 -23 -26 -30 -33 -37 -38 -34 -33 -34 -34 -34 -35 -37 -39 -41 -42 -41 -41 -40 -39 -38 -37 -36 -36 -39 -42 -45 -43 -42 -44 -45 -45 -43 -43 -43 -44 -44 -45 -44 -44 -44 -43 -42 -40 -39 -38 -37 -35 -34 -36 -37 -37 -38 -37 -36 -35 -35 -35 -34 -33 -33 -32 -31 -30 -29 -26 -25 -25 -26 -26 -24 -20 -14 -12 -12 -15 -20 -22 -18 -17 -19 -19 -16 -15 -15 -16 -17 -18 -17 -15 -14 -13 -13 -11 -5 -2 1 5 -19 -20 -21 -22 -23 -23 -24 -23 -23 -24 -25 -25 -26 -28 -29 -29 -30 -33 -33 -30 -28 -27 -26 -24 -23 -24 -26 -27 -25 -22 -19 -18 -18 -15 -14 -15 -17 -19 -20 -22 -24 -24 -22 -20 -19 -18 -18 -18 -17 -18 -18 -18 -16 -15 -16 -16 -16 -16 -19 -21 -22 -22 -22 -22 -22 -21 -22 -23 -24 -24 -24 -24 -24 -23 -22 -21 -20 -20 -20 -20 -21 -22 -22 -22 -23 -24 -27 -30 -33 -34 -34 -34 -34 -36 -37 -35 -31 -29 -27 -25 -24 -24 -25 -24 -24 -25 -27 -28 -28 -26 -25 -25 -26 -27 -26 -24 -22 -21 -21 -22 -22 -23 -24 -26 -27 -27 -26 -25 -24 -22 -20 -20 -21 -20 -17 -16 -17 -18 -19 -20 -21 -21 -21 -20 -18 -18 -21 -26 -31 -38 -44 -48 -49 -50 -50 -50 -46 -39 -33 -32 -33 -34 -33 -33 -34 -36 -36 -36 -36 -36 -36 -35 -35 -35 -34 -35 -34 -33 -32 -31 -30 -29 -28 -28 -29 -31 -33 -33 -31 -28 -25 -23 -22 -20 -19 -21 -25 -28 -30 -31 -32 -33 -34 -35 -35 -36 -37 -38 -37 -36 -36 -36 -37 -39 -40 -40 -39 -38 -37 -35 -35 -35 -35 -36 -36 -36 -35 -35 -35 -35 -35 -35 -34 -33 -32 -30 -29 -28 -28 -28 -28 -29 -29 -29 -29 -29 -28 -27 -26 -24 -22 -21 -20 -20 -21 -23 -26 -28 -30 -32 -32 -32 -32 -33 -34 -37 -39 -40 -39 -37 -34 -29 -26 -23 -22 -22 -22 -21 -20 -19 -18 -18 -19 -21 -23 -25 -26 -26 -25 -24 -22 -20 -19 -18 -18 -18 -19 -21 -24 -26 -28 -30 -32 -33 -33 -32 -30 -28 -27 -27 -27 -27 -26 -27 -28 -30 -37 -40 -43 -44 -42 -38 -36 -35 -34 -34 -36 -38 -41 -42 -43 -43 -42 -41 -41 -40 -40 -41 -44 -47 -47 -45 -44 -45 -46 -46 -45 -44 -44 -45 -45 -45 -44 -44 -44 -44 -43 -41 -39 -38 -37 -36 -35 -36 -37 -38 -38 -37 -36 -35 -34 -35 -34 -33 -32 -32 -31 -30 -28 -26 -25 -25 -25 -25 -23 -17 -13 -12 -12 -16 -22 -24 -22 -20 -20 -20 -19 -19 -19 -19 -19 -20 -19 -17 -15 -14 -12 -6 -0 3 4 4 -20 -20 -21 -22 -23 -23 -22 -21 -21 -22 -23 -24 -25 -27 -28 -27 -28 -29 -28 -27 -26 -25 -25 -23 -23 -25 -27 -27 -22 -19 -18 -19 -18 -16 -15 -16 -19 -20 -21 -21 -21 -21 -21 -19 -19 -19 -19 -19 -19 -19 -19 -19 -17 -16 -16 -17 -17 -18 -19 -20 -20 -20 -21 -21 -21 -21 -22 -23 -25 -26 -28 -28 -26 -24 -23 -22 -21 -21 -21 -20 -20 -20 -21 -21 -21 -23 -26 -30 -32 -34 -34 -34 -34 -36 -38 -36 -34 -31 -31 -30 -28 -25 -25 -25 -25 -26 -29 -31 -30 -27 -25 -24 -25 -27 -28 -26 -23 -22 -22 -22 -22 -23 -25 -26 -27 -27 -26 -25 -24 -22 -20 -19 -18 -16 -16 -16 -17 -18 -19 -19 -20 -20 -20 -19 -19 -20 -23 -27 -32 -38 -43 -46 -48 -49 -52 -54 -51 -44 -36 -31 -30 -31 -31 -32 -34 -36 -37 -38 -38 -37 -36 -35 -35 -35 -35 -35 -35 -35 -34 -33 -33 -33 -32 -31 -29 -30 -31 -33 -32 -26 -18 -14 -14 -15 -17 -20 -24 -28 -31 -34 -35 -36 -36 -36 -35 -36 -36 -35 -34 -33 -35 -38 -40 -41 -40 -40 -40 -39 -39 -38 -38 -38 -38 -38 -38 -38 -37 -37 -36 -36 -37 -37 -37 -36 -35 -33 -32 -30 -29 -29 -29 -29 -29 -29 -29 -28 -28 -27 -25 -24 -22 -20 -20 -21 -23 -26 -29 -32 -33 -34 -34 -33 -34 -35 -38 -40 -40 -39 -36 -33 -29 -26 -24 -23 -22 -21 -19 -18 -17 -16 -17 -19 -20 -21 -22 -23 -24 -25 -25 -24 -23 -22 -22 -22 -22 -23 -24 -26 -28 -30 -32 -32 -31 -31 -32 -31 -30 -29 -28 -29 -29 -30 -31 -32 -35 -36 -41 -44 -46 -47 -47 -45 -42 -38 -35 -34 -35 -37 -39 -42 -44 -46 -46 -46 -46 -46 -46 -48 -50 -50 -49 -47 -45 -45 -46 -46 -45 -44 -44 -44 -44 -44 -43 -43 -44 -44 -43 -41 -39 -39 -38 -37 -36 -36 -37 -38 -38 -37 -36 -35 -34 -35 -34 -33 -31 -30 -29 -28 -27 -25 -24 -25 -25 -25 -23 -17 -16 -15 -14 -17 -21 -21 -20 -19 -19 -19 -19 -19 -20 -19 -18 -21 -20 -19 -18 -15 -9 -2 2 3 3 3 -20 -21 -22 -23 -23 -22 -20 -20 -20 -21 -22 -22 -23 -24 -25 -26 -27 -27 -25 -23 -23 -24 -24 -23 -24 -25 -26 -25 -20 -18 -17 -17 -15 -14 -16 -18 -20 -21 -21 -20 -19 -18 -18 -18 -19 -19 -19 -19 -19 -19 -18 -18 -18 -18 -19 -19 -19 -19 -19 -20 -21 -22 -21 -21 -21 -23 -24 -26 -26 -27 -29 -30 -28 -24 -23 -23 -22 -20 -19 -19 -20 -20 -20 -21 -21 -23 -25 -28 -30 -33 -35 -35 -35 -36 -37 -38 -38 -35 -32 -31 -29 -27 -27 -26 -26 -28 -29 -29 -26 -24 -24 -25 -25 -26 -27 -25 -23 -22 -22 -22 -23 -24 -24 -25 -26 -26 -26 -25 -24 -22 -20 -18 -17 -16 -16 -17 -18 -18 -19 -20 -20 -20 -20 -19 -20 -23 -26 -30 -34 -37 -40 -43 -45 -46 -46 -48 -49 -48 -44 -37 -31 -30 -30 -32 -33 -35 -37 -39 -40 -39 -38 -37 -36 -36 -36 -36 -36 -36 -36 -35 -35 -34 -34 -34 -34 -34 -34 -36 -36 -31 -21 -16 -14 -15 -16 -19 -22 -26 -30 -35 -39 -40 -40 -39 -38 -37 -35 -34 -33 -33 -36 -39 -41 -43 -43 -42 -40 -38 -38 -38 -38 -39 -39 -40 -40 -40 -39 -39 -38 -38 -39 -40 -40 -39 -38 -37 -35 -34 -32 -31 -31 -30 -30 -29 -28 -28 -27 -26 -25 -23 -21 -21 -21 -23 -26 -29 -32 -34 -35 -36 -35 -35 -37 -39 -40 -40 -38 -34 -31 -27 -25 -23 -23 -23 -22 -20 -17 -15 -14 -15 -17 -19 -21 -21 -21 -21 -23 -25 -26 -26 -25 -26 -28 -30 -30 -31 -33 -34 -35 -36 -39 -39 -37 -35 -34 -32 -32 -31 -31 -31 -32 -36 -37 -39 -41 -41 -43 -45 -48 -50 -50 -47 -45 -41 -36 -34 -34 -35 -37 -40 -44 -50 -51 -51 -50 -50 -50 -52 -53 -53 -51 -49 -47 -45 -43 -43 -44 -43 -42 -42 -43 -42 -42 -42 -43 -44 -43 -41 -40 -40 -41 -40 -37 -36 -36 -38 -39 -37 -36 -34 -34 -35 -34 -32 -30 -29 -28 -27 -26 -25 -24 -24 -25 -25 -24 -20 -20 -18 -17 -18 -20 -19 -19 -18 -18 -18 -18 -19 -19 -19 -17 -20 -21 -20 -19 -14 -6 -1 2 2 3 2 -20 -21 -23 -24 -23 -21 -20 -20 -20 -21 -22 -22 -21 -22 -24 -26 -27 -26 -24 -22 -22 -23 -24 -25 -26 -24 -21 -18 -18 -17 -16 -16 -15 -15 -16 -16 -16 -16 -18 -19 -18 -16 -16 -18 -18 -18 -18 -18 -18 -18 -18 -17 -17 -18 -18 -19 -19 -18 -19 -21 -22 -23 -23 -22 -22 -23 -24 -25 -25 -26 -26 -25 -24 -21 -20 -20 -20 -20 -20 -21 -22 -22 -22 -22 -23 -24 -24 -25 -28 -32 -35 -37 -37 -37 -37 -39 -41 -40 -35 -32 -31 -31 -30 -27 -25 -25 -26 -26 -25 -25 -25 -25 -25 -24 -23 -23 -22 -22 -21 -22 -23 -24 -24 -25 -26 -27 -27 -26 -24 -21 -19 -17 -17 -16 -17 -18 -19 -19 -20 -21 -22 -22 -22 -22 -23 -26 -29 -32 -34 -36 -38 -40 -41 -42 -39 -39 -43 -48 -50 -44 -35 -31 -31 -32 -34 -35 -37 -39 -40 -39 -39 -38 -38 -37 -37 -36 -36 -36 -36 -36 -36 -36 -36 -36 -36 -35 -36 -38 -39 -34 -24 -18 -16 -16 -16 -18 -20 -22 -25 -30 -36 -40 -43 -44 -44 -41 -39 -37 -37 -37 -38 -39 -41 -43 -45 -44 -42 -40 -38 -36 -36 -37 -38 -40 -41 -41 -41 -41 -41 -41 -42 -43 -43 -43 -42 -41 -40 -38 -36 -35 -33 -32 -31 -30 -29 -27 -26 -25 -24 -23 -22 -22 -23 -25 -28 -32 -34 -36 -36 -36 -37 -38 -40 -41 -40 -36 -31 -27 -24 -22 -22 -22 -22 -22 -21 -19 -16 -14 -14 -15 -17 -19 -21 -23 -24 -25 -27 -29 -31 -31 -31 -32 -34 -37 -38 -39 -40 -40 -40 -39 -42 -43 -43 -43 -43 -39 -39 -39 -37 -35 -35 -42 -44 -44 -43 -43 -44 -46 -48 -50 -50 -45 -43 -40 -37 -35 -33 -33 -35 -38 -42 -50 -52 -52 -51 -50 -51 -53 -54 -54 -52 -51 -49 -45 -41 -41 -41 -41 -40 -40 -41 -41 -41 -42 -43 -45 -45 -43 -42 -41 -42 -42 -40 -38 -38 -39 -39 -37 -36 -34 -34 -34 -33 -31 -30 -28 -28 -26 -25 -24 -24 -24 -24 -25 -26 -24 -20 -18 -17 -19 -18 -17 -16 -17 -19 -19 -18 -17 -18 -19 -18 -20 -21 -21 -19 -12 -6 -2 -0 1 2 1 -20 -22 -24 -25 -23 -21 -20 -20 -20 -21 -21 -21 -21 -22 -24 -26 -26 -23 -22 -21 -21 -23 -26 -29 -28 -23 -17 -14 -15 -15 -15 -15 -15 -16 -16 -16 -16 -16 -16 -16 -16 -16 -18 -17 -17 -17 -18 -18 -18 -17 -16 -15 -15 -16 -17 -17 -18 -18 -19 -20 -22 -23 -24 -24 -24 -23 -22 -21 -21 -23 -23 -23 -21 -19 -19 -20 -21 -23 -24 -25 -25 -25 -24 -23 -24 -23 -23 -23 -25 -30 -36 -40 -42 -41 -39 -39 -40 -40 -36 -33 -31 -30 -29 -27 -25 -25 -25 -25 -26 -26 -26 -25 -25 -23 -22 -22 -22 -22 -22 -23 -24 -25 -25 -26 -27 -29 -29 -28 -24 -20 -18 -18 -17 -17 -18 -19 -20 -21 -21 -22 -23 -25 -27 -27 -26 -25 -26 -29 -33 -39 -41 -41 -40 -41 -39 -36 -37 -42 -47 -43 -37 -33 -32 -33 -35 -36 -37 -38 -38 -38 -39 -39 -39 -39 -38 -37 -36 -36 -36 -37 -38 -38 -38 -37 -37 -37 -37 -39 -40 -36 -27 -21 -18 -16 -17 -18 -19 -21 -23 -25 -29 -35 -41 -45 -47 -46 -44 -43 -41 -40 -39 -39 -41 -43 -45 -46 -45 -43 -41 -39 -37 -36 -36 -37 -39 -40 -41 -42 -43 -44 -45 -45 -45 -45 -44 -44 -43 -42 -41 -39 -37 -35 -33 -31 -29 -28 -26 -24 -23 -23 -22 -23 -25 -28 -31 -34 -36 -37 -37 -38 -39 -41 -42 -41 -36 -29 -23 -20 -19 -19 -20 -21 -22 -21 -20 -18 -16 -14 -14 -15 -18 -20 -23 -27 -33 -35 -37 -40 -41 -41 -40 -39 -39 -41 -43 -43 -43 -43 -41 -39 -42 -45 -47 -49 -49 -49 -50 -47 -43 -40 -36 -41 -44 -44 -43 -44 -45 -46 -46 -45 -45 -42 -41 -40 -38 -35 -33 -32 -33 -36 -42 -49 -52 -52 -51 -50 -51 -52 -53 -53 -52 -52 -50 -46 -42 -41 -42 -42 -41 -39 -39 -40 -42 -43 -44 -47 -47 -46 -45 -44 -43 -42 -41 -41 -41 -40 -40 -38 -36 -35 -34 -33 -32 -31 -29 -29 -29 -27 -26 -24 -25 -25 -25 -26 -27 -27 -19 -15 -16 -19 -18 -14 -13 -14 -19 -19 -18 -17 -18 -18 -19 -20 -21 -21 -19 -12 -9 -5 -2 -0 1 0 -20 -22 -25 -25 -23 -21 -20 -20 -21 -21 -21 -21 -21 -23 -25 -25 -24 -21 -19 -19 -20 -21 -22 -23 -21 -18 -16 -14 -13 -13 -14 -14 -15 -16 -16 -16 -16 -15 -15 -15 -15 -15 -15 -14 -14 -15 -15 -15 -15 -15 -14 -14 -15 -16 -17 -18 -19 -20 -20 -20 -22 -23 -24 -25 -25 -23 -20 -18 -18 -20 -22 -22 -21 -20 -20 -22 -24 -27 -29 -30 -30 -28 -26 -25 -24 -23 -22 -22 -24 -29 -34 -40 -44 -45 -43 -41 -40 -40 -38 -34 -30 -28 -27 -27 -26 -25 -25 -26 -26 -26 -26 -25 -24 -23 -22 -22 -21 -22 -22 -23 -24 -25 -26 -27 -29 -30 -30 -27 -23 -19 -18 -18 -17 -17 -18 -19 -21 -22 -24 -25 -26 -28 -30 -31 -28 -25 -25 -28 -31 -34 -36 -37 -39 -41 -41 -39 -37 -36 -37 -39 -39 -37 -35 -34 -36 -37 -37 -37 -37 -37 -38 -39 -40 -40 -39 -38 -37 -37 -36 -37 -39 -40 -40 -39 -37 -37 -38 -40 -42 -39 -32 -26 -21 -18 -17 -18 -19 -21 -22 -24 -27 -33 -39 -45 -50 -52 -51 -48 -46 -43 -42 -41 -42 -42 -44 -46 -46 -46 -44 -43 -41 -38 -36 -36 -36 -37 -39 -41 -43 -46 -47 -47 -47 -47 -46 -45 -45 -45 -44 -42 -40 -38 -36 -33 -30 -28 -26 -24 -23 -23 -24 -25 -27 -30 -33 -36 -37 -38 -39 -40 -42 -43 -41 -36 -28 -22 -18 -17 -18 -18 -19 -20 -20 -19 -19 -18 -17 -17 -17 -17 -20 -25 -29 -33 -37 -40 -42 -43 -45 -45 -43 -42 -43 -45 -47 -45 -43 -42 -40 -38 -41 -46 -50 -52 -54 -55 -51 -45 -39 -36 -34 -35 -36 -37 -37 -40 -41 -41 -40 -38 -40 -40 -40 -40 -38 -36 -34 -33 -35 -38 -44 -49 -51 -52 -51 -51 -51 -52 -53 -52 -52 -52 -51 -48 -43 -41 -44 -46 -45 -42 -42 -43 -45 -46 -47 -48 -48 -48 -47 -46 -44 -43 -43 -43 -42 -41 -40 -39 -37 -35 -34 -33 -32 -31 -30 -30 -29 -28 -27 -27 -28 -28 -27 -27 -29 -28 -20 -15 -15 -18 -18 -15 -12 -13 -18 -18 -19 -19 -21 -21 -21 -21 -22 -22 -21 -16 -14 -9 -3 -2 0 0 -21 -23 -26 -25 -23 -21 -20 -21 -22 -22 -22 -22 -25 -28 -26 -23 -22 -20 -18 -17 -17 -17 -18 -19 -19 -17 -16 -14 -12 -11 -12 -12 -14 -15 -15 -15 -15 -15 -14 -14 -15 -14 -14 -13 -13 -13 -14 -13 -13 -13 -14 -15 -16 -17 -18 -19 -21 -21 -21 -21 -22 -23 -24 -26 -25 -22 -19 -16 -16 -18 -20 -21 -22 -22 -23 -25 -27 -30 -33 -35 -34 -32 -28 -26 -24 -22 -22 -23 -24 -28 -33 -38 -43 -45 -45 -42 -40 -40 -40 -35 -30 -27 -27 -27 -26 -25 -25 -26 -26 -26 -26 -25 -24 -23 -22 -22 -22 -22 -23 -24 -25 -26 -27 -29 -29 -29 -27 -24 -20 -18 -16 -16 -17 -17 -18 -20 -22 -24 -25 -27 -28 -28 -29 -31 -31 -28 -25 -24 -25 -27 -30 -35 -42 -49 -52 -51 -47 -42 -39 -42 -44 -43 -39 -35 -36 -37 -38 -39 -39 -39 -39 -39 -39 -39 -39 -40 -39 -38 -37 -38 -39 -41 -41 -41 -38 -38 -39 -41 -44 -43 -38 -33 -27 -23 -19 -18 -19 -21 -23 -24 -26 -30 -35 -41 -47 -52 -54 -54 -50 -45 -44 -44 -44 -43 -43 -45 -46 -46 -46 -45 -44 -42 -40 -38 -36 -36 -37 -39 -41 -44 -46 -47 -47 -47 -46 -46 -45 -45 -45 -44 -42 -40 -37 -34 -31 -28 -26 -24 -24 -24 -25 -27 -30 -33 -36 -37 -39 -40 -42 -44 -45 -43 -37 -29 -21 -17 -17 -17 -17 -18 -18 -18 -18 -18 -18 -18 -19 -21 -23 -23 -25 -29 -33 -36 -39 -42 -45 -46 -47 -48 -47 -44 -44 -45 -43 -39 -35 -34 -35 -36 -41 -47 -52 -56 -58 -56 -48 -40 -36 -33 -33 -34 -35 -35 -34 -33 -31 -31 -33 -36 -39 -40 -40 -40 -38 -36 -35 -36 -39 -42 -46 -49 -51 -51 -51 -51 -52 -52 -53 -53 -52 -52 -52 -50 -46 -44 -47 -50 -48 -44 -46 -47 -49 -50 -50 -49 -50 -49 -48 -46 -44 -44 -43 -43 -42 -40 -40 -39 -37 -36 -34 -33 -32 -33 -32 -31 -30 -29 -29 -30 -29 -28 -28 -28 -31 -29 -22 -17 -16 -16 -17 -17 -15 -14 -17 -19 -20 -21 -22 -22 -22 -23 -23 -22 -22 -21 -19 -14 -6 -4 -1 -1 -21 -24 -26 -25 -22 -21 -20 -21 -22 -22 -22 -24 -31 -34 -31 -26 -21 -19 -18 -18 -18 -18 -17 -18 -18 -17 -15 -13 -13 -13 -12 -11 -12 -13 -14 -14 -15 -15 -16 -15 -15 -15 -14 -14 -14 -14 -14 -13 -12 -13 -14 -16 -17 -18 -19 -20 -21 -21 -21 -21 -21 -23 -24 -25 -24 -21 -18 -17 -17 -18 -19 -21 -23 -26 -27 -27 -28 -31 -35 -38 -38 -36 -31 -27 -24 -22 -22 -23 -25 -28 -31 -34 -38 -42 -44 -43 -42 -40 -41 -38 -33 -28 -27 -27 -27 -26 -26 -26 -26 -26 -26 -26 -25 -24 -23 -23 -23 -23 -24 -25 -26 -27 -28 -30 -30 -27 -24 -20 -17 -15 -15 -15 -16 -16 -17 -19 -22 -23 -25 -24 -24 -26 -28 -31 -31 -27 -22 -21 -23 -26 -30 -36 -43 -50 -54 -55 -53 -49 -44 -44 -45 -44 -40 -36 -38 -39 -39 -39 -40 -41 -42 -42 -41 -40 -40 -40 -40 -39 -38 -38 -39 -41 -42 -42 -40 -38 -39 -42 -45 -48 -45 -41 -36 -33 -28 -22 -20 -21 -23 -25 -27 -30 -34 -39 -44 -49 -52 -53 -51 -47 -45 -46 -46 -44 -42 -43 -44 -45 -46 -46 -46 -45 -43 -41 -39 -38 -37 -38 -40 -42 -44 -45 -46 -46 -46 -46 -45 -44 -44 -43 -43 -40 -37 -33 -30 -27 -25 -24 -24 -25 -27 -29 -32 -35 -37 -39 -40 -42 -45 -47 -46 -41 -33 -23 -17 -15 -15 -16 -16 -17 -17 -17 -17 -17 -18 -21 -24 -28 -33 -33 -32 -32 -33 -36 -39 -44 -47 -48 -47 -48 -47 -47 -47 -45 -40 -37 -35 -33 -34 -36 -41 -46 -53 -59 -61 -55 -46 -38 -36 -33 -32 -33 -33 -35 -35 -33 -30 -29 -30 -34 -37 -39 -40 -39 -38 -37 -36 -39 -43 -44 -47 -49 -51 -51 -51 -52 -52 -52 -53 -53 -53 -52 -52 -52 -49 -47 -49 -50 -48 -46 -49 -50 -51 -52 -51 -51 -51 -51 -49 -47 -45 -44 -43 -43 -42 -41 -40 -39 -38 -36 -34 -33 -33 -34 -33 -32 -30 -29 -29 -29 -26 -24 -24 -25 -30 -30 -25 -20 -18 -15 -16 -17 -18 -18 -19 -21 -22 -23 -23 -23 -23 -22 -21 -22 -22 -21 -20 -17 -11 -8 -3 -1 -22 -25 -26 -24 -21 -19 -19 -20 -21 -20 -21 -25 -31 -33 -30 -25 -21 -20 -21 -21 -22 -22 -20 -17 -15 -13 -11 -11 -13 -15 -15 -13 -11 -12 -13 -14 -15 -16 -17 -17 -17 -16 -16 -15 -15 -16 -16 -15 -14 -13 -14 -16 -17 -17 -17 -18 -19 -19 -19 -19 -20 -22 -24 -24 -22 -20 -19 -19 -20 -20 -21 -23 -25 -27 -28 -28 -28 -31 -35 -39 -40 -39 -35 -29 -25 -23 -23 -24 -25 -27 -29 -31 -33 -36 -40 -43 -43 -42 -42 -41 -37 -31 -28 -28 -28 -27 -26 -25 -26 -26 -26 -26 -25 -24 -24 -24 -24 -24 -25 -26 -26 -27 -29 -30 -30 -27 -23 -18 -15 -14 -14 -15 -15 -15 -17 -19 -21 -22 -21 -19 -20 -23 -28 -33 -32 -27 -23 -21 -23 -26 -32 -38 -45 -50 -53 -54 -54 -53 -50 -48 -46 -43 -40 -39 -42 -43 -43 -42 -41 -42 -44 -45 -45 -44 -42 -41 -40 -40 -39 -39 -40 -41 -43 -43 -41 -40 -39 -41 -46 -51 -51 -48 -44 -43 -37 -29 -23 -22 -24 -26 -28 -31 -35 -39 -43 -47 -50 -52 -52 -50 -48 -48 -48 -46 -43 -43 -44 -44 -45 -46 -47 -47 -46 -44 -41 -39 -39 -40 -42 -43 -44 -45 -46 -47 -47 -48 -48 -46 -43 -42 -42 -40 -36 -32 -28 -25 -24 -23 -24 -25 -28 -31 -34 -36 -38 -40 -42 -44 -46 -48 -45 -38 -29 -20 -16 -15 -15 -14 -15 -15 -17 -18 -19 -19 -21 -26 -30 -34 -35 -35 -33 -33 -33 -35 -38 -43 -47 -47 -44 -44 -42 -42 -42 -40 -36 -36 -36 -36 -36 -37 -40 -45 -52 -60 -62 -54 -45 -39 -36 -34 -32 -31 -31 -33 -34 -34 -33 -32 -31 -32 -35 -38 -39 -39 -38 -37 -38 -41 -45 -45 -47 -49 -52 -52 -51 -51 -51 -51 -51 -51 -51 -51 -52 -53 -51 -48 -46 -45 -46 -47 -51 -52 -52 -52 -52 -52 -51 -51 -49 -47 -46 -45 -43 -43 -42 -42 -41 -41 -39 -37 -34 -32 -33 -35 -34 -32 -30 -29 -29 -27 -22 -20 -20 -21 -26 -30 -28 -24 -22 -19 -18 -18 -19 -20 -21 -22 -23 -23 -24 -24 -23 -21 -19 -22 -22 -21 -20 -17 -12 -9 -5 -2 -23 -26 -27 -24 -20 -18 -18 -19 -20 -21 -22 -25 -28 -28 -24 -21 -20 -22 -26 -27 -25 -22 -18 -14 -11 -8 -6 -7 -10 -15 -17 -16 -13 -13 -13 -14 -16 -17 -18 -18 -18 -18 -18 -18 -17 -18 -19 -19 -15 -13 -13 -14 -15 -15 -15 -15 -15 -15 -15 -17 -19 -20 -20 -20 -20 -20 -21 -22 -24 -25 -26 -27 -27 -27 -27 -26 -27 -29 -33 -37 -40 -41 -38 -31 -25 -23 -22 -23 -25 -26 -27 -28 -29 -32 -37 -42 -45 -45 -42 -40 -38 -34 -29 -28 -29 -29 -27 -25 -26 -26 -26 -26 -26 -26 -26 -26 -26 -27 -27 -27 -27 -28 -29 -30 -30 -28 -23 -18 -15 -15 -15 -15 -15 -15 -17 -19 -20 -20 -18 -17 -18 -22 -28 -33 -32 -30 -27 -24 -23 -27 -33 -40 -46 -50 -50 -50 -51 -52 -53 -52 -49 -44 -41 -42 -46 -48 -49 -48 -44 -43 -45 -48 -50 -50 -45 -41 -40 -40 -40 -41 -41 -42 -43 -45 -44 -42 -41 -41 -45 -49 -51 -50 -46 -43 -40 -33 -27 -22 -24 -27 -29 -32 -36 -39 -43 -45 -47 -49 -51 -52 -51 -50 -49 -48 -46 -45 -45 -45 -45 -46 -48 -48 -48 -46 -43 -41 -41 -41 -42 -44 -46 -49 -51 -51 -51 -52 -51 -50 -47 -45 -43 -40 -36 -31 -27 -24 -22 -22 -23 -24 -27 -30 -33 -35 -37 -38 -41 -43 -45 -45 -40 -33 -25 -19 -16 -15 -15 -14 -14 -15 -18 -22 -26 -27 -26 -27 -31 -35 -36 -36 -35 -34 -34 -35 -37 -39 -40 -40 -38 -37 -35 -35 -36 -35 -32 -33 -35 -38 -39 -39 -41 -45 -50 -56 -55 -47 -42 -39 -37 -34 -31 -29 -29 -30 -32 -34 -35 -36 -38 -34 -35 -37 -40 -41 -40 -39 -41 -44 -48 -47 -47 -49 -52 -52 -50 -49 -49 -49 -49 -49 -49 -50 -51 -52 -48 -42 -39 -40 -44 -49 -52 -52 -52 -52 -52 -51 -51 -50 -49 -46 -45 -45 -44 -43 -43 -43 -42 -42 -40 -37 -35 -34 -34 -34 -34 -32 -30 -29 -29 -26 -22 -20 -19 -20 -23 -28 -31 -29 -26 -22 -20 -20 -21 -22 -23 -24 -24 -24 -25 -25 -24 -22 -20 -22 -22 -21 -20 -17 -9 -7 -5 -5 -24 -27 -27 -24 -20 -18 -18 -18 -20 -23 -25 -28 -28 -25 -21 -19 -20 -25 -30 -30 -26 -19 -13 -9 -5 -3 -3 -4 -7 -12 -15 -16 -16 -16 -15 -15 -17 -18 -18 -18 -18 -19 -22 -24 -23 -20 -18 -16 -13 -11 -11 -11 -11 -12 -13 -12 -11 -12 -13 -15 -16 -17 -17 -17 -18 -21 -24 -27 -28 -29 -30 -29 -27 -25 -24 -23 -23 -25 -27 -33 -38 -42 -42 -36 -28 -23 -22 -23 -25 -26 -26 -26 -27 -30 -35 -40 -44 -45 -42 -37 -35 -32 -29 -26 -28 -29 -28 -25 -24 -25 -25 -25 -25 -26 -27 -28 -28 -28 -29 -29 -29 -28 -28 -29 -29 -26 -22 -17 -16 -16 -16 -16 -15 -16 -17 -19 -21 -20 -17 -15 -16 -20 -25 -30 -32 -31 -29 -26 -23 -28 -35 -42 -46 -48 -47 -45 -45 -47 -52 -54 -51 -47 -45 -46 -49 -53 -55 -53 -48 -46 -48 -50 -52 -52 -48 -43 -40 -39 -40 -41 -42 -42 -43 -46 -49 -47 -45 -44 -46 -49 -50 -49 -45 -42 -39 -33 -27 -23 -24 -27 -30 -33 -37 -40 -42 -44 -45 -46 -49 -52 -53 -52 -51 -52 -51 -49 -47 -46 -46 -47 -48 -50 -50 -48 -45 -43 -42 -42 -44 -46 -48 -50 -52 -54 -53 -52 -51 -52 -52 -50 -48 -45 -41 -36 -30 -26 -24 -23 -23 -24 -26 -29 -31 -33 -35 -36 -38 -39 -39 -38 -33 -28 -22 -19 -18 -17 -18 -18 -19 -20 -23 -27 -30 -31 -31 -31 -34 -37 -38 -38 -38 -37 -36 -35 -36 -37 -36 -33 -29 -29 -30 -32 -34 -34 -32 -33 -36 -41 -41 -42 -42 -45 -49 -53 -50 -45 -43 -43 -41 -35 -31 -29 -27 -27 -29 -32 -35 -40 -45 -41 -38 -39 -43 -46 -45 -44 -46 -50 -53 -51 -50 -50 -51 -50 -48 -46 -47 -49 -49 -48 -48 -49 -51 -51 -46 -42 -41 -43 -49 -51 -52 -52 -52 -52 -52 -51 -51 -50 -49 -47 -45 -44 -44 -43 -43 -43 -43 -43 -42 -40 -37 -35 -35 -34 -33 -32 -31 -30 -31 -30 -27 -24 -21 -21 -23 -27 -31 -32 -29 -25 -22 -22 -22 -25 -26 -26 -26 -26 -25 -25 -25 -24 -23 -22 -22 -21 -20 -18 -12 -10 -10 -10 -24 -27 -27 -24 -21 -19 -18 -19 -21 -25 -29 -31 -31 -28 -25 -23 -25 -28 -30 -29 -23 -15 -9 -5 -2 -1 -3 -7 -9 -12 -14 -14 -13 -13 -15 -17 -18 -19 -20 -21 -21 -20 -20 -20 -20 -20 -18 -16 -14 -12 -11 -10 -11 -11 -11 -10 -10 -11 -12 -14 -15 -16 -16 -17 -19 -22 -25 -28 -28 -29 -30 -29 -27 -24 -22 -21 -21 -21 -23 -28 -35 -40 -43 -40 -32 -25 -21 -21 -24 -25 -25 -26 -26 -29 -33 -37 -42 -44 -41 -36 -33 -32 -32 -30 -28 -27 -26 -25 -24 -24 -24 -25 -26 -27 -28 -28 -29 -30 -31 -31 -31 -30 -28 -26 -26 -24 -21 -18 -19 -20 -19 -18 -16 -16 -17 -19 -19 -18 -14 -12 -13 -16 -20 -25 -28 -28 -26 -22 -22 -29 -37 -43 -45 -44 -41 -39 -39 -42 -48 -51 -51 -49 -48 -50 -53 -56 -57 -56 -52 -50 -50 -52 -54 -54 -52 -49 -45 -41 -38 -40 -43 -44 -43 -45 -49 -49 -48 -48 -49 -50 -50 -48 -46 -42 -39 -33 -27 -23 -24 -27 -32 -36 -39 -39 -40 -43 -45 -46 -46 -49 -52 -53 -54 -55 -55 -52 -49 -47 -46 -47 -49 -51 -52 -51 -48 -45 -43 -43 -44 -47 -49 -52 -54 -56 -57 -54 -50 -49 -51 -52 -53 -53 -51 -45 -38 -33 -30 -29 -28 -29 -30 -31 -32 -32 -35 -37 -37 -36 -34 -32 -29 -26 -23 -21 -20 -21 -23 -26 -27 -28 -28 -30 -31 -32 -34 -36 -38 -39 -40 -40 -40 -39 -38 -36 -36 -35 -33 -29 -27 -28 -29 -32 -35 -36 -36 -38 -42 -44 -44 -44 -45 -46 -49 -52 -53 -50 -49 -51 -49 -41 -34 -29 -27 -26 -27 -30 -34 -41 -49 -48 -45 -46 -50 -54 -54 -52 -52 -54 -56 -56 -54 -51 -50 -49 -47 -45 -46 -48 -48 -46 -45 -46 -49 -50 -50 -49 -48 -49 -51 -51 -51 -52 -52 -52 -52 -52 -51 -51 -50 -48 -46 -45 -44 -44 -45 -45 -45 -45 -45 -43 -39 -37 -35 -34 -33 -32 -32 -32 -32 -32 -31 -29 -25 -23 -24 -26 -29 -33 -32 -28 -25 -24 -24 -26 -27 -27 -27 -27 -26 -26 -25 -24 -24 -23 -22 -21 -21 -19 -16 -15 -15 -15 -25 -27 -27 -24 -21 -19 -18 -19 -23 -26 -30 -32 -34 -33 -31 -30 -30 -30 -28 -24 -19 -13 -8 -5 -2 -1 -3 -6 -7 -7 -8 -10 -11 -14 -16 -18 -20 -21 -22 -23 -23 -23 -22 -20 -19 -19 -18 -17 -15 -14 -12 -11 -10 -10 -10 -10 -10 -10 -12 -13 -14 -15 -16 -16 -18 -21 -24 -26 -26 -27 -29 -29 -28 -25 -23 -21 -19 -19 -21 -25 -31 -36 -40 -40 -35 -28 -22 -20 -22 -24 -25 -25 -26 -27 -30 -34 -39 -43 -42 -37 -33 -33 -34 -35 -32 -29 -27 -26 -25 -24 -24 -25 -26 -27 -28 -29 -31 -32 -33 -33 -32 -31 -29 -27 -25 -24 -22 -20 -19 -20 -20 -20 -19 -18 -18 -19 -19 -18 -14 -12 -12 -14 -17 -21 -25 -26 -25 -22 -23 -30 -38 -43 -44 -40 -36 -35 -36 -40 -45 -48 -49 -48 -48 -51 -54 -56 -57 -57 -55 -52 -51 -51 -52 -53 -53 -50 -46 -41 -36 -38 -42 -45 -44 -42 -44 -46 -46 -47 -47 -48 -47 -46 -44 -42 -39 -35 -32 -30 -31 -33 -35 -37 -38 -39 -40 -42 -45 -46 -45 -45 -48 -51 -54 -57 -57 -55 -51 -47 -46 -46 -48 -51 -53 -54 -51 -48 -45 -44 -45 -47 -50 -53 -57 -59 -57 -53 -49 -47 -48 -51 -53 -54 -54 -51 -47 -44 -40 -37 -34 -33 -33 -34 -34 -34 -36 -38 -39 -38 -37 -35 -33 -32 -32 -31 -30 -29 -28 -27 -28 -29 -29 -30 -31 -32 -35 -38 -41 -43 -43 -44 -43 -42 -41 -38 -38 -38 -38 -35 -29 -29 -31 -36 -42 -43 -44 -48 -50 -50 -47 -47 -47 -48 -49 -51 -54 -55 -54 -54 -53 -49 -42 -35 -31 -27 -26 -27 -32 -39 -48 -51 -52 -52 -55 -59 -59 -57 -57 -57 -56 -54 -52 -49 -48 -47 -48 -47 -47 -48 -46 -42 -41 -42 -45 -48 -51 -52 -51 -51 -51 -51 -51 -52 -52 -52 -52 -52 -51 -50 -50 -49 -48 -47 -47 -47 -47 -47 -46 -47 -46 -44 -41 -39 -36 -34 -33 -33 -33 -34 -33 -33 -32 -32 -30 -29 -29 -30 -31 -34 -34 -31 -28 -26 -25 -26 -27 -27 -28 -27 -26 -25 -24 -25 -24 -23 -23 -22 -21 -20 -18 -17 -16 -16 -26 -27 -27 -25 -22 -20 -18 -20 -23 -26 -29 -30 -32 -34 -34 -32 -30 -28 -26 -22 -18 -15 -13 -11 -6 -2 -1 -4 -7 -7 -7 -8 -10 -13 -16 -18 -18 -19 -20 -22 -21 -21 -21 -21 -20 -19 -18 -19 -19 -17 -15 -13 -11 -10 -11 -11 -11 -12 -13 -14 -15 -15 -15 -16 -18 -20 -22 -23 -24 -26 -28 -29 -28 -26 -23 -20 -18 -18 -20 -23 -27 -31 -35 -37 -35 -29 -24 -20 -21 -23 -24 -25 -25 -26 -28 -32 -36 -41 -42 -38 -35 -34 -35 -36 -36 -34 -31 -29 -28 -26 -24 -24 -26 -28 -29 -30 -31 -32 -32 -32 -32 -30 -28 -28 -27 -25 -24 -22 -22 -21 -21 -21 -22 -22 -21 -20 -19 -17 -15 -13 -13 -14 -15 -17 -17 -18 -19 -21 -25 -32 -38 -42 -42 -39 -35 -34 -35 -39 -42 -44 -43 -42 -41 -44 -47 -50 -53 -55 -55 -51 -48 -46 -46 -46 -45 -43 -41 -38 -35 -35 -39 -42 -42 -41 -42 -42 -43 -42 -43 -45 -45 -44 -43 -42 -40 -36 -33 -31 -32 -34 -35 -37 -37 -39 -41 -44 -47 -48 -46 -44 -45 -48 -53 -57 -58 -56 -51 -48 -46 -46 -48 -50 -53 -55 -54 -50 -46 -44 -45 -46 -49 -52 -57 -61 -63 -60 -55 -49 -47 -47 -49 -51 -52 -52 -50 -48 -44 -41 -36 -33 -33 -34 -35 -36 -38 -40 -41 -42 -40 -38 -37 -36 -35 -34 -32 -31 -30 -28 -28 -29 -29 -30 -31 -33 -36 -40 -44 -46 -47 -47 -46 -45 -43 -40 -39 -40 -41 -40 -33 -32 -36 -40 -43 -46 -50 -55 -58 -56 -51 -50 -51 -51 -51 -52 -54 -56 -57 -56 -54 -52 -49 -45 -40 -33 -30 -29 -31 -37 -45 -52 -55 -55 -56 -58 -59 -59 -59 -59 -56 -52 -49 -46 -46 -45 -46 -48 -49 -49 -44 -39 -38 -41 -43 -47 -50 -52 -53 -51 -50 -50 -52 -53 -52 -51 -50 -50 -49 -49 -49 -49 -49 -49 -49 -49 -48 -47 -47 -47 -46 -45 -43 -40 -36 -34 -33 -34 -35 -36 -35 -34 -34 -33 -31 -31 -32 -35 -36 -36 -35 -33 -30 -27 -26 -26 -27 -27 -28 -28 -27 -25 -24 -25 -25 -24 -23 -23 -21 -20 -19 -17 -16 -16 -27 -28 -27 -25 -22 -20 -20 -22 -25 -26 -27 -29 -30 -31 -33 -32 -30 -28 -26 -24 -19 -15 -12 -10 -7 -5 -2 -2 -4 -5 -6 -8 -11 -15 -16 -16 -16 -16 -17 -20 -20 -20 -21 -22 -20 -19 -19 -20 -22 -21 -19 -16 -14 -12 -12 -13 -13 -14 -14 -14 -15 -15 -15 -15 -16 -18 -19 -21 -22 -24 -26 -27 -27 -25 -22 -19 -18 -19 -21 -23 -25 -27 -30 -32 -32 -29 -26 -22 -20 -22 -24 -25 -24 -25 -26 -29 -33 -38 -41 -41 -38 -36 -34 -35 -36 -36 -33 -30 -29 -28 -26 -25 -26 -29 -31 -32 -32 -31 -30 -30 -29 -28 -27 -27 -28 -28 -26 -25 -26 -25 -24 -24 -25 -27 -26 -24 -22 -21 -19 -17 -14 -13 -14 -14 -14 -15 -17 -22 -28 -34 -38 -40 -40 -38 -35 -34 -34 -36 -39 -41 -40 -37 -35 -35 -37 -41 -46 -51 -54 -51 -47 -44 -42 -39 -37 -37 -37 -36 -35 -34 -35 -37 -39 -42 -44 -43 -42 -40 -41 -43 -43 -43 -42 -41 -40 -37 -34 -32 -32 -33 -36 -39 -41 -42 -43 -45 -47 -48 -47 -45 -45 -47 -50 -56 -58 -57 -53 -49 -47 -47 -47 -49 -52 -55 -54 -50 -46 -44 -45 -45 -47 -50 -53 -58 -63 -65 -61 -55 -50 -48 -48 -49 -50 -51 -51 -51 -50 -47 -41 -37 -34 -34 -35 -37 -39 -41 -43 -44 -41 -39 -38 -38 -37 -37 -34 -32 -30 -29 -29 -28 -29 -29 -31 -33 -37 -42 -46 -49 -49 -47 -45 -41 -39 -38 -38 -41 -44 -44 -40 -39 -40 -42 -44 -47 -52 -57 -61 -60 -54 -53 -54 -55 -55 -55 -55 -56 -58 -59 -57 -55 -53 -51 -46 -43 -40 -37 -36 -42 -49 -53 -55 -55 -56 -58 -59 -59 -58 -58 -55 -51 -48 -47 -48 -46 -46 -47 -49 -50 -45 -40 -39 -42 -45 -48 -50 -52 -52 -51 -48 -49 -52 -53 -52 -51 -51 -50 -50 -49 -49 -50 -50 -51 -51 -51 -49 -48 -47 -47 -46 -45 -44 -41 -37 -36 -35 -36 -38 -38 -38 -37 -36 -34 -30 -28 -30 -34 -37 -37 -37 -35 -32 -28 -26 -26 -27 -27 -28 -28 -28 -27 -26 -26 -26 -25 -24 -23 -22 -20 -19 -17 -16 -15 -28 -27 -25 -22 -20 -19 -21 -24 -26 -26 -26 -28 -29 -31 -32 -31 -28 -25 -24 -22 -19 -16 -12 -9 -7 -5 -3 -2 -3 -5 -7 -10 -13 -16 -16 -15 -15 -16 -17 -17 -18 -19 -21 -21 -20 -19 -19 -21 -23 -23 -22 -20 -19 -17 -15 -14 -14 -14 -14 -14 -14 -14 -14 -13 -15 -16 -17 -19 -22 -24 -25 -25 -25 -23 -20 -18 -18 -19 -21 -23 -24 -25 -27 -28 -29 -28 -26 -24 -21 -21 -23 -24 -25 -24 -26 -28 -31 -35 -40 -42 -41 -38 -34 -32 -33 -34 -33 -30 -29 -29 -29 -28 -28 -30 -33 -34 -33 -30 -27 -27 -26 -26 -26 -27 -28 -29 -29 -30 -32 -32 -30 -28 -28 -31 -31 -31 -30 -30 -28 -23 -19 -17 -16 -14 -13 -15 -19 -23 -28 -32 -35 -37 -37 -36 -33 -31 -31 -32 -36 -38 -38 -37 -34 -33 -34 -36 -40 -44 -48 -47 -44 -39 -36 -36 -35 -36 -36 -36 -36 -36 -36 -38 -40 -44 -47 -47 -44 -41 -40 -41 -42 -42 -42 -41 -39 -36 -34 -33 -33 -34 -35 -37 -40 -43 -45 -46 -47 -48 -47 -46 -46 -47 -49 -53 -55 -55 -53 -51 -49 -48 -47 -48 -51 -54 -53 -50 -46 -44 -45 -45 -45 -47 -50 -54 -59 -63 -64 -60 -54 -51 -49 -48 -48 -49 -51 -52 -52 -48 -45 -41 -38 -37 -37 -38 -39 -41 -42 -43 -40 -37 -36 -38 -40 -41 -39 -34 -30 -30 -30 -29 -29 -30 -31 -34 -37 -41 -45 -46 -45 -43 -39 -33 -31 -33 -36 -42 -47 -47 -45 -43 -43 -44 -46 -49 -53 -57 -60 -58 -55 -56 -58 -59 -59 -58 -58 -58 -59 -60 -59 -58 -56 -54 -50 -48 -45 -42 -40 -42 -46 -49 -52 -54 -57 -58 -57 -56 -55 -55 -54 -52 -50 -50 -51 -50 -49 -49 -50 -48 -43 -40 -39 -42 -46 -50 -52 -52 -50 -51 -49 -49 -51 -52 -51 -51 -51 -51 -51 -50 -51 -51 -52 -52 -52 -52 -50 -49 -48 -47 -45 -43 -43 -43 -40 -39 -39 -39 -40 -40 -39 -39 -38 -36 -32 -29 -31 -35 -38 -39 -39 -38 -36 -32 -28 -27 -27 -27 -28 -28 -28 -28 -28 -28 -27 -26 -24 -19 -17 -16 -16 -16 -17 -16 -27 -25 -22 -19 -19 -20 -22 -24 -26 -27 -27 -27 -29 -30 -32 -30 -27 -25 -23 -22 -19 -15 -11 -8 -5 -4 -4 -4 -5 -7 -9 -12 -15 -17 -17 -16 -16 -17 -17 -15 -15 -17 -19 -20 -19 -18 -19 -20 -21 -22 -22 -22 -22 -21 -19 -17 -16 -16 -15 -14 -13 -13 -12 -11 -12 -13 -16 -18 -21 -23 -24 -23 -22 -20 -18 -17 -18 -19 -22 -23 -24 -25 -25 -25 -26 -26 -27 -26 -24 -23 -22 -23 -24 -23 -24 -27 -30 -34 -38 -40 -41 -39 -36 -32 -32 -32 -31 -30 -30 -31 -33 -32 -31 -31 -34 -34 -32 -29 -26 -24 -23 -23 -25 -26 -28 -30 -32 -34 -38 -39 -37 -34 -33 -34 -35 -36 -37 -39 -36 -30 -24 -21 -19 -15 -14 -16 -20 -24 -27 -30 -32 -33 -33 -32 -30 -28 -28 -29 -33 -37 -40 -41 -38 -35 -34 -34 -36 -38 -42 -44 -42 -39 -37 -36 -36 -36 -36 -37 -37 -38 -39 -40 -42 -45 -48 -50 -48 -44 -40 -40 -42 -42 -42 -40 -37 -34 -32 -33 -35 -35 -35 -35 -36 -40 -43 -46 -47 -48 -48 -46 -46 -46 -48 -50 -52 -53 -53 -53 -51 -50 -48 -47 -48 -51 -52 -49 -46 -44 -45 -45 -45 -46 -48 -51 -55 -58 -61 -61 -58 -55 -52 -49 -48 -48 -49 -51 -51 -48 -43 -41 -42 -43 -41 -38 -36 -35 -36 -37 -36 -34 -33 -34 -40 -44 -42 -36 -30 -29 -31 -31 -30 -30 -32 -34 -37 -40 -44 -45 -41 -36 -32 -31 -33 -37 -42 -46 -50 -49 -47 -46 -46 -47 -49 -51 -53 -57 -60 -58 -58 -59 -61 -62 -62 -61 -60 -60 -60 -60 -59 -58 -57 -55 -53 -51 -49 -46 -43 -42 -44 -46 -49 -52 -54 -54 -53 -52 -52 -54 -55 -56 -54 -53 -54 -53 -52 -51 -49 -44 -39 -37 -39 -43 -47 -51 -51 -47 -44 -52 -53 -52 -50 -50 -51 -52 -53 -53 -53 -52 -52 -52 -52 -52 -52 -51 -51 -50 -49 -47 -41 -38 -39 -43 -43 -42 -41 -42 -42 -41 -40 -40 -39 -38 -36 -34 -35 -38 -39 -41 -41 -41 -39 -35 -31 -29 -28 -27 -29 -29 -29 -29 -29 -29 -29 -26 -20 -11 -9 -7 -8 -12 -17 -17 -26 -24 -21 -18 -18 -20 -23 -25 -27 -27 -27 -28 -29 -30 -30 -29 -27 -25 -24 -23 -19 -15 -11 -7 -5 -5 -6 -7 -7 -8 -10 -13 -15 -17 -19 -18 -17 -17 -17 -16 -16 -16 -17 -17 -17 -17 -17 -17 -17 -18 -19 -20 -21 -24 -23 -21 -19 -17 -15 -13 -11 -10 -9 -8 -9 -11 -14 -16 -18 -20 -22 -21 -20 -17 -17 -17 -19 -21 -23 -25 -25 -25 -24 -23 -24 -25 -26 -27 -27 -26 -25 -25 -25 -24 -22 -24 -28 -33 -37 -40 -41 -41 -37 -32 -31 -32 -33 -32 -31 -32 -32 -32 -32 -33 -34 -34 -32 -28 -25 -23 -23 -23 -25 -27 -28 -28 -30 -35 -40 -41 -40 -38 -37 -37 -35 -36 -38 -40 -38 -31 -25 -21 -18 -15 -14 -16 -20 -24 -26 -29 -30 -30 -29 -28 -27 -26 -26 -27 -31 -36 -41 -43 -41 -36 -34 -33 -34 -35 -36 -37 -37 -37 -36 -37 -36 -36 -36 -36 -36 -38 -39 -42 -45 -48 -48 -48 -49 -47 -42 -40 -41 -42 -42 -39 -36 -33 -31 -33 -36 -39 -38 -36 -34 -36 -39 -42 -45 -47 -49 -48 -46 -45 -45 -46 -48 -49 -51 -52 -53 -51 -48 -46 -46 -49 -50 -48 -45 -44 -44 -44 -44 -45 -46 -49 -51 -54 -56 -59 -60 -59 -56 -53 -51 -49 -50 -50 -49 -44 -40 -39 -41 -42 -42 -41 -40 -38 -37 -35 -34 -32 -30 -31 -36 -40 -40 -36 -31 -31 -34 -34 -32 -31 -33 -35 -37 -40 -43 -47 -45 -39 -33 -31 -36 -45 -51 -53 -52 -51 -51 -51 -52 -52 -52 -53 -54 -56 -57 -58 -60 -62 -63 -63 -62 -61 -60 -60 -59 -57 -56 -54 -53 -53 -53 -52 -51 -48 -46 -44 -44 -46 -47 -49 -50 -50 -51 -51 -51 -55 -59 -61 -60 -57 -56 -55 -54 -52 -48 -42 -37 -36 -39 -43 -48 -51 -48 -41 -42 -52 -55 -53 -49 -49 -51 -53 -55 -55 -54 -53 -53 -54 -54 -53 -53 -52 -51 -50 -50 -47 -39 -33 -35 -43 -44 -43 -43 -44 -43 -41 -41 -40 -40 -39 -38 -38 -38 -39 -40 -42 -42 -42 -40 -37 -33 -30 -28 -28 -29 -30 -30 -30 -30 -30 -29 -25 -16 -8 -7 -5 -6 -10 -18 -18 -26 -24 -21 -18 -19 -21 -23 -25 -26 -27 -28 -28 -28 -29 -28 -26 -25 -24 -24 -22 -19 -15 -11 -8 -7 -7 -8 -9 -10 -10 -11 -13 -15 -18 -20 -21 -19 -17 -17 -18 -17 -15 -15 -15 -15 -15 -15 -14 -14 -14 -14 -15 -17 -20 -21 -20 -18 -15 -12 -11 -10 -9 -7 -7 -8 -10 -12 -14 -17 -18 -19 -19 -18 -17 -17 -19 -21 -23 -26 -27 -26 -24 -22 -22 -22 -23 -25 -26 -28 -27 -27 -27 -26 -25 -22 -21 -23 -28 -32 -37 -41 -41 -39 -34 -32 -32 -33 -33 -32 -32 -31 -32 -34 -35 -34 -33 -31 -28 -25 -24 -24 -25 -27 -30 -30 -30 -29 -32 -37 -39 -39 -39 -39 -37 -35 -35 -36 -39 -37 -29 -22 -16 -14 -14 -14 -15 -17 -20 -24 -27 -29 -29 -28 -26 -25 -24 -24 -25 -28 -33 -38 -41 -40 -36 -33 -33 -34 -34 -33 -32 -33 -34 -35 -36 -36 -37 -36 -36 -35 -36 -39 -43 -46 -48 -48 -48 -48 -47 -44 -41 -41 -42 -42 -41 -38 -34 -30 -30 -35 -40 -41 -39 -34 -33 -35 -38 -41 -46 -49 -49 -46 -44 -42 -42 -43 -45 -48 -53 -54 -51 -47 -45 -46 -47 -47 -46 -45 -44 -44 -44 -44 -45 -45 -47 -48 -49 -51 -55 -58 -60 -59 -58 -54 -52 -52 -52 -50 -44 -41 -41 -41 -43 -44 -45 -43 -41 -39 -38 -35 -32 -31 -32 -37 -40 -40 -39 -38 -38 -39 -39 -37 -35 -35 -36 -38 -40 -43 -46 -46 -41 -36 -34 -37 -42 -48 -53 -56 -56 -57 -57 -58 -57 -56 -56 -55 -55 -55 -58 -61 -64 -65 -64 -61 -60 -60 -60 -59 -57 -55 -53 -52 -51 -51 -51 -51 -50 -48 -47 -45 -45 -45 -46 -47 -48 -49 -51 -53 -58 -60 -62 -63 -60 -58 -56 -54 -51 -47 -41 -37 -36 -39 -43 -48 -52 -50 -45 -45 -51 -54 -53 -49 -50 -53 -55 -56 -55 -54 -54 -54 -55 -55 -55 -54 -53 -52 -52 -51 -49 -42 -35 -35 -42 -44 -44 -44 -45 -43 -42 -42 -42 -41 -40 -39 -39 -40 -41 -41 -42 -43 -43 -41 -38 -34 -31 -29 -29 -29 -30 -30 -30 -27 -27 -27 -23 -13 -9 -8 -6 -7 -10 -19 -19 -25 -23 -21 -19 -20 -22 -23 -25 -26 -27 -27 -27 -26 -25 -24 -23 -22 -21 -21 -19 -16 -12 -9 -8 -10 -11 -12 -13 -14 -14 -14 -15 -16 -18 -19 -20 -20 -21 -23 -22 -17 -14 -14 -15 -15 -15 -13 -12 -11 -11 -11 -11 -12 -15 -16 -16 -15 -13 -11 -11 -10 -9 -8 -7 -8 -10 -11 -13 -15 -17 -18 -19 -18 -18 -19 -20 -23 -25 -27 -27 -26 -24 -22 -21 -22 -23 -24 -26 -27 -27 -27 -28 -28 -26 -24 -22 -22 -24 -28 -34 -38 -40 -39 -36 -34 -33 -33 -33 -31 -30 -30 -31 -33 -34 -33 -32 -30 -28 -26 -25 -25 -26 -27 -29 -30 -30 -30 -33 -37 -38 -39 -40 -40 -37 -34 -32 -32 -34 -34 -28 -22 -17 -15 -12 -11 -13 -16 -19 -22 -26 -28 -28 -27 -25 -23 -21 -21 -22 -25 -29 -33 -36 -35 -33 -31 -33 -35 -37 -33 -32 -32 -33 -34 -35 -36 -36 -36 -35 -34 -35 -38 -42 -45 -46 -46 -47 -48 -47 -46 -43 -42 -42 -43 -42 -38 -32 -28 -27 -32 -36 -38 -37 -34 -32 -32 -34 -38 -43 -47 -47 -46 -44 -41 -39 -39 -41 -46 -51 -53 -50 -47 -45 -46 -46 -46 -45 -44 -43 -43 -44 -45 -46 -46 -47 -47 -48 -48 -51 -54 -58 -60 -62 -59 -55 -54 -53 -50 -46 -45 -44 -44 -45 -48 -49 -49 -48 -44 -41 -37 -34 -35 -37 -42 -45 -46 -46 -48 -48 -48 -47 -46 -42 -39 -39 -39 -41 -43 -45 -44 -41 -40 -42 -45 -47 -49 -53 -57 -60 -62 -62 -62 -61 -60 -59 -58 -58 -58 -61 -64 -67 -68 -65 -61 -60 -60 -60 -60 -58 -57 -55 -53 -51 -51 -51 -51 -51 -50 -48 -46 -44 -43 -44 -45 -47 -49 -52 -55 -55 -55 -56 -62 -62 -59 -56 -53 -49 -45 -40 -37 -37 -39 -43 -48 -53 -54 -51 -51 -53 -54 -54 -51 -52 -54 -56 -56 -55 -54 -54 -54 -55 -55 -55 -55 -54 -52 -52 -52 -50 -45 -40 -39 -43 -45 -45 -45 -45 -43 -43 -43 -43 -42 -42 -42 -42 -43 -43 -43 -44 -44 -44 -42 -39 -35 -32 -31 -31 -30 -31 -30 -28 -22 -21 -23 -21 -14 -11 -9 -8 -7 -10 -19 -21 -24 -23 -22 -21 -21 -23 -24 -25 -26 -28 -28 -26 -24 -22 -19 -19 -19 -20 -18 -15 -12 -9 -7 -6 -8 -10 -12 -14 -16 -17 -17 -17 -17 -18 -19 -21 -24 -25 -24 -20 -16 -13 -13 -16 -17 -16 -13 -10 -8 -9 -9 -9 -10 -11 -12 -12 -12 -11 -11 -10 -9 -9 -8 -9 -10 -10 -11 -13 -15 -16 -17 -18 -18 -19 -20 -22 -24 -26 -27 -27 -26 -25 -23 -22 -23 -23 -24 -25 -26 -26 -27 -27 -28 -27 -26 -25 -24 -24 -27 -30 -34 -37 -37 -36 -34 -34 -34 -34 -31 -30 -29 -30 -30 -30 -30 -30 -29 -27 -25 -24 -25 -26 -27 -28 -29 -30 -32 -35 -38 -40 -41 -41 -39 -34 -30 -28 -28 -30 -31 -28 -21 -14 -12 -12 -12 -13 -15 -18 -21 -24 -26 -27 -27 -25 -22 -20 -19 -21 -22 -24 -27 -29 -29 -28 -28 -30 -34 -38 -35 -32 -31 -32 -33 -34 -35 -36 -35 -34 -34 -34 -36 -40 -43 -44 -45 -46 -47 -47 -47 -45 -43 -42 -43 -43 -39 -34 -28 -26 -29 -31 -33 -34 -34 -33 -32 -33 -36 -40 -43 -45 -47 -46 -42 -40 -39 -40 -42 -46 -49 -48 -47 -45 -46 -46 -45 -45 -44 -43 -43 -44 -45 -47 -48 -48 -50 -51 -52 -52 -52 -53 -57 -62 -62 -60 -56 -50 -44 -43 -44 -46 -47 -48 -50 -51 -52 -52 -50 -46 -40 -37 -37 -41 -46 -49 -52 -54 -58 -59 -59 -59 -57 -54 -47 -43 -42 -43 -46 -46 -45 -46 -47 -50 -52 -52 -51 -53 -58 -62 -64 -64 -64 -62 -62 -63 -63 -63 -64 -66 -68 -70 -70 -66 -62 -60 -59 -60 -61 -60 -58 -56 -54 -52 -52 -52 -52 -52 -51 -49 -47 -44 -42 -42 -44 -47 -51 -54 -56 -55 -54 -55 -62 -62 -61 -58 -53 -47 -42 -39 -37 -38 -39 -43 -48 -53 -55 -54 -53 -53 -53 -52 -52 -54 -57 -59 -57 -55 -55 -54 -54 -54 -55 -55 -54 -53 -52 -53 -53 -52 -50 -47 -45 -45 -45 -46 -46 -45 -45 -44 -44 -44 -43 -44 -44 -45 -45 -45 -45 -45 -45 -45 -44 -41 -37 -35 -34 -33 -33 -32 -30 -25 -21 -20 -19 -18 -15 -13 -11 -9 -8 -10 -18 -21 -25 -24 -23 -23 -23 -24 -25 -26 -28 -29 -28 -26 -23 -19 -17 -17 -18 -19 -17 -15 -12 -9 -7 -5 -7 -9 -12 -15 -18 -20 -20 -21 -21 -22 -22 -21 -21 -22 -21 -15 -11 -10 -12 -15 -14 -12 -10 -9 -8 -8 -9 -9 -9 -10 -10 -10 -10 -10 -10 -9 -8 -7 -7 -9 -10 -11 -12 -13 -15 -16 -16 -17 -18 -19 -21 -23 -24 -25 -26 -26 -26 -25 -24 -23 -23 -23 -24 -24 -25 -26 -26 -26 -26 -26 -26 -27 -27 -28 -29 -30 -32 -33 -34 -33 -31 -31 -32 -33 -32 -29 -28 -28 -27 -26 -27 -28 -29 -26 -24 -23 -23 -25 -28 -29 -30 -32 -35 -37 -38 -40 -41 -41 -38 -33 -29 -26 -25 -26 -27 -25 -20 -14 -11 -11 -12 -14 -16 -18 -19 -21 -23 -25 -27 -26 -23 -21 -20 -20 -21 -21 -22 -24 -28 -29 -29 -29 -31 -32 -32 -31 -31 -31 -32 -33 -35 -36 -36 -36 -35 -34 -35 -37 -41 -42 -43 -44 -46 -47 -47 -47 -44 -42 -41 -41 -38 -34 -30 -28 -28 -29 -31 -33 -35 -34 -32 -33 -35 -37 -39 -41 -42 -43 -42 -43 -43 -42 -41 -42 -44 -45 -45 -46 -47 -47 -46 -45 -43 -42 -43 -43 -45 -46 -48 -49 -52 -55 -59 -59 -58 -56 -55 -57 -61 -61 -57 -51 -45 -43 -44 -46 -48 -49 -48 -47 -48 -51 -52 -49 -43 -40 -40 -44 -48 -52 -56 -61 -63 -64 -65 -65 -65 -65 -59 -52 -47 -46 -49 -51 -54 -56 -57 -56 -56 -55 -54 -55 -59 -62 -64 -64 -64 -63 -62 -64 -68 -69 -70 -71 -71 -72 -71 -67 -63 -60 -58 -58 -59 -59 -58 -57 -55 -54 -53 -54 -54 -53 -52 -51 -50 -47 -42 -41 -43 -48 -53 -56 -56 -58 -60 -62 -63 -63 -62 -59 -54 -46 -42 -40 -40 -39 -40 -43 -47 -51 -54 -52 -51 -51 -50 -49 -50 -54 -58 -60 -60 -58 -57 -55 -53 -54 -55 -55 -54 -53 -53 -53 -53 -52 -51 -49 -47 -46 -45 -45 -46 -46 -46 -45 -45 -44 -44 -45 -46 -46 -46 -47 -47 -48 -47 -46 -45 -43 -40 -38 -37 -36 -35 -33 -31 -26 -23 -22 -21 -19 -17 -14 -12 -11 -10 -10 -14 -17 -25 -25 -25 -25 -25 -26 -27 -28 -29 -28 -26 -24 -21 -19 -17 -18 -18 -17 -15 -14 -12 -9 -6 -5 -8 -12 -14 -16 -17 -18 -18 -19 -22 -23 -20 -18 -17 -17 -16 -10 -7 -7 -9 -11 -9 -8 -8 -9 -8 -8 -8 -9 -9 -9 -10 -9 -9 -9 -9 -9 -7 -6 -6 -7 -8 -9 -11 -13 -14 -15 -15 -15 -17 -19 -21 -23 -24 -25 -26 -26 -26 -25 -24 -23 -23 -23 -24 -24 -25 -26 -26 -25 -24 -24 -25 -27 -30 -33 -33 -32 -31 -31 -31 -30 -28 -28 -29 -29 -29 -28 -27 -27 -26 -25 -26 -27 -27 -26 -23 -21 -22 -25 -28 -31 -34 -36 -36 -36 -37 -38 -39 -39 -38 -32 -28 -25 -23 -24 -26 -25 -20 -15 -11 -11 -12 -14 -16 -18 -19 -20 -22 -24 -26 -25 -24 -22 -21 -21 -20 -19 -19 -20 -23 -26 -28 -30 -31 -32 -33 -33 -32 -32 -33 -34 -35 -36 -37 -37 -37 -36 -35 -36 -39 -41 -41 -42 -44 -46 -49 -49 -47 -43 -39 -38 -35 -33 -31 -31 -30 -29 -30 -33 -34 -33 -32 -32 -34 -35 -36 -36 -37 -38 -40 -43 -46 -46 -44 -42 -41 -41 -43 -45 -47 -48 -47 -46 -44 -43 -43 -44 -45 -45 -45 -48 -52 -58 -63 -66 -65 -61 -56 -55 -57 -58 -55 -51 -46 -44 -44 -45 -46 -44 -41 -39 -41 -44 -48 -46 -44 -43 -45 -47 -49 -53 -56 -59 -60 -62 -64 -65 -66 -68 -66 -61 -54 -50 -51 -56 -60 -63 -62 -59 -58 -58 -57 -58 -60 -63 -64 -65 -66 -65 -65 -68 -71 -72 -72 -71 -71 -71 -71 -68 -64 -59 -56 -54 -55 -56 -57 -57 -56 -55 -54 -55 -55 -53 -51 -51 -50 -48 -43 -42 -43 -47 -52 -54 -55 -61 -66 -67 -64 -64 -63 -61 -54 -46 -44 -43 -43 -42 -41 -43 -46 -49 -51 -50 -50 -50 -49 -47 -48 -52 -56 -59 -61 -60 -58 -56 -54 -54 -55 -56 -55 -54 -53 -53 -52 -52 -51 -51 -49 -46 -45 -45 -46 -46 -47 -46 -45 -45 -45 -46 -47 -47 -48 -49 -50 -50 -48 -47 -47 -46 -44 -41 -40 -38 -37 -36 -34 -31 -27 -25 -24 -24 -20 -16 -14 -13 -12 -11 -11 -13 -25 -25 -26 -27 -27 -27 -28 -28 -28 -27 -25 -23 -21 -19 -19 -18 -17 -15 -14 -13 -12 -9 -7 -8 -13 -18 -19 -18 -17 -16 -16 -19 -21 -20 -18 -16 -14 -12 -10 -8 -7 -8 -9 -8 -7 -7 -8 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -6 -5 -5 -5 -7 -9 -11 -12 -12 -13 -14 -15 -18 -21 -23 -24 -25 -26 -26 -27 -26 -24 -22 -22 -23 -24 -25 -25 -26 -25 -24 -22 -22 -23 -27 -31 -36 -38 -36 -33 -32 -31 -30 -28 -26 -25 -24 -24 -25 -26 -27 -28 -27 -26 -25 -25 -25 -22 -21 -22 -24 -28 -32 -37 -38 -36 -34 -34 -36 -37 -37 -35 -29 -25 -24 -24 -26 -28 -27 -23 -17 -12 -12 -13 -14 -16 -18 -20 -20 -21 -22 -23 -23 -23 -23 -22 -22 -22 -20 -19 -18 -19 -22 -25 -28 -29 -31 -33 -34 -35 -34 -34 -34 -36 -37 -38 -40 -41 -40 -38 -36 -36 -39 -41 -42 -43 -46 -51 -53 -51 -46 -39 -36 -32 -31 -31 -32 -32 -31 -31 -32 -33 -33 -32 -32 -33 -34 -34 -35 -37 -38 -39 -43 -47 -49 -47 -43 -41 -40 -41 -44 -47 -49 -49 -48 -46 -46 -46 -46 -47 -46 -45 -46 -50 -57 -63 -66 -66 -63 -59 -55 -55 -54 -51 -48 -46 -46 -45 -44 -44 -43 -37 -34 -33 -36 -40 -42 -43 -47 -50 -49 -51 -53 -54 -55 -56 -58 -61 -64 -66 -69 -69 -66 -62 -57 -55 -59 -63 -67 -66 -60 -57 -57 -59 -61 -62 -63 -65 -66 -68 -68 -70 -72 -74 -75 -75 -73 -70 -68 -68 -66 -64 -60 -55 -52 -52 -54 -55 -56 -56 -55 -54 -54 -53 -52 -51 -50 -49 -46 -43 -43 -44 -47 -51 -55 -57 -62 -66 -66 -64 -65 -66 -63 -57 -50 -48 -48 -48 -46 -45 -44 -45 -45 -47 -48 -51 -51 -50 -46 -47 -50 -54 -57 -60 -58 -57 -56 -54 -55 -56 -57 -56 -55 -55 -54 -53 -52 -51 -50 -49 -47 -45 -45 -45 -47 -47 -46 -46 -45 -46 -47 -48 -50 -51 -52 -53 -54 -53 -52 -49 -47 -46 -44 -44 -42 -40 -39 -37 -36 -33 -30 -28 -29 -24 -19 -16 -15 -13 -13 -12 -11 -25 -26 -27 -28 -28 -28 -29 -28 -28 -26 -25 -23 -21 -19 -18 -17 -15 -14 -13 -12 -11 -9 -9 -11 -18 -22 -22 -20 -18 -18 -19 -20 -21 -20 -17 -15 -13 -10 -8 -6 -7 -10 -12 -11 -8 -7 -8 -8 -8 -8 -8 -8 -7 -6 -5 -5 -5 -6 -5 -5 -5 -5 -5 -5 -5 -7 -10 -11 -12 -12 -13 -14 -15 -17 -20 -22 -24 -25 -27 -29 -29 -27 -25 -23 -21 -21 -22 -24 -25 -25 -25 -24 -22 -22 -22 -25 -29 -35 -38 -37 -35 -34 -34 -33 -30 -27 -24 -22 -21 -22 -23 -26 -28 -30 -30 -28 -25 -22 -21 -21 -21 -23 -26 -32 -37 -38 -36 -33 -35 -37 -38 -36 -31 -25 -23 -23 -26 -29 -32 -31 -27 -21 -16 -14 -14 -14 -15 -17 -19 -19 -20 -19 -19 -19 -20 -21 -22 -22 -24 -23 -21 -19 -18 -20 -22 -25 -27 -29 -32 -34 -36 -36 -35 -35 -36 -38 -40 -41 -41 -40 -40 -40 -39 -39 -39 -41 -43 -48 -53 -55 -54 -50 -41 -35 -30 -28 -29 -32 -33 -33 -31 -31 -31 -31 -32 -32 -33 -33 -34 -35 -37 -39 -40 -42 -46 -48 -49 -46 -43 -41 -40 -42 -46 -49 -50 -50 -49 -49 -48 -49 -50 -51 -49 -48 -50 -53 -57 -60 -61 -61 -60 -57 -56 -54 -52 -48 -46 -46 -45 -44 -44 -43 -41 -39 -39 -39 -39 -40 -42 -46 -50 -49 -50 -52 -53 -53 -55 -57 -59 -62 -66 -67 -68 -69 -69 -66 -62 -61 -61 -62 -63 -61 -58 -56 -57 -62 -64 -64 -64 -65 -68 -70 -72 -73 -74 -75 -75 -73 -70 -66 -64 -64 -63 -60 -56 -53 -51 -51 -52 -54 -54 -54 -53 -52 -51 -51 -50 -50 -49 -46 -45 -45 -46 -48 -51 -57 -63 -66 -66 -64 -64 -66 -68 -67 -62 -56 -53 -53 -53 -52 -50 -49 -48 -48 -49 -52 -55 -54 -51 -47 -47 -49 -52 -56 -58 -56 -55 -54 -55 -57 -59 -60 -60 -59 -58 -56 -55 -53 -51 -50 -49 -48 -46 -45 -46 -47 -47 -46 -46 -45 -47 -51 -53 -54 -55 -56 -58 -59 -60 -58 -54 -50 -45 -42 -43 -45 -44 -42 -40 -39 -37 -35 -33 -32 -28 -23 -19 -17 -15 -15 -14 -13 -26 -26 -27 -29 -31 -31 -30 -28 -27 -25 -24 -22 -20 -19 -18 -16 -15 -13 -13 -12 -10 -9 -10 -13 -19 -22 -22 -21 -21 -21 -22 -22 -21 -19 -18 -16 -14 -11 -8 -7 -8 -10 -12 -11 -8 -7 -7 -8 -8 -8 -8 -7 -6 -4 -2 -1 -0 -1 -1 -2 -3 -3 -4 -5 -7 -9 -11 -13 -13 -13 -14 -15 -16 -17 -19 -20 -22 -25 -28 -30 -30 -29 -26 -24 -22 -21 -21 -22 -24 -25 -25 -24 -23 -21 -20 -22 -25 -31 -37 -38 -38 -36 -36 -35 -33 -29 -25 -22 -21 -20 -21 -24 -27 -31 -34 -33 -30 -25 -22 -21 -20 -22 -25 -31 -35 -37 -37 -36 -39 -40 -40 -36 -30 -26 -24 -25 -27 -32 -37 -38 -34 -27 -21 -19 -17 -15 -14 -15 -16 -17 -17 -16 -15 -15 -17 -18 -19 -21 -25 -27 -26 -23 -19 -19 -20 -22 -24 -26 -30 -33 -36 -38 -37 -36 -36 -37 -39 -40 -40 -39 -39 -40 -42 -41 -39 -40 -43 -49 -53 -55 -55 -52 -44 -35 -29 -27 -28 -30 -32 -33 -32 -32 -31 -30 -30 -31 -32 -31 -32 -34 -36 -38 -40 -42 -44 -47 -49 -49 -46 -43 -40 -40 -44 -47 -50 -51 -51 -51 -51 -51 -52 -53 -52 -50 -50 -51 -53 -54 -55 -56 -57 -58 -58 -57 -54 -51 -49 -49 -48 -46 -44 -42 -41 -41 -42 -43 -43 -43 -44 -47 -51 -51 -51 -52 -53 -53 -54 -56 -58 -62 -65 -67 -68 -71 -74 -74 -70 -65 -61 -59 -58 -59 -60 -60 -60 -61 -62 -62 -63 -65 -68 -71 -72 -72 -72 -73 -74 -74 -71 -67 -63 -63 -62 -60 -57 -54 -52 -50 -50 -51 -52 -53 -52 -51 -50 -50 -49 -49 -49 -49 -47 -47 -48 -50 -54 -57 -62 -65 -66 -65 -65 -66 -68 -68 -67 -63 -59 -57 -57 -57 -55 -54 -53 -53 -53 -56 -57 -56 -52 -48 -47 -49 -51 -54 -56 -55 -54 -54 -57 -60 -61 -61 -60 -60 -60 -58 -57 -55 -52 -50 -50 -49 -49 -47 -46 -47 -47 -46 -48 -49 -53 -58 -61 -61 -61 -61 -63 -64 -64 -62 -59 -55 -49 -44 -42 -42 -43 -44 -42 -39 -38 -38 -36 -34 -32 -28 -24 -19 -17 -16 -15 -15 -26 -27 -28 -31 -33 -33 -30 -28 -26 -25 -23 -22 -21 -19 -18 -17 -16 -15 -14 -13 -11 -10 -12 -14 -18 -20 -20 -20 -19 -19 -19 -20 -20 -19 -17 -16 -16 -15 -11 -8 -9 -11 -11 -9 -7 -7 -8 -9 -9 -9 -8 -7 -5 -2 1 2 3 3 2 -0 -1 -2 -4 -6 -8 -9 -11 -13 -13 -14 -15 -16 -18 -19 -20 -20 -21 -23 -26 -28 -29 -29 -27 -25 -24 -23 -22 -22 -22 -23 -25 -25 -25 -24 -22 -21 -23 -29 -37 -39 -38 -38 -38 -39 -36 -32 -27 -24 -21 -20 -21 -24 -27 -31 -35 -35 -32 -27 -24 -21 -20 -20 -23 -28 -32 -34 -36 -37 -39 -40 -38 -35 -31 -31 -30 -29 -28 -31 -35 -35 -32 -27 -25 -24 -21 -16 -13 -13 -12 -12 -12 -13 -13 -13 -14 -16 -17 -20 -25 -29 -31 -29 -24 -21 -20 -20 -21 -23 -27 -32 -36 -39 -39 -38 -38 -38 -39 -40 -39 -38 -38 -39 -42 -42 -41 -42 -45 -49 -53 -54 -54 -51 -44 -36 -30 -27 -27 -27 -28 -30 -32 -33 -33 -32 -30 -28 -28 -29 -30 -32 -35 -37 -38 -39 -41 -44 -47 -49 -49 -46 -42 -41 -42 -45 -48 -50 -51 -50 -50 -50 -51 -52 -53 -51 -50 -49 -51 -51 -52 -53 -55 -56 -57 -57 -56 -54 -54 -54 -52 -50 -47 -44 -42 -42 -44 -46 -48 -49 -48 -46 -47 -50 -52 -53 -54 -54 -55 -56 -58 -61 -64 -65 -67 -70 -75 -78 -76 -70 -64 -59 -55 -56 -59 -62 -63 -64 -65 -65 -65 -66 -66 -67 -70 -71 -72 -72 -73 -73 -72 -70 -66 -62 -60 -59 -57 -55 -54 -52 -50 -49 -49 -50 -50 -50 -50 -50 -49 -49 -51 -51 -51 -51 -52 -54 -58 -59 -62 -64 -65 -67 -68 -68 -68 -68 -68 -66 -64 -62 -62 -61 -58 -57 -57 -57 -55 -55 -56 -55 -52 -50 -49 -49 -50 -52 -55 -56 -56 -56 -59 -61 -61 -60 -60 -59 -59 -57 -56 -55 -53 -52 -52 -51 -51 -49 -47 -46 -46 -49 -54 -57 -59 -61 -63 -63 -63 -64 -65 -65 -65 -63 -60 -57 -54 -49 -44 -41 -41 -43 -42 -38 -35 -36 -35 -34 -34 -32 -29 -24 -20 -18 -17 -16 -27 -28 -30 -32 -34 -32 -30 -28 -26 -25 -23 -22 -21 -20 -18 -17 -16 -16 -16 -16 -14 -13 -14 -15 -18 -19 -19 -18 -16 -15 -16 -17 -18 -17 -15 -14 -14 -14 -11 -9 -10 -10 -10 -8 -8 -8 -9 -9 -9 -9 -9 -8 -5 -2 1 3 4 3 2 -0 -2 -4 -5 -7 -9 -10 -11 -12 -13 -15 -16 -18 -19 -20 -20 -20 -20 -21 -23 -26 -28 -28 -27 -26 -25 -25 -23 -22 -22 -24 -25 -26 -26 -27 -25 -23 -22 -26 -34 -36 -38 -39 -41 -42 -38 -33 -28 -25 -23 -22 -22 -24 -27 -30 -33 -34 -32 -28 -25 -23 -22 -23 -24 -26 -28 -30 -33 -38 -40 -39 -36 -33 -33 -36 -35 -33 -29 -29 -32 -34 -32 -28 -25 -24 -21 -16 -11 -10 -10 -9 -9 -10 -11 -11 -13 -14 -16 -19 -24 -29 -34 -36 -31 -25 -22 -20 -20 -22 -25 -30 -35 -39 -40 -40 -39 -39 -40 -41 -40 -39 -38 -38 -40 -41 -41 -43 -46 -48 -51 -52 -52 -50 -44 -36 -30 -27 -26 -27 -28 -29 -31 -34 -35 -34 -31 -28 -28 -28 -29 -30 -32 -35 -35 -35 -36 -38 -42 -46 -47 -47 -44 -42 -43 -45 -48 -49 -50 -49 -49 -49 -49 -50 -51 -51 -51 -50 -50 -50 -51 -52 -53 -54 -56 -57 -58 -57 -57 -57 -56 -53 -49 -46 -44 -44 -46 -47 -50 -52 -51 -47 -46 -49 -51 -53 -54 -54 -55 -56 -58 -60 -61 -60 -62 -67 -74 -79 -78 -74 -68 -61 -56 -55 -57 -60 -60 -61 -63 -62 -59 -57 -58 -61 -65 -70 -71 -71 -71 -71 -71 -70 -67 -63 -60 -58 -57 -56 -55 -54 -51 -49 -47 -47 -47 -48 -48 -49 -49 -50 -52 -53 -55 -55 -56 -58 -62 -62 -63 -65 -65 -68 -69 -69 -67 -66 -66 -66 -67 -67 -66 -63 -61 -60 -60 -59 -56 -55 -55 -54 -54 -53 -52 -51 -51 -52 -54 -56 -57 -59 -61 -61 -60 -60 -60 -59 -59 -57 -56 -54 -53 -52 -52 -51 -52 -51 -48 -45 -45 -52 -59 -62 -62 -62 -63 -63 -64 -64 -65 -65 -63 -61 -58 -57 -55 -52 -48 -43 -40 -40 -40 -37 -33 -32 -31 -31 -32 -34 -33 -29 -24 -21 -20 -18 -28 -29 -30 -31 -31 -29 -29 -28 -27 -25 -24 -22 -21 -19 -18 -17 -17 -18 -18 -17 -16 -15 -16 -18 -20 -20 -19 -17 -15 -14 -14 -16 -17 -16 -14 -13 -12 -11 -10 -10 -11 -11 -10 -9 -8 -8 -8 -8 -8 -9 -9 -8 -6 -3 0 2 3 2 1 -1 -3 -5 -7 -8 -10 -11 -11 -12 -13 -15 -17 -19 -20 -20 -20 -20 -20 -21 -22 -24 -26 -26 -26 -26 -26 -26 -24 -23 -22 -24 -25 -26 -27 -28 -27 -25 -24 -25 -31 -35 -37 -40 -42 -42 -39 -34 -29 -27 -26 -25 -24 -25 -28 -29 -31 -32 -32 -29 -26 -25 -25 -28 -29 -29 -29 -29 -30 -35 -37 -36 -34 -33 -36 -38 -37 -34 -33 -33 -35 -35 -32 -26 -21 -19 -16 -13 -9 -9 -9 -9 -9 -9 -10 -11 -13 -15 -18 -22 -26 -29 -33 -36 -35 -30 -26 -23 -23 -23 -26 -29 -33 -38 -40 -39 -38 -38 -39 -40 -40 -40 -39 -38 -37 -38 -40 -43 -46 -47 -48 -49 -49 -48 -44 -38 -32 -27 -26 -26 -27 -29 -31 -33 -36 -35 -32 -28 -27 -28 -28 -27 -28 -30 -32 -33 -33 -34 -37 -40 -42 -44 -44 -44 -45 -47 -49 -51 -51 -50 -49 -48 -48 -49 -50 -51 -51 -51 -50 -50 -50 -51 -53 -56 -59 -61 -62 -59 -57 -57 -56 -54 -50 -47 -46 -47 -48 -49 -52 -54 -54 -51 -48 -49 -50 -51 -52 -53 -55 -57 -59 -62 -64 -64 -64 -67 -73 -78 -78 -74 -69 -65 -61 -58 -57 -56 -55 -56 -60 -61 -58 -55 -55 -57 -62 -68 -71 -71 -70 -68 -68 -68 -67 -64 -61 -58 -56 -55 -55 -54 -53 -50 -46 -45 -45 -46 -47 -48 -50 -50 -51 -53 -56 -58 -59 -61 -65 -65 -66 -68 -68 -69 -69 -68 -66 -64 -64 -63 -64 -66 -66 -64 -63 -62 -62 -60 -57 -56 -56 -55 -56 -56 -54 -52 -53 -55 -55 -55 -56 -60 -62 -62 -61 -61 -60 -60 -59 -58 -56 -55 -51 -47 -45 -48 -53 -53 -50 -46 -44 -51 -57 -61 -62 -62 -62 -63 -64 -65 -65 -64 -62 -59 -57 -54 -53 -52 -49 -45 -41 -38 -37 -35 -33 -32 -32 -32 -33 -34 -34 -33 -29 -26 -25 -22 -30 -30 -31 -30 -29 -28 -28 -27 -26 -24 -24 -22 -21 -19 -18 -17 -17 -17 -17 -17 -16 -17 -18 -19 -21 -21 -20 -18 -16 -15 -16 -17 -16 -15 -13 -13 -12 -11 -10 -10 -11 -11 -10 -9 -7 -6 -6 -6 -7 -8 -8 -7 -6 -4 -2 -1 0 0 0 -2 -4 -6 -8 -9 -10 -11 -11 -12 -13 -16 -18 -19 -20 -21 -21 -21 -22 -22 -23 -24 -25 -25 -25 -26 -26 -26 -24 -23 -22 -23 -24 -26 -27 -28 -28 -26 -24 -25 -30 -35 -37 -38 -40 -40 -38 -36 -33 -31 -30 -28 -26 -26 -27 -28 -29 -31 -32 -30 -27 -25 -27 -30 -34 -35 -33 -31 -29 -30 -32 -32 -33 -34 -37 -37 -34 -32 -32 -35 -36 -36 -33 -26 -19 -16 -14 -11 -9 -9 -9 -9 -9 -8 -10 -13 -16 -19 -22 -27 -30 -32 -33 -35 -37 -33 -29 -26 -25 -26 -27 -29 -32 -36 -36 -36 -36 -37 -38 -37 -38 -40 -40 -38 -36 -36 -38 -42 -46 -46 -46 -45 -45 -45 -44 -41 -35 -29 -26 -26 -27 -28 -30 -33 -35 -35 -33 -29 -28 -28 -28 -27 -27 -29 -33 -36 -37 -37 -38 -39 -40 -42 -44 -45 -46 -48 -50 -52 -52 -52 -50 -48 -49 -50 -51 -51 -52 -52 -52 -51 -50 -51 -54 -58 -62 -65 -66 -63 -60 -58 -55 -52 -49 -47 -47 -50 -52 -51 -53 -56 -58 -56 -53 -51 -51 -51 -52 -53 -55 -57 -59 -62 -65 -66 -67 -69 -73 -76 -74 -71 -69 -68 -66 -62 -59 -56 -53 -53 -57 -60 -60 -58 -59 -60 -62 -66 -70 -71 -70 -68 -67 -66 -66 -64 -62 -58 -56 -54 -53 -53 -53 -51 -47 -45 -44 -46 -48 -49 -49 -48 -49 -53 -56 -59 -61 -65 -68 -70 -71 -72 -72 -71 -69 -68 -66 -65 -64 -62 -60 -60 -62 -63 -64 -64 -63 -60 -58 -58 -58 -57 -57 -56 -54 -52 -54 -58 -59 -58 -58 -61 -63 -64 -63 -62 -61 -60 -60 -59 -57 -56 -51 -42 -35 -38 -45 -49 -50 -48 -41 -44 -51 -57 -60 -61 -61 -62 -63 -65 -65 -63 -61 -58 -55 -52 -51 -49 -48 -45 -42 -38 -36 -35 -34 -33 -35 -37 -38 -37 -36 -34 -33 -31 -30 -28 -30 -30 -30 -29 -28 -27 -26 -26 -25 -25 -24 -22 -21 -19 -18 -18 -18 -17 -17 -16 -17 -18 -20 -21 -21 -22 -21 -20 -19 -18 -18 -18 -17 -15 -14 -13 -12 -12 -11 -10 -10 -9 -9 -8 -6 -5 -5 -5 -6 -7 -7 -7 -6 -5 -5 -4 -4 -3 -2 -3 -5 -7 -9 -10 -10 -11 -11 -12 -13 -15 -17 -18 -20 -22 -23 -23 -24 -25 -26 -26 -26 -25 -26 -26 -26 -25 -24 -22 -21 -22 -23 -25 -27 -29 -28 -25 -23 -23 -29 -34 -36 -36 -37 -38 -37 -37 -37 -35 -33 -30 -28 -26 -25 -26 -27 -29 -30 -29 -27 -25 -26 -29 -35 -38 -37 -33 -29 -27 -29 -30 -32 -35 -37 -36 -32 -29 -28 -31 -32 -33 -32 -28 -21 -17 -14 -12 -11 -10 -10 -10 -9 -9 -11 -14 -19 -23 -27 -30 -33 -35 -35 -35 -34 -32 -30 -28 -27 -26 -27 -28 -30 -32 -34 -34 -34 -34 -33 -33 -36 -39 -40 -39 -37 -37 -38 -41 -45 -45 -44 -42 -40 -40 -43 -43 -39 -31 -26 -26 -26 -28 -30 -32 -34 -35 -33 -30 -28 -27 -27 -27 -27 -30 -33 -36 -37 -37 -36 -37 -38 -40 -42 -43 -45 -48 -50 -52 -53 -52 -51 -50 -50 -52 -53 -53 -53 -54 -54 -54 -53 -52 -53 -57 -62 -67 -69 -67 -63 -60 -57 -54 -50 -48 -50 -54 -57 -54 -53 -55 -58 -59 -57 -55 -53 -53 -53 -54 -55 -57 -60 -62 -64 -65 -66 -68 -70 -70 -69 -68 -67 -67 -66 -64 -63 -60 -56 -54 -56 -60 -62 -64 -66 -66 -65 -63 -67 -71 -71 -69 -66 -65 -64 -63 -61 -57 -55 -53 -52 -52 -53 -52 -49 -45 -43 -44 -48 -48 -47 -45 -48 -52 -56 -59 -62 -66 -72 -75 -75 -75 -74 -73 -71 -69 -66 -66 -65 -62 -59 -58 -60 -62 -63 -63 -62 -59 -58 -58 -59 -58 -58 -57 -56 -54 -56 -60 -61 -61 -61 -62 -63 -65 -65 -64 -63 -62 -61 -60 -58 -56 -51 -40 -31 -31 -35 -37 -42 -46 -41 -39 -43 -50 -56 -59 -60 -61 -62 -64 -64 -62 -60 -57 -54 -51 -48 -46 -45 -43 -40 -38 -38 -37 -37 -37 -38 -40 -40 -39 -37 -36 -35 -34 -33 -32 -31 -30 -30 -29 -27 -26 -25 -24 -24 -24 -23 -22 -20 -19 -18 -18 -18 -18 -17 -17 -18 -20 -21 -22 -22 -23 -23 -22 -21 -20 -20 -20 -19 -18 -16 -14 -13 -13 -11 -10 -9 -8 -7 -6 -5 -5 -6 -7 -8 -8 -8 -8 -9 -9 -9 -8 -6 -5 -4 -4 -5 -7 -9 -10 -11 -12 -13 -14 -14 -15 -16 -17 -19 -21 -23 -23 -24 -25 -27 -28 -29 -28 -26 -26 -26 -25 -23 -21 -20 -21 -24 -27 -28 -30 -29 -26 -22 -21 -26 -30 -33 -34 -35 -35 -37 -39 -40 -37 -34 -32 -30 -27 -25 -25 -26 -27 -29 -29 -28 -26 -26 -28 -31 -36 -36 -34 -30 -28 -30 -32 -34 -36 -37 -37 -34 -30 -26 -24 -25 -27 -28 -27 -23 -19 -16 -14 -12 -11 -11 -11 -11 -10 -12 -15 -19 -25 -29 -32 -35 -38 -39 -36 -32 -29 -27 -27 -26 -25 -26 -28 -29 -30 -31 -33 -34 -34 -32 -31 -34 -38 -40 -41 -39 -38 -38 -40 -44 -46 -45 -41 -38 -37 -39 -40 -38 -32 -26 -25 -25 -27 -29 -32 -33 -34 -33 -30 -28 -27 -27 -28 -29 -31 -33 -35 -36 -35 -35 -35 -36 -39 -41 -41 -43 -46 -49 -50 -51 -51 -51 -51 -51 -53 -55 -56 -57 -56 -57 -56 -56 -54 -53 -56 -62 -68 -71 -69 -66 -63 -61 -58 -55 -53 -52 -54 -57 -54 -51 -50 -52 -54 -54 -55 -55 -56 -56 -56 -57 -58 -60 -62 -63 -64 -65 -67 -68 -67 -65 -64 -64 -65 -65 -64 -63 -62 -61 -58 -59 -61 -63 -67 -68 -66 -63 -60 -63 -68 -71 -70 -66 -64 -63 -62 -60 -57 -55 -53 -52 -51 -52 -51 -49 -45 -41 -42 -45 -46 -45 -44 -46 -51 -58 -63 -65 -68 -74 -78 -78 -77 -76 -76 -74 -71 -66 -66 -64 -62 -60 -59 -60 -61 -61 -61 -61 -60 -58 -57 -58 -58 -59 -60 -59 -57 -58 -60 -62 -62 -63 -62 -63 -64 -65 -66 -65 -64 -63 -61 -58 -56 -52 -42 -30 -30 -30 -31 -35 -40 -44 -41 -41 -43 -50 -54 -57 -59 -61 -62 -62 -60 -58 -56 -52 -48 -46 -44 -43 -41 -39 -39 -40 -42 -42 -42 -42 -42 -41 -40 -38 -37 -37 -36 -34 -33 -31 -30 -29 -28 -27 -26 -24 -23 -23 -23 -23 -21 -20 -18 -18 -19 -19 -18 -18 -18 -19 -21 -22 -22 -24 -25 -25 -24 -23 -21 -20 -20 -20 -19 -18 -16 -15 -14 -12 -10 -8 -7 -7 -7 -6 -7 -8 -9 -10 -12 -13 -14 -16 -17 -16 -13 -9 -7 -7 -7 -8 -8 -9 -11 -12 -13 -15 -16 -17 -16 -16 -17 -18 -20 -21 -22 -23 -25 -26 -27 -28 -27 -24 -22 -23 -23 -22 -19 -18 -22 -24 -26 -29 -33 -32 -29 -24 -21 -22 -25 -28 -32 -34 -36 -39 -40 -40 -39 -35 -33 -32 -30 -27 -25 -25 -26 -28 -30 -31 -29 -28 -28 -31 -32 -32 -31 -30 -30 -31 -34 -36 -37 -38 -38 -37 -34 -28 -21 -19 -21 -25 -26 -24 -21 -17 -14 -13 -12 -12 -12 -11 -11 -12 -14 -18 -22 -27 -30 -34 -38 -39 -36 -29 -25 -23 -23 -22 -22 -24 -26 -27 -28 -30 -32 -32 -31 -30 -31 -33 -36 -39 -40 -40 -40 -40 -41 -44 -47 -46 -42 -38 -36 -37 -38 -36 -31 -27 -25 -24 -26 -28 -31 -32 -33 -33 -31 -29 -28 -28 -29 -31 -31 -32 -33 -34 -34 -34 -35 -37 -40 -40 -39 -40 -42 -46 -48 -49 -50 -51 -52 -53 -54 -55 -57 -58 -59 -59 -59 -58 -55 -53 -56 -61 -67 -70 -70 -68 -65 -63 -62 -60 -57 -55 -54 -55 -52 -48 -47 -48 -49 -50 -52 -54 -56 -58 -60 -61 -61 -62 -63 -63 -64 -64 -65 -65 -63 -61 -58 -58 -60 -63 -66 -66 -66 -63 -60 -59 -62 -65 -66 -62 -58 -57 -56 -58 -63 -68 -70 -67 -65 -64 -61 -57 -55 -54 -53 -52 -51 -51 -49 -47 -44 -39 -39 -42 -43 -43 -43 -45 -50 -57 -64 -68 -72 -77 -78 -78 -78 -78 -77 -74 -71 -66 -64 -62 -61 -60 -60 -60 -59 -58 -58 -59 -59 -58 -57 -57 -57 -58 -61 -63 -61 -59 -60 -61 -62 -63 -63 -63 -64 -66 -66 -65 -65 -64 -62 -59 -57 -53 -44 -31 -30 -30 -30 -31 -36 -45 -45 -43 -42 -44 -49 -53 -57 -59 -60 -59 -57 -56 -53 -50 -46 -44 -43 -43 -43 -43 -43 -45 -47 -48 -47 -45 -43 -42 -41 -40 -39 -38 -38 -36 -35 -32 -31 -30 -28 -26 -25 -24 -23 -23 -23 -22 -20 -18 -17 -18 -19 -19 -19 -19 -20 -21 -21 -21 -22 -23 -25 -27 -27 -26 -23 -19 -18 -18 -18 -18 -16 -15 -14 -13 -10 -7 -7 -9 -10 -9 -9 -11 -12 -13 -15 -17 -20 -24 -28 -28 -24 -17 -12 -9 -9 -9 -9 -9 -10 -11 -13 -15 -17 -18 -18 -18 -18 -18 -19 -20 -21 -23 -24 -25 -27 -26 -25 -23 -21 -21 -22 -22 -21 -20 -21 -22 -23 -26 -30 -32 -30 -27 -23 -21 -22 -25 -29 -33 -35 -37 -38 -40 -40 -37 -34 -33 -33 -30 -27 -25 -25 -26 -29 -31 -30 -29 -29 -32 -35 -36 -35 -32 -30 -32 -35 -36 -36 -34 -34 -34 -32 -27 -20 -18 -21 -27 -30 -27 -21 -16 -13 -12 -12 -11 -11 -10 -11 -12 -13 -15 -19 -23 -27 -31 -34 -36 -35 -30 -25 -22 -20 -19 -20 -22 -23 -25 -27 -29 -30 -29 -28 -28 -30 -32 -35 -37 -40 -41 -41 -42 -42 -45 -46 -46 -43 -39 -37 -38 -39 -37 -32 -26 -24 -24 -25 -27 -30 -32 -34 -35 -33 -30 -28 -28 -29 -29 -29 -30 -31 -32 -32 -34 -36 -39 -40 -39 -36 -36 -39 -43 -46 -47 -48 -49 -51 -54 -56 -58 -60 -61 -61 -62 -61 -59 -55 -54 -56 -61 -66 -68 -68 -67 -65 -63 -63 -62 -59 -56 -54 -53 -51 -48 -47 -49 -50 -48 -47 -47 -49 -55 -62 -65 -65 -64 -62 -63 -63 -62 -61 -60 -58 -55 -52 -51 -55 -60 -64 -66 -66 -63 -61 -63 -66 -70 -71 -64 -56 -51 -52 -54 -58 -63 -68 -66 -64 -63 -61 -57 -54 -53 -53 -52 -51 -50 -48 -45 -42 -39 -39 -40 -41 -42 -43 -45 -50 -56 -63 -68 -75 -78 -78 -77 -77 -77 -75 -72 -68 -64 -61 -60 -59 -59 -60 -60 -59 -57 -56 -58 -60 -60 -60 -58 -57 -58 -61 -65 -63 -60 -59 -60 -61 -62 -62 -64 -65 -65 -65 -65 -66 -65 -62 -59 -58 -54 -47 -33 -30 -29 -30 -30 -33 -44 -46 -45 -44 -43 -44 -47 -51 -55 -57 -56 -54 -52 -50 -47 -44 -43 -44 -48 -50 -50 -50 -50 -49 -48 -47 -46 -44 -43 -41 -41 -40 -40 -39 -38 -37 -32 -32 -30 -27 -26 -25 -24 -24 -24 -23 -22 -19 -17 -17 -18 -19 -19 -19 -20 -21 -21 -20 -20 -20 -22 -24 -25 -27 -26 -22 -17 -16 -16 -16 -15 -13 -12 -11 -10 -7 -7 -8 -10 -10 -10 -10 -11 -13 -14 -17 -18 -20 -23 -26 -29 -28 -25 -19 -15 -13 -11 -11 -11 -11 -11 -12 -15 -17 -19 -19 -19 -18 -18 -18 -19 -20 -21 -23 -24 -26 -26 -24 -21 -21 -21 -21 -22 -23 -22 -20 -19 -20 -24 -27 -30 -31 -30 -26 -24 -23 -24 -27 -30 -33 -34 -36 -38 -39 -38 -37 -35 -35 -33 -29 -27 -26 -26 -27 -28 -28 -28 -30 -33 -38 -41 -41 -37 -33 -33 -35 -36 -36 -33 -30 -29 -29 -29 -25 -22 -22 -24 -26 -26 -22 -17 -13 -11 -10 -10 -10 -10 -12 -13 -13 -14 -16 -20 -23 -26 -28 -31 -33 -32 -28 -24 -20 -18 -18 -20 -22 -23 -25 -26 -27 -27 -26 -26 -28 -31 -34 -37 -38 -40 -42 -43 -44 -45 -46 -45 -43 -39 -37 -39 -39 -37 -31 -24 -22 -23 -25 -29 -32 -34 -36 -36 -35 -32 -28 -26 -26 -26 -27 -28 -29 -30 -31 -33 -37 -40 -41 -39 -36 -35 -37 -40 -43 -45 -46 -48 -51 -55 -57 -60 -62 -63 -62 -62 -61 -59 -56 -55 -57 -62 -66 -67 -66 -65 -63 -62 -63 -62 -60 -57 -54 -51 -49 -47 -46 -48 -51 -51 -50 -48 -45 -47 -53 -61 -66 -66 -61 -60 -59 -58 -56 -54 -52 -49 -47 -47 -51 -57 -62 -65 -65 -62 -62 -64 -67 -73 -77 -72 -62 -52 -50 -52 -55 -59 -64 -64 -63 -62 -60 -58 -55 -53 -53 -53 -53 -51 -49 -46 -42 -39 -38 -38 -39 -41 -42 -45 -50 -55 -60 -67 -73 -77 -79 -77 -76 -75 -73 -70 -67 -63 -60 -58 -57 -58 -60 -61 -60 -58 -55 -58 -61 -63 -63 -60 -59 -60 -64 -66 -64 -62 -60 -59 -59 -60 -62 -63 -64 -63 -62 -64 -65 -64 -63 -60 -58 -55 -50 -40 -32 -29 -29 -30 -34 -42 -44 -44 -44 -44 -40 -41 -44 -49 -52 -52 -50 -48 -46 -44 -43 -43 -46 -51 -52 -52 -52 -51 -49 -47 -46 -46 -45 -43 -42 -41 -41 -41 -40 -39 -38 -32 -32 -29 -27 -25 -24 -23 -23 -24 -24 -22 -19 -16 -16 -18 -19 -20 -20 -20 -21 -21 -20 -20 -20 -21 -22 -24 -26 -27 -25 -22 -21 -20 -18 -14 -12 -11 -10 -9 -8 -7 -7 -8 -9 -11 -12 -13 -14 -15 -16 -18 -19 -21 -23 -26 -28 -28 -25 -21 -18 -15 -13 -13 -12 -12 -14 -16 -18 -19 -20 -20 -19 -18 -18 -19 -19 -20 -22 -24 -25 -25 -24 -21 -21 -21 -21 -22 -23 -21 -18 -17 -19 -23 -25 -29 -32 -32 -30 -29 -27 -26 -27 -29 -30 -32 -34 -36 -38 -38 -36 -35 -34 -33 -30 -28 -27 -26 -26 -27 -28 -29 -31 -34 -39 -42 -42 -39 -34 -31 -32 -34 -36 -35 -30 -27 -27 -29 -31 -28 -25 -24 -25 -27 -22 -17 -13 -11 -9 -8 -8 -10 -12 -13 -13 -12 -12 -14 -17 -20 -23 -26 -30 -31 -31 -28 -24 -20 -18 -18 -19 -21 -23 -23 -24 -25 -25 -26 -27 -30 -33 -36 -38 -40 -42 -44 -45 -46 -45 -43 -40 -38 -37 -38 -38 -36 -30 -24 -22 -22 -25 -29 -34 -36 -37 -35 -33 -30 -27 -25 -24 -25 -26 -27 -28 -28 -29 -31 -35 -38 -40 -39 -37 -36 -36 -38 -41 -43 -44 -47 -51 -55 -58 -60 -62 -63 -62 -61 -60 -58 -57 -56 -59 -62 -65 -66 -65 -63 -62 -61 -62 -62 -60 -57 -53 -49 -46 -45 -45 -46 -50 -53 -55 -54 -51 -49 -49 -53 -58 -61 -59 -57 -54 -53 -52 -50 -47 -46 -46 -47 -50 -54 -58 -61 -62 -62 -63 -65 -66 -71 -76 -74 -65 -56 -53 -52 -53 -55 -59 -64 -64 -61 -58 -59 -56 -54 -53 -53 -54 -53 -51 -47 -43 -39 -38 -38 -38 -39 -42 -44 -48 -53 -60 -66 -73 -77 -79 -77 -73 -71 -70 -68 -66 -63 -60 -58 -57 -57 -59 -61 -61 -59 -55 -58 -63 -67 -67 -64 -61 -62 -65 -67 -64 -61 -58 -57 -57 -58 -61 -63 -63 -60 -59 -60 -62 -63 -64 -63 -60 -57 -55 -49 -38 -31 -30 -32 -37 -41 -43 -43 -43 -43 -40 -38 -38 -42 -46 -47 -46 -44 -42 -43 -45 -46 -48 -51 -52 -52 -51 -51 -50 -48 -47 -46 -44 -43 -42 -42 -42 -41 -40 -39 -38 -31 -31 -29 -27 -25 -24 -23 -23 -24 -24 -22 -18 -16 -15 -17 -20 -21 -21 -21 -21 -21 -20 -20 -21 -21 -21 -23 -25 -25 -23 -22 -21 -20 -18 -17 -14 -12 -12 -11 -9 -7 -6 -7 -9 -12 -15 -16 -16 -15 -16 -17 -18 -19 -21 -24 -26 -27 -27 -25 -22 -19 -17 -15 -14 -14 -16 -17 -19 -20 -21 -20 -19 -18 -18 -19 -20 -20 -21 -22 -24 -25 -25 -23 -22 -21 -20 -20 -20 -19 -17 -17 -19 -22 -25 -28 -31 -33 -34 -34 -32 -30 -29 -29 -30 -31 -33 -35 -36 -35 -33 -32 -31 -30 -29 -28 -27 -26 -27 -28 -29 -31 -32 -35 -39 -41 -41 -39 -35 -31 -30 -29 -30 -31 -30 -28 -27 -27 -29 -28 -26 -25 -25 -26 -24 -21 -18 -15 -12 -10 -10 -10 -10 -10 -9 -8 -8 -11 -14 -18 -21 -24 -28 -31 -33 -33 -31 -26 -20 -18 -19 -21 -22 -23 -23 -24 -24 -25 -27 -29 -32 -35 -38 -41 -43 -45 -46 -46 -44 -41 -39 -36 -36 -37 -37 -34 -28 -23 -22 -22 -25 -29 -33 -35 -35 -34 -30 -28 -26 -25 -25 -26 -26 -26 -26 -27 -28 -30 -33 -37 -40 -39 -38 -38 -38 -39 -40 -41 -42 -45 -49 -53 -56 -59 -61 -62 -62 -61 -60 -60 -60 -60 -61 -62 -64 -65 -65 -63 -62 -61 -62 -61 -59 -56 -51 -47 -45 -44 -45 -47 -50 -54 -57 -59 -56 -52 -49 -47 -48 -50 -51 -51 -51 -51 -51 -50 -48 -47 -48 -50 -51 -53 -55 -58 -60 -62 -64 -64 -63 -67 -73 -74 -68 -60 -57 -55 -54 -54 -56 -60 -61 -59 -55 -56 -55 -54 -53 -53 -54 -54 -53 -50 -45 -41 -39 -38 -38 -39 -41 -43 -47 -52 -60 -69 -75 -79 -79 -76 -71 -69 -68 -67 -65 -63 -62 -60 -59 -57 -59 -61 -62 -61 -57 -59 -63 -67 -68 -66 -64 -64 -66 -66 -62 -59 -57 -57 -57 -59 -61 -62 -62 -58 -57 -58 -60 -62 -64 -63 -61 -58 -56 -53 -44 -37 -34 -37 -42 -44 -45 -45 -43 -43 -42 -40 -37 -38 -41 -43 -43 -41 -40 -44 -48 -51 -51 -50 -50 -51 -51 -51 -50 -49 -47 -46 -44 -44 -44 -43 -43 -42 -40 -39 -39 -30 -30 -28 -26 -24 -23 -23 -24 -24 -24 -22 -19 -17 -16 -18 -20 -21 -22 -22 -21 -20 -20 -20 -20 -20 -20 -21 -22 -22 -20 -20 -20 -20 -20 -19 -16 -14 -13 -13 -10 -7 -5 -6 -9 -12 -16 -17 -17 -15 -15 -16 -17 -18 -19 -22 -25 -27 -27 -26 -24 -22 -20 -18 -17 -17 -18 -19 -21 -22 -21 -19 -18 -18 -18 -19 -20 -21 -22 -22 -23 -24 -25 -25 -23 -21 -20 -19 -19 -18 -16 -16 -17 -21 -24 -26 -28 -31 -34 -37 -37 -35 -32 -31 -31 -31 -32 -33 -33 -32 -30 -28 -27 -26 -26 -26 -25 -26 -28 -30 -32 -32 -33 -35 -38 -39 -39 -37 -35 -34 -31 -28 -25 -27 -28 -28 -27 -27 -27 -27 -27 -27 -28 -28 -29 -28 -24 -18 -14 -12 -11 -10 -9 -8 -7 -6 -7 -9 -13 -17 -21 -24 -26 -29 -33 -36 -36 -32 -26 -21 -19 -20 -21 -22 -23 -24 -25 -26 -28 -30 -32 -34 -38 -43 -46 -48 -47 -46 -44 -41 -38 -36 -35 -35 -34 -32 -27 -23 -22 -23 -25 -30 -33 -35 -34 -32 -28 -27 -26 -26 -26 -27 -27 -27 -27 -27 -27 -29 -33 -37 -40 -39 -39 -39 -40 -41 -42 -42 -42 -43 -46 -51 -54 -56 -58 -61 -62 -62 -63 -63 -64 -63 -62 -62 -63 -64 -64 -64 -63 -63 -64 -63 -61 -57 -53 -49 -47 -47 -48 -49 -51 -54 -58 -60 -58 -55 -51 -48 -46 -45 -46 -48 -51 -52 -52 -52 -50 -49 -51 -53 -55 -56 -58 -59 -61 -63 -64 -65 -63 -65 -70 -73 -70 -65 -62 -59 -57 -56 -56 -57 -58 -56 -52 -52 -54 -54 -54 -54 -55 -55 -54 -52 -48 -44 -41 -39 -38 -38 -40 -43 -46 -51 -59 -69 -76 -78 -78 -74 -71 -69 -68 -66 -63 -62 -62 -61 -59 -57 -59 -60 -61 -62 -59 -60 -62 -63 -65 -66 -66 -66 -65 -63 -60 -58 -58 -58 -58 -59 -60 -61 -62 -60 -58 -58 -60 -61 -62 -63 -62 -60 -58 -53 -47 -42 -41 -43 -45 -46 -48 -49 -47 -47 -47 -46 -42 -39 -40 -42 -43 -43 -43 -47 -50 -51 -50 -49 -50 -50 -51 -51 -50 -49 -48 -46 -45 -45 -46 -45 -44 -43 -42 -41 -40 -29 -29 -27 -26 -24 -23 -24 -24 -24 -23 -23 -20 -18 -17 -18 -20 -21 -22 -22 -21 -20 -19 -18 -18 -18 -18 -19 -19 -18 -17 -17 -18 -21 -22 -21 -17 -14 -12 -12 -10 -7 -5 -6 -8 -11 -14 -16 -15 -13 -12 -13 -15 -17 -19 -22 -24 -27 -28 -27 -25 -23 -22 -21 -20 -20 -20 -22 -23 -23 -19 -17 -16 -16 -17 -18 -20 -21 -22 -22 -23 -23 -23 -24 -25 -22 -20 -19 -19 -18 -15 -14 -16 -20 -24 -25 -26 -28 -32 -37 -37 -36 -34 -33 -33 -32 -32 -32 -31 -29 -28 -26 -25 -24 -24 -24 -25 -26 -29 -32 -34 -33 -32 -32 -34 -35 -35 -33 -34 -35 -34 -30 -26 -26 -28 -29 -29 -29 -30 -30 -29 -28 -29 -31 -33 -32 -28 -19 -14 -12 -12 -11 -9 -7 -7 -7 -8 -10 -13 -16 -20 -23 -24 -27 -31 -35 -36 -33 -28 -24 -22 -21 -21 -22 -22 -24 -26 -27 -29 -31 -33 -35 -40 -45 -49 -50 -49 -47 -44 -41 -39 -37 -34 -33 -32 -31 -28 -25 -24 -25 -26 -30 -33 -34 -32 -30 -28 -27 -26 -26 -26 -27 -28 -28 -28 -27 -27 -29 -33 -38 -40 -40 -39 -40 -42 -45 -46 -45 -43 -41 -42 -46 -50 -52 -55 -59 -62 -64 -65 -66 -66 -65 -63 -62 -62 -63 -63 -64 -64 -64 -64 -62 -61 -59 -56 -53 -51 -49 -49 -49 -50 -53 -57 -59 -58 -55 -52 -50 -48 -46 -45 -46 -48 -51 -55 -55 -55 -54 -55 -56 -58 -60 -62 -64 -65 -66 -67 -69 -66 -64 -67 -72 -72 -68 -66 -63 -61 -58 -55 -55 -56 -56 -54 -53 -53 -54 -56 -56 -56 -56 -54 -52 -50 -47 -43 -40 -39 -39 -41 -45 -48 -51 -58 -66 -72 -75 -75 -73 -72 -70 -68 -66 -61 -60 -60 -59 -58 -59 -60 -61 -61 -62 -60 -61 -62 -64 -65 -68 -69 -69 -67 -64 -61 -59 -58 -59 -58 -57 -58 -60 -63 -63 -60 -58 -59 -60 -60 -62 -62 -61 -59 -54 -49 -46 -45 -45 -46 -48 -50 -52 -52 -51 -51 -51 -49 -46 -45 -46 -47 -47 -48 -49 -50 -49 -49 -49 -49 -51 -52 -52 -51 -50 -48 -46 -46 -46 -46 -46 -46 -45 -43 -42 -42 -28 -28 -26 -25 -24 -24 -25 -24 -23 -23 -22 -20 -18 -17 -18 -20 -22 -23 -23 -22 -20 -18 -17 -16 -16 -17 -16 -16 -15 -14 -14 -17 -19 -21 -19 -14 -10 -8 -8 -8 -8 -7 -7 -8 -10 -11 -12 -12 -8 -5 -8 -14 -21 -26 -27 -27 -26 -26 -24 -22 -22 -22 -22 -22 -21 -22 -22 -23 -22 -18 -15 -15 -16 -17 -18 -19 -21 -22 -22 -22 -21 -21 -21 -23 -23 -21 -19 -18 -17 -16 -15 -17 -19 -22 -25 -26 -27 -30 -35 -37 -37 -36 -35 -34 -32 -31 -29 -28 -27 -25 -24 -24 -23 -23 -23 -25 -27 -29 -32 -34 -34 -32 -30 -30 -30 -30 -31 -33 -33 -32 -31 -28 -29 -31 -33 -33 -33 -33 -32 -30 -28 -28 -31 -33 -32 -26 -17 -12 -10 -10 -10 -10 -8 -8 -9 -10 -11 -13 -16 -19 -21 -22 -25 -29 -33 -36 -34 -30 -27 -25 -24 -23 -22 -23 -24 -25 -27 -30 -33 -35 -36 -40 -45 -48 -50 -50 -48 -45 -42 -40 -38 -33 -31 -31 -31 -28 -26 -26 -26 -27 -30 -32 -32 -30 -28 -28 -27 -27 -26 -25 -26 -27 -28 -28 -27 -27 -30 -35 -39 -42 -42 -42 -42 -43 -45 -47 -47 -45 -42 -41 -42 -44 -46 -50 -57 -62 -65 -66 -67 -67 -66 -64 -62 -61 -62 -63 -63 -63 -64 -64 -63 -61 -60 -58 -55 -53 -51 -51 -50 -51 -53 -56 -58 -57 -54 -51 -49 -50 -49 -47 -46 -46 -50 -55 -57 -57 -56 -56 -58 -60 -62 -65 -69 -69 -68 -69 -72 -71 -64 -64 -69 -72 -70 -68 -66 -63 -60 -56 -52 -51 -51 -51 -52 -52 -54 -56 -59 -59 -57 -54 -52 -51 -48 -46 -43 -41 -40 -42 -46 -50 -53 -59 -64 -67 -70 -72 -71 -71 -71 -68 -64 -59 -56 -55 -55 -56 -60 -63 -63 -63 -63 -62 -62 -63 -68 -71 -72 -72 -71 -70 -67 -62 -59 -58 -59 -58 -57 -58 -60 -64 -63 -60 -58 -58 -58 -59 -60 -61 -60 -57 -53 -50 -48 -48 -48 -48 -49 -51 -54 -56 -56 -56 -55 -54 -53 -52 -51 -52 -51 -50 -50 -50 -49 -48 -47 -48 -50 -51 -51 -51 -50 -48 -47 -46 -47 -47 -46 -47 -46 -46 -44 -43 -28 -26 -25 -25 -24 -25 -25 -24 -23 -22 -21 -20 -18 -17 -18 -20 -22 -24 -24 -23 -20 -18 -16 -15 -15 -16 -15 -14 -13 -13 -13 -15 -16 -16 -14 -10 -7 -6 -7 -10 -13 -13 -11 -9 -10 -11 -10 -6 -2 0 -4 -12 -20 -27 -29 -27 -23 -19 -18 -19 -20 -22 -22 -23 -23 -22 -22 -21 -19 -17 -16 -16 -17 -17 -18 -19 -21 -22 -22 -21 -20 -20 -20 -22 -25 -23 -20 -17 -16 -15 -15 -16 -18 -22 -26 -28 -30 -30 -31 -34 -36 -36 -35 -35 -33 -31 -29 -27 -25 -23 -22 -22 -22 -22 -24 -25 -27 -29 -31 -33 -33 -31 -29 -28 -29 -30 -31 -30 -29 -28 -29 -30 -32 -34 -36 -37 -36 -35 -34 -32 -30 -30 -31 -31 -28 -22 -13 -9 -8 -8 -9 -10 -9 -9 -10 -12 -13 -14 -16 -18 -20 -21 -24 -27 -31 -35 -35 -31 -28 -26 -26 -25 -24 -24 -25 -25 -28 -31 -34 -37 -37 -39 -43 -47 -49 -49 -47 -45 -43 -41 -38 -33 -30 -27 -26 -26 -28 -28 -27 -27 -30 -32 -31 -29 -27 -28 -28 -28 -27 -25 -26 -26 -28 -28 -28 -29 -33 -38 -43 -45 -45 -45 -44 -44 -46 -49 -49 -47 -42 -41 -41 -43 -45 -48 -55 -61 -66 -68 -69 -69 -67 -65 -62 -61 -62 -62 -63 -63 -63 -63 -62 -61 -59 -58 -56 -54 -53 -53 -54 -55 -56 -57 -58 -58 -55 -51 -47 -47 -49 -49 -48 -47 -48 -52 -55 -57 -57 -56 -57 -59 -62 -66 -71 -73 -73 -72 -72 -69 -62 -61 -67 -73 -69 -68 -66 -65 -63 -59 -53 -48 -45 -48 -50 -52 -53 -55 -59 -59 -57 -54 -52 -51 -50 -48 -46 -43 -42 -44 -47 -51 -54 -57 -59 -62 -65 -66 -66 -67 -68 -67 -62 -55 -51 -49 -51 -56 -61 -64 -64 -64 -65 -64 -63 -64 -70 -73 -73 -72 -71 -71 -68 -64 -60 -58 -57 -58 -58 -59 -61 -64 -63 -60 -58 -58 -58 -58 -59 -59 -56 -53 -51 -51 -50 -50 -50 -50 -50 -52 -54 -58 -59 -59 -58 -57 -55 -54 -53 -53 -52 -50 -49 -49 -48 -47 -46 -46 -48 -50 -50 -50 -49 -48 -47 -47 -48 -47 -47 -48 -48 -47 -45 -43 -28 -25 -24 -24 -24 -26 -26 -25 -23 -21 -20 -19 -18 -17 -18 -20 -23 -24 -25 -24 -21 -19 -17 -16 -16 -16 -14 -13 -12 -13 -13 -15 -15 -14 -13 -10 -6 -5 -7 -11 -16 -18 -17 -14 -12 -11 -10 -8 -6 -6 -9 -13 -17 -21 -23 -22 -19 -17 -17 -19 -22 -23 -23 -23 -22 -21 -19 -18 -17 -16 -16 -18 -19 -20 -20 -21 -22 -22 -20 -19 -19 -19 -19 -21 -23 -24 -22 -19 -17 -15 -15 -15 -17 -21 -26 -31 -34 -35 -32 -32 -33 -34 -34 -35 -35 -34 -32 -28 -25 -22 -21 -21 -22 -22 -23 -24 -25 -28 -29 -31 -31 -31 -29 -28 -28 -29 -29 -28 -27 -28 -30 -32 -33 -35 -36 -37 -38 -37 -37 -36 -33 -31 -27 -25 -20 -14 -6 -5 -6 -7 -8 -9 -9 -9 -11 -12 -14 -16 -18 -20 -20 -21 -25 -28 -31 -34 -35 -33 -30 -28 -27 -27 -27 -26 -27 -28 -29 -32 -35 -38 -40 -41 -43 -45 -47 -48 -48 -46 -44 -42 -38 -32 -26 -22 -20 -24 -29 -30 -29 -27 -30 -31 -30 -28 -27 -28 -29 -28 -28 -27 -27 -27 -28 -28 -29 -32 -36 -41 -44 -47 -47 -46 -45 -45 -48 -51 -52 -50 -45 -42 -41 -42 -46 -51 -56 -61 -66 -69 -70 -70 -68 -65 -62 -62 -63 -63 -62 -62 -62 -62 -62 -61 -60 -59 -57 -55 -53 -52 -54 -57 -58 -59 -60 -61 -59 -55 -49 -45 -45 -48 -50 -50 -48 -49 -52 -55 -56 -56 -56 -57 -59 -64 -70 -73 -74 -74 -73 -64 -59 -60 -67 -72 -67 -65 -65 -66 -66 -63 -58 -51 -45 -47 -49 -51 -52 -54 -57 -57 -56 -53 -50 -50 -49 -48 -46 -45 -45 -47 -50 -52 -53 -54 -55 -57 -59 -60 -61 -63 -63 -62 -58 -54 -51 -49 -50 -55 -60 -63 -64 -64 -65 -64 -63 -65 -71 -74 -73 -72 -71 -70 -68 -65 -62 -60 -58 -59 -61 -62 -62 -64 -62 -59 -57 -57 -57 -58 -57 -56 -53 -51 -50 -50 -50 -50 -50 -50 -50 -51 -54 -57 -58 -58 -58 -55 -53 -52 -53 -54 -52 -50 -48 -48 -48 -47 -45 -44 -46 -48 -49 -49 -49 -49 -48 -49 -49 -48 -47 -48 -49 -48 -46 -44 -27 -24 -23 -23 -24 -25 -26 -25 -23 -21 -20 -19 -18 -18 -18 -20 -22 -24 -24 -24 -23 -20 -18 -16 -15 -15 -13 -13 -13 -14 -13 -13 -13 -13 -11 -9 -7 -6 -7 -11 -15 -17 -18 -17 -14 -12 -10 -9 -8 -10 -12 -15 -18 -20 -21 -20 -19 -19 -20 -23 -25 -25 -24 -23 -21 -18 -16 -16 -17 -17 -17 -19 -21 -24 -25 -24 -23 -21 -20 -19 -19 -18 -18 -18 -22 -24 -24 -22 -18 -17 -16 -15 -16 -19 -25 -31 -37 -40 -37 -33 -32 -32 -33 -35 -36 -37 -37 -32 -27 -23 -21 -21 -23 -23 -23 -24 -25 -26 -27 -29 -30 -31 -30 -29 -29 -29 -29 -27 -26 -27 -29 -32 -34 -35 -36 -36 -36 -37 -38 -38 -36 -32 -28 -24 -19 -10 -4 -3 -4 -6 -7 -8 -8 -9 -10 -14 -17 -20 -23 -24 -25 -25 -27 -30 -34 -37 -38 -36 -32 -29 -29 -29 -29 -30 -30 -31 -32 -33 -35 -38 -41 -42 -43 -44 -45 -47 -47 -47 -45 -42 -36 -30 -24 -20 -19 -22 -26 -30 -32 -30 -30 -30 -29 -28 -27 -28 -29 -29 -29 -29 -30 -30 -30 -29 -30 -34 -38 -41 -44 -47 -48 -47 -46 -47 -51 -53 -53 -51 -47 -44 -42 -43 -46 -51 -56 -62 -67 -71 -71 -70 -67 -64 -61 -62 -62 -62 -61 -61 -61 -61 -60 -60 -60 -60 -59 -57 -54 -52 -53 -55 -57 -59 -61 -63 -63 -59 -54 -48 -45 -46 -48 -51 -51 -50 -50 -52 -54 -56 -56 -56 -57 -60 -67 -70 -72 -73 -73 -63 -58 -59 -65 -70 -66 -63 -62 -65 -66 -65 -62 -56 -49 -48 -48 -50 -51 -53 -55 -56 -55 -51 -47 -48 -48 -47 -45 -45 -46 -48 -51 -53 -54 -53 -53 -53 -53 -54 -56 -58 -58 -55 -53 -52 -51 -51 -52 -54 -56 -59 -60 -61 -63 -63 -64 -66 -71 -73 -72 -70 -70 -69 -68 -66 -66 -66 -62 -62 -63 -62 -61 -62 -60 -58 -56 -55 -56 -56 -54 -51 -50 -49 -49 -50 -50 -50 -50 -50 -50 -51 -53 -55 -56 -58 -58 -56 -54 -53 -53 -53 -52 -50 -49 -48 -48 -47 -45 -44 -43 -46 -48 -49 -49 -50 -50 -50 -50 -48 -48 -49 -48 -47 -46 -44 -26 -23 -22 -22 -23 -24 -25 -25 -24 -22 -21 -19 -18 -17 -17 -20 -22 -23 -24 -24 -23 -20 -18 -15 -14 -13 -13 -13 -12 -12 -11 -11 -11 -12 -11 -10 -9 -9 -10 -11 -13 -15 -17 -19 -18 -16 -13 -12 -12 -13 -16 -19 -22 -24 -24 -23 -22 -22 -24 -27 -28 -27 -24 -21 -17 -14 -14 -15 -17 -19 -20 -21 -21 -24 -26 -25 -23 -22 -21 -20 -20 -19 -17 -17 -21 -25 -26 -24 -21 -19 -17 -16 -17 -18 -22 -29 -36 -41 -40 -37 -33 -32 -33 -35 -37 -40 -40 -37 -30 -25 -23 -24 -25 -26 -25 -25 -26 -27 -27 -28 -29 -31 -32 -32 -31 -30 -28 -27 -28 -29 -30 -31 -33 -34 -34 -34 -34 -35 -37 -37 -36 -32 -28 -25 -20 -14 -7 -4 -3 -4 -6 -8 -8 -9 -11 -14 -19 -25 -29 -29 -27 -25 -26 -29 -31 -35 -38 -37 -34 -30 -29 -31 -32 -33 -34 -34 -34 -34 -35 -37 -40 -42 -43 -43 -43 -45 -46 -47 -46 -42 -34 -26 -21 -18 -19 -21 -24 -29 -32 -33 -32 -31 -29 -27 -28 -29 -30 -31 -32 -34 -35 -35 -35 -35 -35 -37 -39 -41 -44 -47 -49 -48 -48 -48 -52 -55 -55 -52 -48 -44 -43 -43 -46 -51 -57 -62 -67 -72 -73 -71 -68 -64 -61 -61 -61 -60 -59 -59 -58 -58 -58 -58 -58 -59 -60 -59 -56 -53 -52 -54 -56 -59 -62 -64 -64 -62 -57 -51 -47 -46 -47 -49 -52 -52 -52 -52 -53 -54 -56 -57 -57 -57 -61 -66 -69 -72 -73 -64 -58 -57 -62 -68 -68 -65 -62 -61 -60 -60 -60 -59 -53 -49 -48 -48 -49 -52 -54 -55 -54 -50 -45 -45 -46 -46 -46 -45 -46 -48 -52 -54 -55 -53 -51 -49 -48 -50 -52 -53 -52 -49 -48 -49 -50 -52 -53 -52 -51 -53 -56 -60 -63 -65 -66 -67 -70 -70 -69 -68 -68 -68 -68 -67 -67 -67 -63 -61 -61 -60 -60 -60 -58 -55 -53 -53 -54 -53 -50 -49 -49 -49 -49 -49 -50 -50 -50 -49 -49 -51 -53 -53 -55 -57 -59 -58 -56 -54 -53 -53 -53 -52 -52 -49 -48 -47 -45 -44 -43 -45 -47 -48 -48 -50 -51 -51 -50 -48 -48 -48 -48 -47 -45 -44 -25 -22 -21 -22 -22 -23 -23 -24 -25 -24 -23 -20 -17 -16 -17 -19 -22 -23 -24 -24 -23 -20 -17 -14 -13 -13 -13 -13 -12 -10 -9 -9 -11 -12 -13 -12 -12 -13 -13 -13 -12 -13 -17 -21 -24 -22 -20 -18 -18 -19 -22 -25 -29 -31 -32 -30 -27 -26 -27 -29 -29 -27 -22 -17 -13 -12 -13 -15 -17 -20 -23 -23 -21 -21 -25 -25 -24 -23 -21 -21 -20 -19 -17 -17 -21 -25 -27 -26 -24 -22 -20 -19 -19 -19 -20 -24 -30 -35 -38 -38 -36 -35 -35 -36 -38 -41 -42 -40 -33 -28 -26 -26 -29 -29 -28 -27 -27 -28 -29 -29 -30 -32 -34 -34 -32 -30 -28 -28 -31 -32 -31 -31 -32 -34 -34 -33 -32 -34 -34 -34 -32 -29 -28 -28 -26 -22 -16 -10 -6 -4 -5 -7 -9 -10 -12 -15 -21 -28 -31 -29 -26 -25 -25 -26 -29 -32 -36 -37 -35 -32 -31 -33 -35 -37 -37 -37 -36 -35 -33 -33 -36 -40 -42 -42 -42 -43 -45 -47 -47 -42 -33 -24 -19 -17 -19 -21 -24 -28 -32 -34 -35 -32 -29 -27 -28 -29 -30 -32 -34 -37 -38 -39 -39 -38 -39 -39 -39 -40 -42 -45 -48 -50 -50 -51 -54 -57 -57 -54 -49 -45 -43 -44 -46 -51 -57 -63 -68 -72 -71 -70 -67 -64 -61 -61 -62 -61 -58 -56 -55 -56 -56 -55 -56 -58 -59 -60 -59 -56 -55 -56 -58 -61 -64 -66 -65 -62 -56 -52 -49 -48 -47 -46 -48 -50 -54 -58 -58 -55 -55 -57 -58 -55 -55 -60 -67 -71 -72 -66 -60 -58 -59 -63 -65 -66 -65 -62 -58 -56 -56 -56 -54 -50 -48 -47 -48 -51 -53 -54 -54 -50 -44 -44 -44 -45 -47 -47 -48 -50 -53 -55 -55 -52 -48 -46 -46 -47 -48 -47 -46 -44 -44 -45 -47 -50 -52 -50 -49 -49 -52 -58 -64 -69 -71 -70 -69 -68 -66 -65 -66 -67 -67 -67 -66 -65 -62 -61 -60 -60 -60 -61 -59 -56 -52 -52 -52 -51 -49 -49 -49 -48 -48 -48 -49 -49 -49 -48 -49 -51 -52 -53 -54 -57 -59 -59 -57 -54 -53 -54 -54 -55 -54 -50 -49 -48 -46 -44 -44 -46 -46 -47 -48 -50 -51 -51 -50 -49 -49 -49 -48 -47 -45 -44 -25 -23 -22 -22 -22 -21 -22 -24 -25 -25 -23 -19 -17 -16 -17 -20 -21 -23 -24 -24 -22 -19 -15 -13 -12 -12 -13 -14 -12 -10 -8 -8 -10 -13 -14 -15 -15 -15 -14 -13 -12 -13 -17 -22 -27 -27 -25 -24 -24 -26 -30 -34 -38 -41 -43 -40 -35 -30 -29 -31 -29 -24 -18 -13 -11 -12 -14 -15 -16 -18 -21 -22 -21 -22 -25 -26 -25 -23 -20 -19 -19 -18 -16 -16 -20 -23 -26 -28 -27 -25 -24 -23 -22 -21 -21 -22 -24 -28 -32 -34 -36 -37 -37 -38 -40 -42 -43 -41 -36 -31 -28 -29 -31 -32 -31 -31 -31 -31 -31 -32 -33 -34 -35 -35 -33 -30 -28 -31 -34 -35 -32 -29 -30 -32 -33 -32 -31 -32 -32 -30 -27 -26 -26 -28 -30 -30 -25 -18 -11 -6 -5 -6 -8 -10 -12 -16 -23 -29 -30 -27 -23 -23 -23 -24 -26 -29 -32 -34 -33 -32 -32 -34 -37 -39 -39 -39 -39 -38 -35 -32 -33 -35 -38 -40 -41 -42 -44 -46 -46 -42 -33 -24 -18 -17 -19 -22 -25 -28 -30 -33 -35 -34 -32 -30 -29 -30 -32 -34 -37 -39 -39 -40 -40 -40 -40 -41 -41 -41 -41 -44 -47 -49 -50 -52 -56 -58 -59 -56 -51 -47 -44 -44 -45 -49 -55 -61 -67 -69 -68 -66 -63 -61 -59 -60 -61 -60 -58 -56 -55 -55 -54 -53 -54 -56 -58 -60 -60 -58 -58 -58 -60 -63 -66 -68 -66 -61 -54 -50 -49 -49 -48 -48 -48 -50 -55 -60 -60 -56 -54 -55 -59 -56 -54 -56 -61 -66 -68 -68 -65 -61 -58 -60 -61 -63 -64 -63 -58 -55 -54 -55 -54 -53 -50 -47 -46 -48 -51 -53 -53 -51 -46 -45 -45 -46 -48 -49 -50 -53 -55 -57 -56 -53 -48 -46 -46 -45 -43 -42 -41 -41 -41 -42 -44 -47 -49 -49 -49 -48 -50 -56 -62 -67 -70 -69 -66 -64 -63 -63 -64 -65 -66 -66 -65 -63 -62 -61 -61 -60 -60 -60 -59 -57 -53 -52 -51 -50 -49 -49 -48 -48 -47 -47 -48 -48 -48 -48 -48 -49 -50 -52 -54 -57 -58 -58 -57 -54 -53 -54 -55 -55 -54 -51 -49 -49 -48 -46 -46 -46 -45 -46 -47 -49 -50 -50 -49 -49 -49 -49 -49 -48 -46 -44 -26 -25 -24 -23 -22 -21 -22 -24 -25 -24 -22 -19 -17 -17 -18 -20 -21 -23 -23 -23 -21 -17 -14 -12 -11 -11 -13 -14 -13 -10 -8 -7 -10 -13 -15 -16 -15 -14 -13 -12 -11 -12 -16 -20 -24 -26 -26 -26 -27 -30 -35 -40 -44 -45 -44 -43 -40 -36 -32 -31 -27 -20 -14 -11 -12 -13 -14 -15 -14 -14 -16 -18 -21 -26 -28 -27 -25 -23 -20 -18 -16 -15 -14 -14 -18 -23 -27 -29 -28 -28 -29 -28 -27 -24 -22 -22 -23 -25 -28 -31 -33 -36 -40 -42 -43 -43 -42 -41 -36 -31 -29 -29 -32 -33 -34 -34 -33 -33 -34 -35 -36 -37 -37 -36 -34 -32 -31 -34 -36 -35 -31 -26 -26 -27 -29 -30 -30 -31 -31 -29 -25 -23 -23 -25 -29 -32 -30 -23 -15 -10 -8 -7 -8 -10 -13 -17 -24 -30 -32 -29 -24 -21 -21 -21 -23 -26 -28 -29 -29 -30 -33 -36 -39 -41 -41 -40 -41 -41 -38 -33 -30 -30 -32 -35 -39 -41 -43 -44 -44 -42 -35 -27 -20 -17 -19 -23 -26 -28 -29 -30 -33 -35 -35 -34 -32 -32 -33 -36 -39 -40 -41 -41 -41 -39 -39 -40 -41 -42 -43 -45 -47 -48 -49 -51 -56 -59 -60 -57 -53 -49 -46 -43 -44 -47 -52 -57 -61 -62 -61 -58 -56 -54 -55 -58 -59 -59 -57 -56 -55 -54 -54 -54 -53 -54 -55 -57 -58 -60 -61 -62 -63 -65 -69 -70 -67 -61 -53 -49 -48 -49 -49 -48 -47 -49 -55 -61 -62 -60 -57 -56 -58 -57 -54 -52 -51 -54 -61 -67 -69 -65 -60 -59 -59 -60 -61 -62 -59 -56 -54 -55 -54 -53 -51 -49 -46 -47 -49 -52 -53 -52 -49 -48 -48 -49 -49 -50 -52 -54 -57 -59 -58 -55 -51 -49 -48 -45 -43 -41 -41 -41 -41 -41 -43 -45 -47 -48 -49 -49 -50 -54 -59 -63 -66 -65 -63 -62 -62 -62 -63 -64 -66 -66 -65 -64 -62 -62 -62 -61 -61 -60 -59 -56 -53 -51 -50 -48 -48 -48 -48 -48 -48 -48 -48 -48 -48 -47 -46 -47 -48 -50 -53 -56 -56 -57 -56 -55 -53 -54 -55 -55 -54 -52 -50 -50 -50 -49 -48 -46 -45 -44 -46 -47 -48 -49 -50 -50 -49 -49 -49 -49 -47 -45 -29 -28 -27 -25 -23 -22 -23 -24 -24 -23 -21 -20 -18 -18 -19 -20 -22 -23 -23 -22 -19 -16 -14 -12 -10 -11 -13 -13 -13 -11 -9 -8 -10 -12 -15 -16 -15 -13 -11 -9 -8 -10 -13 -17 -20 -21 -23 -25 -27 -29 -34 -38 -41 -42 -41 -40 -39 -36 -33 -30 -23 -16 -11 -12 -12 -13 -13 -14 -13 -14 -15 -17 -20 -24 -26 -26 -25 -23 -21 -18 -16 -15 -13 -13 -18 -25 -30 -33 -31 -32 -33 -34 -32 -28 -24 -23 -23 -25 -26 -29 -32 -35 -39 -42 -44 -44 -43 -40 -36 -32 -29 -29 -32 -35 -36 -36 -37 -36 -37 -38 -41 -43 -44 -41 -38 -34 -33 -34 -34 -32 -29 -24 -21 -23 -26 -30 -30 -30 -30 -29 -25 -20 -19 -21 -24 -28 -27 -22 -18 -15 -14 -11 -9 -10 -12 -16 -22 -28 -31 -30 -25 -20 -18 -18 -20 -23 -25 -25 -26 -28 -32 -36 -39 -40 -41 -41 -41 -41 -40 -36 -32 -29 -29 -31 -36 -39 -40 -40 -41 -44 -41 -33 -24 -18 -19 -22 -24 -27 -29 -29 -31 -34 -37 -38 -36 -34 -34 -37 -41 -43 -44 -44 -42 -38 -38 -39 -40 -42 -43 -45 -47 -49 -49 -50 -55 -58 -60 -58 -54 -50 -46 -43 -44 -46 -49 -52 -54 -55 -53 -51 -48 -47 -49 -52 -54 -55 -55 -54 -54 -53 -54 -55 -54 -54 -54 -56 -57 -59 -61 -64 -65 -68 -70 -71 -68 -62 -54 -48 -46 -47 -48 -47 -47 -48 -52 -58 -60 -61 -59 -57 -57 -55 -52 -50 -51 -53 -58 -63 -65 -63 -59 -58 -58 -58 -58 -60 -60 -58 -55 -55 -54 -53 -52 -51 -48 -48 -50 -52 -55 -55 -52 -52 -52 -52 -51 -52 -53 -55 -58 -61 -60 -57 -54 -53 -51 -48 -45 -44 -46 -45 -43 -42 -42 -44 -46 -47 -48 -49 -51 -54 -58 -60 -62 -61 -61 -61 -61 -62 -62 -63 -65 -66 -66 -64 -63 -62 -62 -62 -62 -61 -59 -56 -54 -52 -50 -48 -48 -48 -49 -49 -49 -49 -48 -48 -48 -46 -45 -45 -47 -49 -51 -54 -55 -56 -56 -55 -54 -54 -55 -56 -55 -53 -51 -50 -50 -50 -49 -47 -45 -43 -44 -46 -48 -49 -50 -51 -50 -49 -49 -49 -47 -46 -32 -32 -31 -28 -26 -24 -25 -25 -24 -22 -21 -20 -20 -20 -21 -23 -25 -25 -24 -22 -19 -16 -14 -12 -11 -11 -12 -12 -12 -12 -11 -11 -12 -13 -14 -14 -13 -11 -9 -7 -5 -6 -8 -13 -17 -19 -22 -25 -27 -29 -32 -36 -39 -40 -40 -40 -38 -36 -31 -25 -17 -12 -10 -11 -11 -12 -12 -12 -13 -14 -15 -17 -20 -23 -24 -23 -22 -21 -20 -19 -18 -16 -14 -13 -16 -21 -28 -33 -35 -36 -38 -39 -36 -30 -26 -24 -24 -25 -26 -29 -32 -34 -36 -39 -42 -43 -42 -38 -33 -30 -28 -29 -33 -36 -37 -39 -40 -41 -42 -44 -47 -48 -48 -46 -42 -39 -37 -37 -33 -28 -24 -23 -21 -21 -24 -27 -29 -29 -29 -28 -26 -21 -18 -18 -20 -23 -24 -23 -22 -21 -22 -19 -14 -11 -11 -14 -18 -23 -27 -29 -26 -22 -18 -17 -18 -20 -22 -24 -25 -27 -29 -33 -36 -38 -41 -41 -40 -40 -38 -36 -34 -32 -30 -30 -32 -35 -37 -40 -44 -48 -45 -36 -26 -18 -18 -21 -24 -26 -27 -28 -30 -35 -40 -43 -40 -36 -36 -38 -42 -44 -45 -45 -43 -38 -37 -38 -40 -41 -43 -46 -48 -49 -49 -50 -54 -57 -59 -58 -55 -50 -47 -46 -48 -49 -49 -50 -50 -51 -51 -49 -47 -44 -44 -46 -48 -50 -50 -50 -49 -49 -50 -52 -53 -53 -54 -56 -59 -60 -62 -63 -66 -69 -72 -72 -70 -64 -56 -48 -44 -44 -45 -47 -48 -48 -48 -51 -54 -58 -60 -59 -55 -51 -49 -50 -53 -55 -55 -55 -57 -57 -56 -56 -57 -58 -58 -59 -60 -60 -58 -55 -55 -53 -53 -53 -49 -49 -51 -53 -55 -56 -56 -57 -57 -56 -54 -53 -54 -56 -60 -63 -61 -58 -55 -55 -54 -51 -48 -48 -51 -52 -49 -45 -42 -44 -45 -46 -47 -49 -51 -55 -58 -60 -59 -59 -59 -60 -61 -62 -62 -62 -64 -65 -65 -65 -64 -63 -61 -62 -62 -60 -58 -57 -54 -52 -51 -50 -50 -49 -49 -50 -50 -49 -49 -48 -47 -45 -45 -45 -47 -49 -51 -52 -54 -55 -55 -54 -55 -55 -55 -55 -55 -54 -53 -51 -50 -51 -49 -48 -46 -45 -45 -46 -49 -51 -51 -52 -51 -50 -49 -49 -48 -47 -34 -35 -33 -31 -28 -26 -25 -24 -23 -23 -23 -23 -23 -24 -25 -27 -28 -29 -27 -24 -21 -18 -16 -15 -14 -13 -13 -12 -11 -12 -13 -14 -15 -15 -15 -14 -13 -11 -9 -6 -3 -3 -6 -10 -15 -19 -23 -27 -30 -32 -33 -34 -36 -38 -40 -40 -38 -33 -26 -18 -12 -9 -9 -10 -10 -11 -11 -12 -12 -14 -15 -17 -18 -20 -21 -21 -21 -20 -19 -19 -18 -16 -14 -13 -15 -18 -23 -28 -32 -36 -41 -44 -42 -34 -28 -26 -26 -26 -28 -30 -32 -34 -35 -37 -38 -38 -38 -37 -32 -29 -28 -29 -33 -37 -40 -42 -44 -46 -48 -51 -52 -50 -45 -43 -42 -43 -45 -43 -35 -27 -22 -23 -21 -20 -21 -25 -29 -28 -26 -25 -26 -24 -19 -16 -16 -20 -22 -22 -23 -25 -29 -29 -24 -17 -12 -13 -16 -21 -25 -29 -30 -27 -23 -20 -19 -18 -20 -23 -25 -26 -26 -28 -32 -36 -39 -39 -38 -36 -35 -35 -35 -35 -33 -30 -28 -28 -30 -34 -42 -47 -46 -38 -27 -19 -19 -20 -22 -24 -24 -25 -28 -34 -40 -44 -41 -38 -37 -40 -43 -43 -43 -43 -42 -39 -38 -38 -39 -40 -42 -46 -49 -50 -50 -50 -53 -56 -58 -58 -55 -51 -48 -47 -48 -49 -49 -49 -50 -52 -54 -55 -54 -48 -42 -42 -43 -46 -46 -45 -44 -43 -43 -46 -48 -50 -52 -55 -59 -61 -63 -64 -66 -70 -73 -74 -72 -66 -57 -49 -44 -42 -43 -47 -48 -47 -45 -45 -48 -52 -56 -58 -55 -50 -48 -49 -53 -55 -55 -55 -55 -54 -53 -53 -55 -56 -57 -57 -58 -60 -60 -57 -55 -53 -52 -53 -50 -50 -52 -54 -54 -56 -60 -64 -65 -62 -57 -56 -56 -57 -60 -64 -62 -58 -55 -56 -55 -53 -51 -51 -54 -54 -51 -47 -44 -45 -44 -44 -46 -49 -52 -57 -60 -60 -58 -58 -58 -59 -60 -61 -61 -62 -63 -64 -63 -64 -65 -64 -61 -61 -61 -60 -59 -57 -55 -53 -51 -50 -50 -49 -49 -50 -50 -49 -49 -48 -47 -45 -45 -45 -47 -49 -50 -51 -53 -55 -54 -54 -55 -55 -54 -55 -56 -56 -54 -53 -51 -51 -49 -47 -46 -45 -44 -46 -49 -51 -51 -51 -51 -50 -49 -49 -48 -47 -34 -35 -35 -34 -31 -28 -26 -25 -24 -25 -25 -26 -27 -28 -28 -29 -30 -30 -29 -27 -24 -22 -20 -20 -19 -17 -16 -14 -13 -13 -15 -17 -18 -18 -18 -16 -14 -12 -10 -7 -3 -3 -5 -9 -14 -19 -25 -29 -32 -34 -34 -32 -31 -33 -37 -38 -35 -28 -19 -12 -9 -9 -9 -9 -10 -11 -11 -11 -12 -13 -14 -15 -17 -18 -19 -20 -20 -20 -19 -19 -18 -16 -14 -13 -14 -16 -19 -22 -27 -34 -41 -46 -46 -39 -32 -29 -29 -29 -31 -33 -35 -36 -36 -36 -34 -33 -33 -34 -32 -29 -29 -30 -34 -39 -42 -43 -45 -47 -51 -54 -54 -51 -42 -38 -38 -43 -49 -48 -40 -30 -23 -22 -21 -19 -20 -22 -25 -24 -22 -23 -25 -25 -20 -15 -14 -17 -21 -22 -22 -24 -29 -33 -30 -23 -15 -11 -14 -18 -22 -26 -29 -29 -26 -23 -20 -19 -21 -22 -24 -25 -26 -29 -32 -36 -38 -37 -35 -32 -31 -32 -33 -34 -33 -29 -25 -23 -24 -29 -37 -44 -45 -40 -31 -22 -19 -20 -22 -24 -25 -26 -29 -34 -40 -45 -44 -41 -39 -40 -42 -40 -39 -39 -40 -40 -39 -38 -38 -38 -40 -45 -48 -50 -50 -51 -54 -57 -58 -57 -54 -50 -48 -47 -48 -49 -49 -50 -51 -52 -55 -59 -61 -58 -48 -43 -43 -46 -46 -44 -41 -38 -36 -38 -42 -45 -48 -52 -57 -60 -62 -63 -65 -69 -73 -75 -73 -67 -57 -50 -44 -41 -41 -44 -48 -49 -49 -47 -47 -48 -52 -56 -56 -51 -48 -50 -54 -57 -58 -59 -59 -57 -54 -52 -51 -53 -56 -57 -58 -60 -61 -58 -53 -51 -51 -53 -51 -51 -53 -55 -54 -55 -61 -66 -68 -64 -60 -58 -58 -60 -62 -63 -62 -58 -54 -52 -53 -52 -52 -55 -56 -54 -50 -47 -45 -45 -45 -45 -46 -49 -53 -58 -60 -59 -57 -57 -57 -58 -59 -61 -61 -62 -62 -62 -61 -62 -63 -63 -61 -61 -61 -60 -59 -57 -55 -53 -51 -49 -48 -48 -49 -49 -50 -49 -50 -49 -47 -46 -45 -45 -46 -48 -49 -50 -52 -54 -54 -55 -56 -56 -54 -54 -56 -56 -56 -54 -53 -51 -49 -47 -46 -45 -43 -44 -45 -47 -49 -50 -51 -50 -49 -48 -48 -47 -34 -35 -36 -35 -34 -31 -28 -26 -26 -27 -27 -27 -27 -27 -27 -27 -28 -29 -28 -26 -24 -23 -22 -23 -22 -21 -20 -18 -17 -17 -19 -21 -24 -25 -24 -22 -19 -16 -13 -10 -7 -6 -7 -11 -15 -21 -26 -31 -34 -35 -34 -31 -29 -29 -32 -32 -28 -21 -14 -9 -9 -9 -9 -9 -10 -11 -11 -11 -12 -12 -13 -14 -15 -17 -18 -19 -19 -20 -19 -18 -17 -15 -13 -12 -13 -14 -16 -19 -24 -31 -38 -44 -46 -43 -39 -35 -32 -32 -34 -36 -38 -38 -37 -34 -32 -31 -31 -32 -32 -30 -30 -32 -35 -40 -42 -43 -44 -45 -48 -51 -52 -49 -42 -37 -37 -42 -49 -49 -41 -32 -25 -22 -20 -19 -19 -19 -20 -20 -21 -22 -24 -23 -19 -14 -13 -16 -20 -22 -23 -25 -27 -31 -31 -27 -20 -15 -15 -16 -19 -20 -22 -23 -24 -24 -23 -22 -22 -23 -23 -24 -26 -29 -32 -35 -36 -35 -32 -29 -27 -28 -29 -30 -29 -26 -23 -22 -23 -26 -32 -39 -42 -41 -35 -27 -21 -20 -22 -24 -25 -28 -32 -36 -42 -46 -45 -43 -41 -41 -42 -41 -40 -40 -42 -40 -38 -36 -36 -36 -39 -43 -46 -49 -50 -53 -57 -59 -59 -56 -52 -49 -47 -48 -49 -50 -51 -52 -52 -53 -56 -60 -63 -61 -52 -47 -45 -45 -44 -42 -40 -36 -32 -32 -35 -39 -43 -47 -52 -56 -59 -60 -62 -67 -71 -73 -72 -66 -57 -49 -43 -38 -36 -39 -43 -47 -52 -52 -50 -49 -50 -54 -56 -54 -53 -53 -56 -59 -61 -63 -63 -61 -58 -54 -51 -51 -53 -55 -57 -59 -60 -57 -53 -51 -51 -53 -51 -51 -53 -55 -55 -56 -60 -65 -68 -67 -65 -64 -63 -62 -63 -63 -62 -59 -53 -48 -48 -50 -53 -57 -57 -54 -51 -48 -46 -46 -46 -46 -47 -50 -54 -59 -61 -59 -57 -56 -56 -57 -58 -60 -61 -62 -62 -61 -60 -60 -62 -62 -61 -59 -59 -59 -59 -57 -54 -52 -50 -48 -46 -46 -47 -48 -49 -49 -49 -49 -48 -47 -46 -45 -45 -46 -48 -49 -50 -52 -53 -55 -56 -57 -55 -54 -55 -56 -56 -55 -54 -52 -49 -46 -45 -44 -43 -43 -43 -44 -48 -50 -51 -50 -49 -49 -48 -47 -32 -33 -35 -36 -36 -33 -30 -28 -27 -27 -28 -27 -26 -26 -25 -25 -25 -27 -27 -25 -24 -23 -23 -23 -24 -24 -23 -22 -22 -22 -23 -26 -29 -31 -32 -30 -26 -22 -19 -15 -12 -11 -11 -14 -18 -23 -28 -32 -34 -35 -34 -32 -31 -30 -28 -24 -20 -16 -13 -10 -9 -9 -9 -9 -10 -10 -11 -11 -12 -12 -13 -14 -14 -15 -15 -16 -17 -17 -16 -15 -14 -13 -12 -11 -12 -13 -15 -18 -23 -29 -35 -41 -44 -45 -44 -41 -37 -37 -38 -40 -41 -40 -38 -33 -31 -30 -30 -31 -31 -31 -32 -33 -35 -39 -41 -42 -42 -41 -42 -44 -46 -46 -42 -40 -40 -42 -45 -43 -38 -31 -25 -23 -22 -21 -19 -17 -17 -19 -21 -22 -23 -21 -17 -15 -14 -16 -19 -23 -25 -27 -27 -27 -27 -25 -22 -19 -18 -18 -19 -19 -20 -21 -23 -23 -23 -23 -23 -24 -25 -27 -29 -30 -30 -31 -32 -33 -31 -28 -26 -26 -27 -26 -24 -22 -22 -23 -24 -26 -30 -35 -39 -40 -38 -32 -25 -23 -23 -24 -26 -29 -34 -39 -44 -46 -47 -46 -45 -44 -42 -41 -40 -39 -38 -37 -35 -35 -34 -34 -36 -40 -44 -49 -52 -56 -59 -61 -60 -56 -51 -49 -49 -51 -52 -53 -53 -54 -55 -57 -60 -63 -64 -61 -55 -51 -48 -45 -42 -41 -40 -38 -33 -32 -34 -36 -38 -42 -47 -50 -53 -55 -58 -62 -66 -69 -68 -64 -56 -49 -42 -37 -34 -35 -37 -42 -47 -50 -51 -50 -50 -51 -55 -58 -59 -58 -57 -60 -63 -65 -67 -66 -63 -60 -56 -53 -52 -54 -56 -57 -58 -57 -56 -54 -53 -53 -51 -50 -51 -53 -55 -56 -60 -64 -68 -70 -72 -72 -70 -68 -68 -68 -66 -62 -55 -49 -48 -49 -52 -55 -56 -56 -54 -51 -49 -48 -47 -48 -49 -51 -56 -59 -60 -58 -56 -54 -54 -54 -56 -58 -60 -61 -61 -60 -60 -59 -59 -60 -61 -61 -60 -59 -59 -56 -54 -52 -50 -48 -47 -46 -46 -47 -48 -48 -49 -49 -49 -49 -47 -46 -45 -46 -48 -48 -48 -50 -52 -53 -54 -55 -55 -54 -54 -55 -56 -56 -55 -53 -50 -47 -44 -43 -44 -44 -45 -45 -48 -50 -51 -50 -51 -50 -49 -48 -31 -32 -34 -36 -36 -34 -31 -29 -28 -28 -27 -27 -25 -24 -23 -22 -23 -25 -25 -25 -23 -23 -22 -23 -23 -24 -24 -24 -24 -24 -25 -27 -31 -33 -35 -34 -31 -27 -24 -22 -19 -16 -16 -18 -22 -27 -31 -33 -35 -35 -34 -33 -33 -32 -27 -19 -16 -15 -14 -10 -9 -9 -9 -10 -10 -10 -11 -11 -12 -12 -13 -14 -14 -13 -13 -14 -15 -15 -14 -13 -12 -12 -11 -11 -12 -13 -15 -18 -23 -29 -35 -38 -41 -43 -44 -44 -43 -43 -42 -42 -42 -41 -40 -35 -32 -30 -30 -32 -34 -34 -34 -33 -35 -37 -39 -41 -41 -40 -39 -39 -40 -41 -41 -42 -42 -42 -40 -36 -32 -28 -25 -25 -24 -22 -21 -19 -18 -19 -20 -21 -20 -19 -17 -15 -14 -15 -19 -23 -27 -29 -28 -25 -23 -22 -21 -20 -21 -21 -22 -22 -22 -22 -23 -23 -23 -23 -23 -25 -26 -29 -31 -31 -30 -29 -28 -29 -30 -29 -27 -26 -23 -20 -18 -18 -22 -26 -28 -29 -30 -33 -38 -41 -41 -36 -30 -27 -26 -26 -28 -32 -37 -42 -45 -47 -48 -48 -47 -45 -43 -42 -41 -39 -37 -37 -37 -37 -36 -34 -36 -40 -46 -51 -55 -58 -60 -60 -59 -56 -52 -51 -52 -54 -55 -56 -56 -57 -57 -59 -61 -64 -65 -62 -57 -53 -49 -45 -41 -38 -36 -36 -36 -34 -34 -34 -35 -37 -40 -44 -46 -48 -49 -54 -59 -63 -64 -60 -55 -49 -43 -38 -34 -33 -33 -36 -41 -46 -48 -49 -50 -50 -52 -55 -58 -59 -57 -58 -62 -66 -70 -70 -68 -65 -61 -57 -53 -53 -55 -57 -57 -59 -60 -59 -56 -54 -52 -50 -49 -51 -53 -57 -61 -65 -68 -73 -78 -78 -75 -73 -72 -71 -69 -64 -59 -54 -52 -53 -55 -57 -60 -60 -59 -55 -53 -52 -51 -51 -51 -54 -58 -60 -60 -57 -55 -54 -53 -52 -54 -56 -58 -59 -59 -60 -60 -59 -58 -59 -61 -62 -60 -59 -59 -58 -57 -54 -52 -49 -48 -47 -45 -46 -47 -47 -48 -49 -49 -48 -47 -46 -46 -47 -48 -48 -48 -49 -50 -51 -52 -54 -55 -54 -55 -56 -57 -56 -55 -53 -50 -47 -45 -43 -44 -46 -47 -47 -49 -50 -50 -50 -51 -51 -50 -50 -30 -31 -33 -34 -34 -33 -32 -30 -28 -27 -27 -26 -25 -23 -22 -21 -22 -24 -24 -24 -23 -22 -21 -22 -23 -24 -24 -25 -25 -25 -25 -26 -28 -31 -32 -32 -30 -28 -27 -26 -24 -22 -21 -23 -26 -30 -32 -34 -35 -36 -37 -33 -28 -24 -20 -16 -14 -14 -12 -10 -9 -9 -10 -10 -10 -11 -11 -11 -12 -12 -13 -13 -13 -13 -12 -12 -13 -13 -13 -11 -11 -11 -11 -11 -12 -13 -16 -19 -25 -30 -34 -36 -38 -41 -43 -43 -43 -42 -41 -42 -42 -41 -39 -36 -33 -32 -32 -33 -34 -34 -34 -33 -33 -34 -37 -40 -40 -40 -38 -36 -35 -35 -38 -42 -43 -41 -35 -31 -28 -26 -25 -25 -24 -24 -23 -22 -19 -17 -16 -16 -17 -18 -17 -15 -13 -14 -18 -24 -28 -30 -29 -24 -21 -19 -18 -20 -22 -23 -25 -26 -25 -25 -25 -25 -24 -23 -23 -24 -26 -28 -29 -30 -30 -28 -28 -27 -26 -26 -25 -24 -23 -21 -19 -17 -18 -18 -20 -23 -28 -34 -40 -43 -43 -40 -35 -31 -28 -28 -31 -35 -39 -43 -46 -48 -49 -49 -48 -46 -44 -42 -41 -41 -40 -40 -40 -40 -38 -36 -37 -40 -45 -51 -57 -59 -59 -58 -56 -52 -50 -51 -53 -57 -59 -60 -59 -58 -57 -57 -59 -62 -64 -63 -58 -54 -50 -48 -43 -38 -35 -33 -33 -33 -34 -35 -36 -37 -38 -40 -42 -41 -42 -46 -51 -56 -58 -57 -53 -50 -46 -42 -36 -33 -32 -34 -38 -42 -45 -49 -51 -51 -51 -53 -55 -57 -56 -56 -59 -64 -70 -71 -71 -68 -65 -60 -55 -53 -54 -57 -58 -61 -64 -62 -56 -54 -51 -50 -50 -51 -53 -57 -61 -65 -69 -76 -81 -81 -77 -75 -74 -73 -71 -67 -62 -58 -57 -59 -61 -62 -65 -65 -63 -59 -58 -57 -57 -56 -56 -58 -60 -60 -59 -57 -55 -54 -52 -51 -51 -53 -54 -56 -56 -59 -61 -61 -59 -59 -61 -61 -60 -58 -59 -57 -56 -54 -52 -50 -48 -47 -46 -46 -46 -47 -47 -48 -49 -48 -47 -47 -47 -48 -48 -48 -47 -47 -48 -49 -51 -53 -54 -54 -54 -55 -56 -55 -54 -53 -51 -48 -45 -44 -44 -46 -48 -48 -49 -49 -49 -50 -51 -51 -50 -51 -29 -30 -31 -32 -32 -32 -31 -29 -28 -27 -27 -26 -24 -23 -21 -21 -22 -23 -24 -23 -23 -22 -21 -21 -22 -24 -25 -25 -25 -24 -24 -25 -26 -27 -28 -28 -27 -26 -25 -25 -24 -24 -25 -27 -30 -32 -33 -33 -35 -38 -40 -36 -30 -24 -18 -15 -13 -12 -10 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -12 -13 -13 -12 -11 -11 -11 -11 -11 -11 -10 -11 -11 -12 -12 -13 -15 -18 -22 -28 -32 -35 -37 -38 -41 -42 -42 -40 -37 -37 -39 -40 -39 -37 -35 -33 -34 -36 -38 -37 -35 -34 -34 -33 -33 -35 -37 -39 -39 -38 -35 -33 -32 -35 -40 -42 -40 -34 -28 -25 -24 -23 -22 -22 -23 -23 -23 -20 -17 -15 -16 -18 -19 -17 -13 -11 -12 -19 -24 -28 -30 -29 -24 -20 -17 -17 -19 -21 -24 -26 -28 -28 -30 -31 -31 -28 -26 -25 -25 -25 -27 -28 -28 -28 -28 -28 -26 -26 -25 -25 -25 -25 -23 -20 -17 -16 -17 -20 -24 -30 -35 -39 -41 -43 -43 -39 -34 -31 -31 -34 -38 -42 -45 -48 -50 -50 -50 -49 -47 -44 -42 -42 -42 -43 -44 -44 -44 -43 -41 -40 -42 -46 -52 -56 -57 -56 -54 -52 -51 -51 -53 -55 -57 -58 -59 -59 -57 -55 -55 -56 -57 -60 -60 -57 -53 -51 -51 -48 -43 -37 -33 -32 -32 -33 -35 -36 -38 -39 -40 -40 -39 -39 -42 -46 -51 -56 -55 -52 -50 -48 -46 -41 -37 -35 -34 -37 -40 -44 -48 -52 -54 -54 -54 -55 -57 -58 -59 -61 -63 -67 -69 -70 -70 -67 -63 -57 -54 -53 -56 -60 -65 -67 -64 -58 -55 -52 -51 -51 -52 -55 -56 -58 -63 -70 -78 -80 -79 -76 -76 -75 -73 -71 -69 -65 -61 -59 -60 -62 -64 -66 -67 -66 -62 -60 -60 -61 -61 -60 -60 -60 -59 -59 -58 -56 -55 -53 -51 -50 -51 -52 -53 -53 -57 -60 -61 -60 -59 -60 -61 -60 -59 -59 -57 -54 -53 -53 -51 -49 -47 -46 -46 -47 -47 -47 -48 -49 -49 -49 -48 -48 -48 -47 -46 -47 -47 -47 -47 -48 -51 -53 -54 -53 -53 -54 -55 -55 -54 -52 -48 -45 -44 -43 -44 -46 -48 -49 -49 -48 -49 -50 -51 -51 -52 -27 -28 -29 -30 -30 -30 -29 -28 -27 -27 -27 -26 -24 -23 -22 -22 -23 -24 -24 -23 -23 -21 -20 -21 -22 -24 -25 -25 -24 -23 -23 -24 -25 -25 -26 -26 -25 -24 -23 -23 -23 -24 -26 -29 -31 -33 -32 -32 -35 -42 -49 -49 -43 -34 -25 -20 -15 -11 -10 -10 -11 -11 -12 -12 -12 -11 -11 -11 -12 -12 -12 -12 -11 -10 -10 -10 -10 -10 -10 -10 -10 -11 -12 -13 -14 -16 -19 -25 -31 -34 -36 -38 -39 -41 -41 -40 -38 -34 -33 -35 -36 -36 -34 -33 -34 -36 -40 -43 -42 -38 -34 -32 -33 -33 -35 -36 -37 -37 -36 -35 -33 -32 -34 -38 -40 -37 -30 -26 -23 -21 -20 -20 -21 -22 -21 -20 -20 -19 -18 -19 -21 -19 -15 -10 -8 -11 -19 -25 -29 -31 -30 -25 -20 -16 -16 -18 -22 -24 -26 -27 -29 -33 -37 -39 -36 -31 -28 -26 -26 -27 -27 -27 -27 -27 -27 -27 -27 -28 -28 -28 -29 -27 -22 -18 -18 -20 -24 -29 -35 -38 -40 -41 -42 -43 -40 -36 -33 -33 -37 -41 -46 -49 -52 -53 -52 -51 -49 -47 -45 -44 -43 -43 -44 -45 -46 -48 -49 -48 -46 -46 -49 -54 -56 -56 -53 -50 -47 -48 -51 -53 -55 -56 -57 -57 -57 -55 -54 -53 -53 -53 -54 -54 -53 -52 -51 -54 -53 -49 -42 -36 -32 -31 -31 -33 -35 -38 -39 -39 -39 -37 -37 -38 -41 -44 -47 -48 -49 -50 -51 -49 -46 -42 -39 -37 -39 -41 -44 -48 -53 -56 -58 -58 -58 -59 -61 -63 -64 -63 -64 -67 -70 -71 -71 -68 -63 -58 -56 -58 -62 -67 -69 -65 -60 -57 -55 -53 -53 -54 -55 -57 -59 -64 -71 -76 -78 -77 -77 -77 -74 -71 -69 -69 -67 -64 -61 -60 -60 -62 -64 -67 -67 -65 -62 -61 -63 -61 -59 -58 -57 -58 -59 -58 -57 -56 -54 -51 -50 -50 -51 -52 -52 -54 -57 -58 -59 -59 -60 -62 -62 -61 -60 -57 -54 -53 -53 -52 -51 -49 -47 -47 -49 -49 -47 -48 -48 -49 -50 -49 -49 -48 -47 -46 -46 -46 -46 -45 -45 -47 -51 -52 -52 -52 -53 -54 -56 -55 -52 -48 -45 -42 -42 -43 -45 -48 -49 -48 -47 -48 -49 -50 -51 -51 -26 -27 -28 -28 -28 -27 -26 -26 -26 -26 -27 -26 -24 -22 -22 -23 -24 -24 -24 -23 -22 -21 -19 -20 -21 -23 -23 -24 -23 -22 -22 -23 -23 -24 -24 -25 -24 -23 -22 -21 -21 -23 -26 -29 -32 -32 -31 -31 -34 -41 -52 -55 -49 -38 -28 -21 -16 -12 -10 -10 -12 -12 -12 -12 -11 -11 -12 -12 -12 -12 -12 -11 -10 -10 -10 -10 -9 -9 -9 -10 -11 -12 -13 -13 -15 -17 -20 -26 -33 -36 -37 -39 -41 -41 -40 -37 -35 -33 -32 -32 -32 -33 -34 -35 -35 -37 -41 -45 -45 -40 -35 -32 -35 -36 -36 -35 -35 -34 -34 -34 -33 -32 -35 -37 -37 -33 -26 -23 -21 -20 -18 -18 -19 -20 -20 -19 -18 -19 -22 -24 -24 -19 -13 -8 -6 -10 -18 -24 -29 -31 -30 -25 -20 -17 -16 -19 -23 -26 -27 -26 -30 -36 -43 -46 -44 -37 -32 -29 -28 -27 -26 -25 -24 -24 -25 -27 -29 -31 -32 -33 -32 -29 -25 -21 -22 -24 -27 -32 -37 -40 -41 -41 -42 -41 -41 -39 -38 -40 -44 -48 -51 -54 -55 -55 -53 -50 -48 -46 -45 -44 -42 -42 -42 -44 -47 -50 -53 -54 -53 -53 -54 -57 -57 -54 -50 -45 -44 -46 -49 -52 -54 -55 -57 -58 -58 -55 -53 -50 -48 -46 -46 -47 -48 -50 -54 -59 -60 -55 -48 -40 -33 -30 -30 -32 -33 -35 -36 -38 -38 -36 -35 -36 -37 -37 -39 -43 -47 -50 -52 -50 -47 -44 -42 -41 -41 -42 -44 -48 -53 -59 -62 -64 -63 -63 -65 -66 -67 -65 -65 -67 -70 -72 -73 -73 -69 -66 -65 -67 -67 -69 -69 -65 -60 -59 -59 -58 -56 -55 -57 -59 -61 -65 -70 -75 -77 -79 -78 -76 -73 -70 -68 -68 -67 -66 -64 -62 -61 -61 -64 -66 -66 -64 -62 -62 -63 -60 -57 -56 -57 -58 -58 -58 -58 -56 -54 -52 -50 -50 -50 -51 -51 -52 -53 -54 -56 -57 -59 -61 -61 -61 -61 -59 -55 -53 -53 -52 -51 -51 -49 -49 -49 -49 -47 -48 -48 -49 -50 -50 -50 -49 -48 -48 -47 -46 -46 -46 -45 -46 -48 -50 -51 -52 -53 -54 -55 -55 -53 -49 -46 -43 -42 -43 -46 -48 -48 -47 -47 -48 -49 -50 -50 -50 -27 -27 -27 -26 -25 -25 -25 -24 -25 -25 -25 -25 -24 -23 -23 -23 -24 -24 -24 -23 -22 -20 -18 -19 -20 -22 -22 -22 -22 -21 -21 -21 -22 -23 -23 -23 -23 -22 -21 -20 -20 -21 -24 -28 -31 -31 -30 -29 -31 -37 -47 -50 -44 -33 -23 -19 -16 -13 -11 -11 -12 -12 -12 -12 -11 -11 -12 -12 -12 -12 -12 -11 -10 -9 -9 -9 -9 -9 -10 -10 -11 -12 -13 -14 -16 -18 -21 -25 -31 -35 -38 -41 -42 -42 -38 -34 -32 -32 -32 -32 -33 -34 -36 -38 -38 -38 -40 -43 -44 -41 -37 -34 -36 -36 -35 -33 -31 -31 -32 -33 -33 -32 -33 -34 -32 -28 -22 -20 -19 -18 -17 -17 -17 -18 -19 -19 -18 -19 -22 -24 -25 -18 -11 -6 -5 -9 -16 -22 -27 -30 -30 -26 -22 -19 -19 -21 -25 -28 -30 -29 -31 -35 -39 -43 -43 -40 -37 -34 -32 -29 -27 -25 -23 -21 -22 -25 -28 -32 -35 -36 -34 -30 -27 -27 -27 -27 -29 -31 -36 -40 -42 -42 -41 -41 -41 -41 -42 -44 -48 -51 -53 -56 -57 -57 -54 -50 -46 -44 -43 -42 -41 -40 -42 -44 -48 -51 -55 -56 -56 -57 -59 -62 -59 -53 -47 -41 -40 -42 -46 -48 -50 -53 -56 -59 -59 -57 -54 -50 -44 -40 -39 -40 -43 -46 -51 -56 -57 -55 -49 -42 -35 -32 -31 -31 -30 -31 -33 -35 -36 -35 -34 -34 -34 -34 -36 -40 -45 -50 -53 -51 -48 -46 -46 -44 -43 -45 -48 -52 -56 -61 -66 -69 -69 -67 -68 -69 -68 -66 -66 -69 -72 -74 -74 -75 -73 -72 -74 -76 -74 -71 -67 -63 -61 -62 -63 -63 -60 -58 -60 -61 -62 -65 -70 -74 -76 -79 -79 -77 -74 -70 -67 -67 -67 -67 -66 -64 -63 -63 -64 -65 -64 -61 -61 -61 -62 -58 -56 -56 -56 -57 -58 -59 -59 -58 -55 -52 -51 -50 -50 -51 -52 -52 -52 -52 -55 -57 -58 -58 -57 -59 -60 -59 -56 -55 -53 -52 -51 -51 -50 -49 -49 -48 -46 -47 -48 -49 -50 -50 -50 -49 -49 -50 -48 -47 -46 -46 -45 -45 -47 -48 -50 -50 -52 -54 -55 -55 -53 -52 -49 -46 -45 -44 -46 -48 -49 -47 -47 -47 -48 -49 -49 -48 -28 -28 -27 -25 -24 -24 -24 -23 -24 -24 -24 -24 -23 -23 -23 -23 -22 -21 -21 -22 -21 -18 -17 -17 -19 -21 -21 -21 -20 -19 -18 -19 -20 -21 -22 -22 -22 -21 -20 -19 -18 -19 -22 -25 -27 -28 -27 -28 -29 -31 -37 -38 -32 -23 -17 -16 -15 -12 -11 -10 -11 -11 -11 -11 -11 -11 -12 -12 -13 -12 -12 -11 -10 -9 -9 -9 -9 -9 -10 -10 -11 -12 -14 -16 -17 -18 -20 -23 -28 -34 -39 -42 -43 -41 -36 -32 -30 -31 -34 -36 -37 -38 -39 -39 -38 -38 -38 -41 -42 -42 -40 -37 -34 -32 -29 -27 -27 -28 -30 -31 -32 -31 -30 -29 -27 -23 -19 -17 -16 -16 -16 -16 -15 -15 -16 -17 -18 -18 -21 -23 -23 -16 -9 -5 -6 -10 -15 -19 -23 -27 -29 -27 -25 -23 -22 -23 -25 -28 -30 -31 -31 -32 -33 -35 -39 -41 -41 -39 -37 -32 -28 -24 -22 -20 -19 -21 -25 -31 -35 -37 -36 -33 -31 -30 -30 -30 -29 -29 -33 -38 -42 -43 -42 -41 -41 -43 -45 -46 -49 -51 -53 -55 -56 -56 -54 -50 -45 -42 -41 -41 -40 -40 -42 -45 -49 -52 -56 -58 -59 -61 -64 -67 -63 -56 -46 -39 -38 -40 -42 -44 -46 -50 -55 -58 -60 -58 -54 -48 -42 -37 -36 -37 -39 -42 -46 -49 -50 -48 -44 -41 -38 -36 -34 -32 -30 -30 -31 -33 -34 -35 -34 -32 -32 -32 -34 -38 -44 -49 -53 -52 -51 -50 -50 -49 -50 -53 -58 -61 -62 -65 -70 -73 -72 -69 -69 -69 -68 -64 -65 -68 -72 -76 -77 -78 -77 -77 -79 -80 -78 -75 -72 -69 -67 -66 -67 -68 -65 -62 -61 -62 -63 -65 -69 -72 -74 -76 -77 -75 -73 -70 -69 -70 -69 -67 -66 -66 -65 -64 -63 -63 -62 -60 -59 -59 -59 -57 -56 -56 -56 -57 -59 -61 -61 -60 -57 -54 -51 -50 -52 -54 -55 -54 -52 -51 -53 -55 -56 -55 -53 -56 -58 -58 -56 -56 -53 -52 -51 -51 -50 -49 -48 -47 -47 -47 -48 -49 -51 -50 -50 -50 -50 -52 -50 -47 -46 -46 -46 -45 -46 -47 -48 -50 -51 -53 -53 -54 -53 -53 -52 -50 -48 -46 -47 -48 -49 -48 -47 -47 -47 -48 -47 -47 -29 -28 -27 -26 -25 -25 -24 -24 -24 -24 -23 -22 -22 -22 -22 -22 -21 -19 -19 -19 -19 -17 -14 -15 -17 -20 -21 -21 -20 -18 -17 -16 -18 -19 -20 -20 -20 -20 -19 -18 -17 -18 -20 -21 -22 -23 -24 -26 -28 -27 -27 -26 -22 -17 -15 -15 -13 -11 -10 -9 -10 -11 -11 -11 -11 -12 -12 -13 -13 -12 -12 -11 -11 -11 -10 -10 -9 -9 -9 -10 -12 -13 -14 -16 -18 -19 -20 -23 -29 -36 -41 -43 -43 -40 -34 -30 -29 -32 -37 -41 -42 -42 -41 -38 -35 -34 -35 -37 -39 -41 -42 -39 -32 -27 -24 -23 -24 -27 -29 -31 -31 -28 -25 -23 -21 -19 -16 -14 -14 -15 -15 -14 -13 -13 -13 -15 -16 -18 -20 -22 -21 -13 -7 -5 -8 -13 -16 -18 -20 -23 -26 -28 -28 -26 -25 -25 -26 -28 -29 -31 -31 -31 -30 -31 -35 -39 -42 -43 -41 -34 -29 -25 -22 -20 -18 -19 -22 -28 -32 -33 -35 -35 -34 -33 -32 -31 -29 -28 -30 -35 -40 -43 -44 -43 -43 -44 -46 -47 -49 -51 -51 -52 -53 -54 -53 -50 -46 -43 -42 -42 -41 -41 -43 -46 -49 -52 -55 -57 -59 -62 -67 -69 -66 -58 -48 -41 -38 -38 -40 -42 -45 -49 -53 -56 -57 -55 -50 -46 -42 -39 -39 -39 -40 -41 -42 -42 -41 -39 -39 -38 -39 -39 -38 -36 -34 -32 -31 -31 -32 -33 -32 -31 -30 -31 -34 -38 -42 -47 -52 -53 -53 -52 -53 -54 -57 -63 -70 -74 -71 -71 -73 -75 -73 -68 -65 -64 -64 -62 -62 -65 -71 -76 -78 -79 -79 -78 -80 -82 -81 -78 -76 -76 -74 -70 -68 -69 -67 -64 -64 -64 -65 -65 -68 -70 -72 -75 -76 -75 -73 -71 -71 -72 -71 -68 -66 -65 -64 -62 -61 -60 -60 -59 -58 -57 -56 -56 -56 -56 -56 -57 -59 -61 -62 -62 -60 -56 -52 -50 -53 -55 -56 -56 -53 -51 -50 -52 -53 -52 -51 -54 -56 -55 -54 -53 -52 -50 -51 -50 -49 -49 -48 -48 -48 -48 -48 -49 -51 -51 -51 -51 -51 -51 -50 -47 -46 -45 -45 -44 -44 -45 -47 -49 -50 -51 -52 -52 -53 -53 -53 -52 -51 -49 -48 -48 -50 -48 -47 -46 -46 -46 -46 -46 -28 -28 -27 -27 -26 -26 -25 -24 -24 -23 -22 -21 -20 -21 -22 -22 -20 -17 -17 -17 -17 -15 -12 -12 -15 -19 -22 -23 -23 -20 -18 -15 -15 -17 -18 -19 -19 -19 -19 -18 -17 -18 -19 -19 -19 -19 -22 -25 -27 -27 -24 -22 -20 -19 -19 -16 -12 -10 -9 -9 -10 -11 -12 -13 -13 -14 -14 -13 -13 -12 -12 -12 -12 -13 -13 -12 -12 -11 -10 -10 -11 -12 -14 -16 -18 -19 -21 -24 -31 -37 -41 -42 -41 -38 -33 -30 -30 -34 -39 -42 -43 -42 -39 -34 -32 -32 -35 -37 -39 -42 -42 -39 -30 -24 -21 -21 -23 -27 -31 -32 -30 -25 -20 -16 -15 -14 -14 -13 -13 -13 -13 -13 -11 -10 -10 -10 -13 -17 -21 -22 -19 -11 -7 -7 -12 -16 -18 -18 -18 -20 -24 -27 -27 -25 -24 -25 -27 -29 -30 -30 -31 -31 -31 -31 -33 -38 -42 -45 -44 -38 -32 -27 -23 -19 -17 -18 -21 -24 -28 -33 -36 -38 -37 -36 -34 -30 -28 -28 -31 -35 -39 -43 -45 -45 -44 -45 -46 -47 -48 -49 -49 -48 -49 -50 -51 -50 -48 -45 -44 -44 -44 -44 -45 -46 -49 -52 -55 -56 -59 -63 -67 -69 -66 -59 -50 -42 -40 -40 -42 -46 -49 -51 -52 -54 -54 -51 -48 -45 -44 -44 -45 -45 -43 -42 -40 -39 -37 -35 -35 -37 -39 -40 -40 -37 -35 -33 -32 -31 -30 -31 -32 -32 -31 -31 -34 -38 -42 -46 -50 -52 -52 -53 -54 -58 -63 -69 -74 -77 -73 -71 -69 -69 -67 -63 -59 -57 -57 -57 -57 -60 -66 -72 -76 -78 -78 -77 -79 -81 -80 -78 -76 -77 -75 -71 -67 -66 -65 -65 -66 -67 -68 -66 -66 -68 -70 -74 -76 -76 -74 -72 -72 -72 -71 -69 -68 -65 -62 -60 -58 -59 -59 -59 -58 -56 -54 -56 -57 -57 -56 -57 -58 -60 -61 -61 -60 -57 -53 -51 -52 -54 -54 -54 -54 -51 -49 -48 -49 -49 -49 -52 -55 -54 -53 -51 -50 -49 -50 -49 -48 -48 -48 -48 -48 -48 -48 -49 -51 -52 -52 -51 -51 -51 -50 -48 -47 -45 -45 -44 -43 -44 -46 -47 -48 -49 -51 -52 -53 -54 -53 -52 -52 -51 -49 -49 -51 -49 -47 -46 -47 -46 -45 -44 -28 -28 -28 -28 -28 -27 -27 -25 -24 -22 -21 -20 -19 -20 -21 -21 -20 -17 -16 -16 -15 -13 -11 -11 -13 -17 -22 -25 -26 -24 -21 -17 -15 -15 -16 -17 -18 -18 -18 -18 -18 -20 -21 -20 -19 -20 -22 -24 -24 -24 -24 -24 -23 -21 -20 -14 -10 -9 -10 -10 -10 -11 -12 -14 -14 -15 -15 -14 -14 -13 -12 -12 -12 -13 -14 -15 -15 -14 -12 -11 -11 -12 -13 -15 -18 -20 -23 -28 -34 -38 -41 -41 -40 -36 -32 -30 -32 -37 -40 -42 -43 -42 -38 -33 -31 -31 -33 -35 -39 -43 -44 -41 -32 -25 -22 -23 -25 -28 -30 -28 -24 -17 -14 -13 -12 -12 -12 -13 -14 -13 -13 -11 -10 -8 -7 -7 -10 -14 -18 -19 -16 -10 -9 -12 -17 -20 -21 -20 -19 -19 -22 -23 -22 -21 -21 -24 -28 -30 -31 -32 -33 -35 -35 -34 -34 -37 -42 -45 -45 -40 -35 -30 -26 -21 -19 -19 -21 -23 -27 -32 -35 -38 -38 -37 -36 -33 -31 -30 -33 -37 -40 -43 -44 -44 -45 -46 -48 -48 -48 -48 -47 -46 -46 -48 -49 -50 -49 -47 -46 -46 -46 -47 -48 -48 -49 -52 -54 -57 -60 -65 -69 -69 -65 -58 -49 -42 -39 -40 -43 -46 -50 -52 -52 -52 -51 -51 -51 -49 -49 -52 -54 -52 -47 -41 -38 -37 -36 -35 -35 -36 -38 -40 -39 -37 -34 -33 -34 -33 -30 -31 -33 -35 -35 -34 -36 -39 -42 -45 -48 -49 -51 -53 -55 -60 -66 -71 -74 -74 -70 -67 -65 -64 -62 -59 -56 -52 -50 -49 -49 -53 -59 -66 -73 -76 -76 -75 -77 -78 -78 -76 -75 -75 -72 -69 -67 -65 -64 -64 -65 -66 -67 -66 -65 -66 -68 -71 -73 -74 -74 -73 -73 -73 -71 -70 -69 -65 -60 -55 -53 -56 -58 -59 -58 -56 -55 -56 -57 -57 -56 -57 -58 -59 -59 -59 -59 -57 -54 -52 -53 -53 -52 -51 -53 -52 -49 -47 -46 -46 -46 -50 -53 -54 -53 -52 -51 -49 -47 -47 -47 -47 -47 -47 -47 -48 -48 -49 -51 -52 -52 -53 -52 -52 -50 -49 -48 -47 -46 -45 -44 -44 -45 -46 -46 -47 -49 -51 -53 -53 -53 -52 -52 -52 -50 -49 -51 -50 -48 -47 -48 -46 -45 -44 -27 -27 -28 -28 -28 -28 -27 -26 -24 -22 -21 -19 -18 -19 -19 -20 -19 -17 -16 -15 -14 -13 -11 -10 -12 -15 -18 -21 -22 -22 -20 -17 -15 -14 -14 -16 -17 -17 -17 -17 -17 -18 -19 -19 -19 -21 -23 -24 -24 -24 -25 -24 -23 -22 -19 -14 -11 -11 -11 -11 -11 -12 -12 -13 -15 -15 -15 -15 -14 -14 -14 -13 -13 -14 -15 -16 -17 -17 -16 -15 -14 -14 -15 -16 -19 -22 -25 -28 -32 -37 -41 -43 -42 -37 -34 -33 -36 -39 -42 -42 -41 -39 -35 -32 -31 -32 -33 -34 -38 -42 -43 -42 -36 -30 -26 -25 -26 -28 -27 -23 -18 -13 -12 -11 -10 -10 -10 -11 -12 -12 -12 -11 -9 -8 -7 -6 -7 -9 -10 -12 -11 -10 -13 -17 -22 -24 -25 -23 -20 -17 -17 -18 -19 -20 -21 -24 -27 -29 -32 -35 -39 -41 -40 -35 -34 -37 -40 -43 -42 -37 -33 -30 -28 -25 -22 -22 -22 -24 -27 -30 -33 -36 -38 -36 -37 -37 -36 -35 -36 -39 -42 -44 -45 -45 -45 -45 -46 -47 -47 -46 -45 -43 -43 -45 -48 -51 -51 -50 -48 -48 -48 -49 -51 -52 -52 -54 -56 -59 -62 -66 -70 -69 -65 -57 -48 -40 -37 -37 -38 -41 -45 -47 -48 -48 -48 -48 -48 -49 -52 -59 -62 -57 -48 -38 -34 -36 -37 -37 -36 -36 -36 -37 -38 -36 -33 -32 -34 -35 -33 -33 -36 -39 -39 -37 -38 -40 -42 -44 -46 -48 -50 -53 -56 -61 -67 -72 -73 -70 -64 -61 -60 -60 -59 -57 -55 -52 -49 -46 -46 -49 -55 -61 -68 -71 -72 -71 -73 -74 -74 -74 -74 -72 -69 -66 -65 -64 -63 -63 -63 -63 -64 -63 -64 -65 -66 -67 -69 -70 -71 -73 -74 -74 -73 -70 -67 -63 -58 -53 -51 -54 -57 -57 -57 -56 -55 -55 -56 -56 -55 -56 -57 -57 -57 -58 -58 -57 -55 -53 -52 -52 -51 -50 -51 -51 -49 -46 -44 -42 -43 -47 -51 -53 -52 -52 -50 -48 -45 -45 -46 -47 -47 -46 -45 -46 -47 -48 -50 -51 -52 -53 -54 -53 -51 -50 -49 -49 -48 -46 -44 -44 -44 -44 -45 -46 -48 -50 -51 -51 -51 -50 -51 -52 -51 -49 -50 -50 -48 -47 -47 -46 -45 -45 -26 -26 -27 -28 -28 -28 -27 -26 -24 -23 -21 -20 -19 -19 -19 -19 -19 -18 -17 -15 -14 -12 -11 -10 -11 -13 -15 -17 -19 -19 -18 -16 -14 -13 -14 -16 -17 -17 -17 -17 -17 -17 -17 -18 -19 -21 -22 -22 -23 -23 -23 -22 -22 -22 -21 -18 -17 -16 -14 -11 -11 -12 -12 -13 -14 -14 -15 -15 -16 -16 -16 -15 -15 -15 -16 -17 -18 -19 -19 -18 -18 -18 -19 -20 -22 -25 -27 -29 -31 -35 -39 -42 -43 -40 -38 -38 -40 -41 -41 -40 -39 -36 -34 -33 -34 -34 -35 -35 -37 -39 -41 -41 -38 -34 -29 -27 -27 -26 -24 -19 -15 -12 -11 -10 -9 -8 -8 -9 -11 -12 -12 -12 -11 -10 -8 -8 -8 -8 -8 -7 -5 -7 -12 -17 -22 -25 -25 -24 -21 -17 -15 -15 -16 -18 -21 -24 -27 -31 -36 -42 -47 -47 -42 -35 -34 -34 -36 -36 -35 -31 -28 -26 -26 -26 -26 -26 -25 -26 -28 -29 -32 -34 -37 -36 -37 -38 -39 -39 -40 -42 -44 -45 -46 -46 -46 -45 -44 -45 -46 -46 -45 -44 -44 -45 -47 -49 -51 -52 -52 -52 -50 -50 -52 -55 -57 -60 -61 -62 -64 -67 -69 -70 -66 -59 -50 -41 -36 -34 -34 -36 -38 -40 -42 -42 -41 -41 -42 -45 -49 -54 -56 -51 -41 -31 -31 -35 -37 -38 -37 -35 -33 -33 -35 -34 -31 -30 -32 -33 -32 -33 -37 -40 -40 -38 -38 -40 -43 -46 -48 -49 -51 -54 -57 -62 -67 -71 -72 -67 -60 -56 -55 -57 -57 -57 -57 -57 -54 -51 -50 -52 -56 -61 -66 -69 -70 -70 -69 -69 -71 -71 -72 -69 -66 -63 -62 -62 -61 -61 -61 -61 -61 -61 -61 -62 -64 -65 -65 -66 -68 -72 -75 -75 -74 -70 -65 -62 -58 -55 -53 -55 -56 -56 -54 -54 -54 -54 -54 -55 -54 -55 -55 -55 -54 -55 -56 -56 -55 -52 -51 -50 -50 -50 -51 -50 -48 -44 -40 -38 -41 -45 -49 -51 -51 -51 -50 -47 -44 -44 -45 -45 -46 -45 -44 -45 -46 -47 -48 -50 -52 -53 -54 -54 -52 -50 -49 -49 -48 -46 -44 -44 -44 -43 -43 -44 -47 -49 -50 -49 -49 -49 -51 -51 -51 -48 -48 -49 -48 -47 -46 -45 -45 -45 -25 -25 -26 -27 -28 -28 -28 -26 -25 -23 -22 -21 -20 -21 -22 -22 -20 -18 -19 -17 -14 -11 -11 -10 -10 -12 -14 -15 -17 -19 -19 -16 -14 -14 -16 -18 -20 -21 -20 -18 -17 -17 -17 -18 -19 -20 -20 -21 -22 -22 -22 -21 -21 -22 -23 -22 -23 -22 -19 -14 -13 -13 -13 -13 -14 -15 -16 -18 -18 -18 -17 -17 -16 -16 -16 -17 -19 -20 -21 -22 -22 -23 -24 -27 -28 -28 -29 -31 -32 -33 -37 -40 -42 -41 -41 -42 -42 -41 -39 -37 -36 -36 -35 -35 -36 -36 -36 -35 -35 -36 -37 -39 -38 -35 -31 -29 -28 -26 -22 -18 -15 -14 -12 -10 -9 -8 -7 -8 -9 -11 -12 -13 -13 -12 -11 -10 -9 -7 -4 -1 2 -1 -8 -16 -22 -25 -25 -25 -23 -21 -17 -15 -15 -18 -23 -27 -31 -36 -41 -45 -46 -44 -39 -32 -31 -31 -32 -32 -32 -30 -28 -27 -26 -28 -29 -28 -28 -27 -29 -29 -31 -33 -36 -37 -37 -38 -40 -42 -44 -46 -47 -47 -47 -48 -47 -46 -45 -45 -46 -47 -47 -46 -47 -48 -49 -50 -51 -52 -54 -54 -54 -54 -56 -58 -62 -64 -65 -65 -66 -66 -68 -70 -69 -64 -54 -44 -37 -34 -33 -34 -34 -35 -35 -36 -35 -36 -37 -40 -44 -47 -46 -41 -36 -31 -32 -35 -38 -39 -37 -34 -32 -31 -31 -30 -29 -29 -30 -31 -30 -32 -37 -40 -40 -39 -39 -41 -44 -48 -52 -54 -55 -55 -57 -61 -65 -68 -68 -64 -58 -53 -51 -53 -55 -57 -60 -62 -61 -58 -56 -55 -57 -61 -66 -70 -71 -68 -63 -63 -65 -66 -65 -63 -61 -60 -59 -59 -60 -61 -60 -59 -59 -58 -59 -60 -61 -63 -65 -66 -68 -71 -75 -76 -75 -71 -66 -62 -58 -57 -57 -57 -56 -55 -53 -52 -52 -52 -51 -51 -51 -52 -52 -52 -54 -54 -54 -54 -53 -51 -48 -47 -48 -51 -52 -52 -50 -46 -40 -37 -39 -42 -45 -48 -50 -50 -48 -46 -44 -43 -42 -42 -43 -45 -45 -45 -46 -47 -47 -48 -50 -52 -53 -53 -52 -51 -50 -49 -47 -46 -44 -43 -42 -41 -41 -42 -45 -47 -47 -47 -47 -47 -49 -51 -51 -48 -47 -46 -46 -45 -45 -44 -44 -43 -23 -24 -25 -27 -28 -29 -28 -27 -25 -24 -23 -22 -22 -24 -26 -26 -24 -21 -20 -19 -17 -15 -14 -13 -13 -13 -12 -13 -14 -15 -15 -14 -15 -17 -18 -19 -23 -25 -23 -20 -18 -17 -17 -18 -19 -19 -18 -19 -21 -22 -22 -21 -22 -23 -24 -26 -28 -27 -24 -20 -18 -18 -17 -16 -17 -18 -20 -22 -22 -20 -17 -16 -16 -16 -17 -18 -19 -21 -23 -25 -26 -27 -29 -32 -32 -31 -31 -32 -34 -34 -36 -38 -40 -40 -41 -42 -43 -41 -37 -35 -35 -37 -37 -36 -36 -36 -35 -34 -33 -33 -35 -37 -37 -35 -32 -31 -30 -27 -22 -18 -16 -15 -13 -11 -10 -8 -7 -8 -9 -10 -12 -13 -14 -14 -14 -12 -9 -5 -0 4 7 4 -4 -13 -20 -24 -25 -26 -25 -23 -20 -17 -18 -21 -26 -30 -34 -38 -44 -46 -44 -38 -33 -29 -30 -30 -32 -34 -34 -31 -28 -26 -26 -28 -29 -29 -28 -27 -28 -29 -31 -33 -36 -37 -38 -40 -42 -44 -47 -50 -52 -51 -50 -49 -48 -48 -47 -46 -46 -48 -49 -50 -50 -51 -51 -51 -51 -52 -53 -54 -56 -56 -58 -60 -64 -67 -68 -68 -68 -67 -67 -68 -69 -67 -60 -49 -41 -37 -35 -35 -34 -33 -31 -31 -32 -33 -34 -36 -38 -40 -40 -39 -36 -34 -34 -35 -36 -37 -36 -34 -32 -31 -30 -28 -29 -31 -32 -31 -30 -32 -36 -39 -39 -40 -41 -43 -45 -50 -54 -56 -56 -56 -58 -60 -62 -62 -61 -58 -54 -50 -48 -50 -53 -57 -61 -64 -65 -65 -62 -59 -57 -61 -66 -70 -72 -68 -62 -60 -60 -61 -61 -61 -59 -57 -57 -57 -58 -59 -59 -58 -57 -58 -58 -58 -59 -62 -64 -66 -68 -71 -74 -76 -76 -74 -68 -62 -58 -57 -58 -58 -56 -54 -52 -50 -49 -49 -48 -48 -49 -49 -50 -51 -54 -54 -53 -52 -52 -50 -47 -46 -47 -51 -52 -53 -52 -48 -41 -38 -37 -39 -41 -44 -46 -47 -46 -45 -44 -43 -41 -40 -41 -44 -45 -46 -46 -46 -45 -45 -48 -51 -51 -51 -51 -51 -50 -49 -48 -47 -44 -42 -40 -40 -39 -39 -42 -44 -45 -45 -46 -46 -48 -50 -50 -48 -47 -45 -44 -43 -44 -43 -43 -43 -22 -23 -24 -27 -28 -28 -28 -26 -25 -24 -24 -24 -25 -26 -28 -28 -27 -23 -22 -22 -21 -21 -21 -19 -18 -16 -14 -14 -15 -13 -11 -11 -17 -20 -20 -19 -22 -24 -23 -21 -20 -18 -18 -18 -19 -19 -18 -18 -19 -21 -22 -22 -22 -23 -25 -29 -31 -30 -27 -25 -25 -25 -24 -23 -22 -23 -25 -26 -24 -19 -16 -15 -16 -16 -18 -19 -21 -23 -26 -29 -30 -31 -31 -31 -31 -31 -30 -30 -32 -35 -36 -37 -36 -37 -39 -41 -42 -41 -38 -37 -37 -38 -38 -36 -35 -35 -34 -33 -32 -32 -34 -37 -37 -35 -33 -33 -33 -29 -23 -18 -16 -14 -13 -13 -12 -10 -9 -10 -10 -11 -12 -13 -14 -15 -15 -14 -10 -5 2 7 8 5 -1 -9 -17 -22 -24 -24 -24 -24 -22 -21 -22 -24 -28 -30 -33 -36 -40 -41 -36 -32 -29 -32 -35 -35 -35 -36 -37 -34 -30 -27 -26 -28 -29 -30 -29 -29 -30 -31 -33 -35 -37 -38 -39 -40 -42 -46 -49 -52 -55 -56 -53 -50 -49 -49 -48 -47 -46 -47 -49 -51 -52 -53 -53 -52 -52 -51 -51 -52 -54 -56 -59 -62 -66 -69 -71 -71 -70 -68 -67 -67 -67 -68 -66 -58 -49 -42 -37 -36 -35 -32 -30 -30 -31 -32 -33 -34 -34 -35 -36 -36 -36 -35 -34 -34 -34 -34 -33 -32 -31 -31 -30 -30 -32 -34 -34 -32 -31 -32 -34 -37 -39 -42 -45 -47 -47 -50 -54 -56 -57 -58 -60 -61 -62 -61 -58 -54 -50 -46 -45 -47 -50 -55 -60 -64 -66 -66 -65 -63 -59 -60 -64 -68 -69 -66 -61 -59 -58 -58 -59 -59 -57 -56 -55 -54 -55 -56 -57 -57 -57 -59 -60 -59 -58 -59 -62 -65 -68 -70 -72 -74 -76 -74 -70 -63 -57 -52 -54 -55 -55 -53 -51 -49 -47 -46 -45 -45 -47 -48 -49 -50 -52 -51 -51 -51 -52 -50 -48 -46 -46 -49 -50 -51 -51 -48 -42 -38 -37 -38 -39 -41 -43 -44 -44 -44 -43 -42 -41 -39 -40 -42 -44 -45 -46 -44 -43 -43 -45 -48 -51 -51 -51 -51 -50 -49 -48 -47 -45 -42 -40 -39 -39 -38 -40 -41 -42 -43 -44 -46 -47 -48 -49 -48 -47 -46 -44 -43 -44 -43 -42 -42 -21 -22 -24 -26 -27 -27 -26 -25 -25 -25 -25 -25 -26 -26 -28 -29 -28 -25 -25 -24 -24 -24 -25 -24 -22 -20 -18 -18 -16 -12 -9 -11 -18 -21 -20 -19 -20 -21 -20 -20 -21 -21 -19 -19 -19 -20 -20 -19 -19 -19 -20 -20 -20 -22 -24 -29 -32 -32 -30 -29 -28 -28 -27 -28 -28 -29 -27 -24 -20 -16 -16 -16 -18 -19 -21 -22 -24 -26 -29 -32 -33 -34 -33 -31 -30 -30 -30 -31 -35 -37 -37 -35 -33 -36 -38 -40 -41 -42 -41 -40 -40 -39 -37 -36 -35 -34 -32 -32 -32 -33 -35 -37 -36 -34 -34 -36 -39 -33 -25 -18 -14 -14 -13 -13 -12 -12 -11 -11 -12 -13 -13 -13 -13 -14 -15 -14 -11 -6 -0 4 6 4 -1 -7 -13 -18 -20 -22 -22 -23 -24 -25 -26 -27 -29 -31 -33 -35 -36 -33 -29 -27 -28 -34 -40 -40 -38 -34 -32 -29 -28 -27 -27 -28 -30 -30 -29 -29 -30 -32 -34 -36 -38 -41 -42 -42 -44 -47 -51 -54 -58 -60 -57 -53 -50 -48 -48 -47 -46 -46 -47 -50 -52 -53 -53 -52 -51 -50 -50 -51 -53 -56 -59 -63 -67 -71 -73 -73 -71 -68 -65 -63 -64 -65 -69 -66 -58 -47 -38 -35 -34 -33 -31 -31 -31 -31 -33 -34 -34 -33 -33 -33 -33 -34 -33 -32 -32 -30 -29 -30 -31 -32 -31 -32 -35 -37 -37 -34 -34 -34 -35 -38 -41 -45 -48 -50 -50 -50 -52 -55 -58 -60 -62 -63 -64 -63 -59 -54 -50 -46 -45 -45 -48 -52 -57 -62 -64 -65 -66 -65 -62 -61 -63 -66 -66 -63 -60 -59 -58 -58 -58 -58 -59 -57 -54 -52 -52 -53 -55 -55 -57 -60 -63 -63 -60 -59 -60 -62 -65 -67 -70 -73 -75 -74 -72 -67 -60 -51 -49 -50 -51 -53 -51 -49 -47 -44 -42 -43 -45 -46 -47 -50 -50 -49 -48 -48 -50 -50 -48 -47 -46 -48 -49 -50 -50 -47 -43 -39 -36 -36 -37 -39 -40 -41 -41 -42 -42 -41 -39 -38 -38 -39 -41 -42 -44 -43 -42 -42 -43 -46 -49 -50 -50 -51 -50 -49 -48 -47 -45 -43 -41 -39 -38 -37 -38 -39 -40 -41 -43 -44 -46 -47 -48 -48 -48 -47 -45 -45 -45 -44 -41 -40 -21 -23 -24 -26 -26 -26 -26 -25 -25 -26 -26 -26 -26 -26 -27 -28 -29 -27 -27 -26 -24 -23 -24 -25 -24 -23 -22 -20 -15 -11 -10 -13 -16 -18 -19 -21 -23 -22 -18 -16 -17 -19 -19 -19 -20 -24 -27 -25 -21 -18 -17 -18 -18 -19 -21 -26 -29 -30 -31 -30 -29 -28 -28 -30 -32 -31 -27 -22 -18 -16 -17 -18 -20 -22 -25 -26 -28 -30 -32 -33 -33 -33 -32 -29 -25 -24 -26 -32 -39 -42 -40 -35 -32 -35 -38 -40 -41 -42 -42 -42 -40 -39 -38 -37 -36 -34 -31 -30 -31 -33 -35 -37 -36 -34 -34 -38 -43 -37 -28 -20 -15 -13 -13 -13 -12 -11 -11 -11 -13 -15 -15 -13 -12 -12 -13 -13 -12 -9 -5 -0 3 1 -2 -7 -9 -14 -17 -19 -21 -23 -26 -28 -29 -29 -31 -35 -37 -36 -33 -27 -23 -23 -27 -35 -41 -42 -40 -35 -30 -27 -25 -25 -25 -26 -27 -28 -28 -28 -30 -33 -35 -38 -41 -45 -47 -47 -48 -50 -54 -58 -61 -63 -60 -56 -52 -48 -47 -46 -44 -44 -45 -49 -51 -52 -53 -52 -50 -50 -50 -52 -54 -56 -60 -64 -68 -72 -74 -74 -72 -69 -66 -64 -63 -64 -67 -68 -63 -55 -46 -41 -39 -38 -37 -35 -34 -34 -35 -36 -38 -35 -32 -31 -31 -31 -31 -31 -30 -29 -28 -28 -30 -31 -30 -31 -34 -38 -40 -39 -39 -40 -41 -42 -44 -46 -49 -52 -52 -51 -53 -55 -58 -60 -62 -64 -65 -65 -60 -54 -51 -48 -47 -47 -47 -50 -55 -61 -62 -63 -64 -65 -63 -63 -64 -66 -66 -62 -60 -60 -60 -60 -60 -61 -62 -60 -55 -51 -50 -51 -55 -55 -57 -61 -64 -65 -63 -62 -62 -63 -62 -64 -67 -72 -73 -73 -71 -67 -60 -52 -48 -47 -48 -52 -52 -50 -47 -44 -42 -43 -44 -45 -46 -48 -48 -48 -47 -47 -48 -49 -49 -47 -45 -46 -48 -49 -49 -46 -43 -39 -36 -35 -34 -36 -37 -38 -38 -39 -40 -39 -37 -35 -35 -36 -37 -39 -42 -42 -42 -41 -42 -45 -47 -48 -49 -51 -51 -49 -47 -47 -46 -44 -42 -40 -38 -37 -38 -38 -39 -41 -42 -43 -44 -46 -48 -49 -49 -48 -46 -46 -45 -44 -42 -41 -22 -23 -25 -26 -26 -26 -25 -25 -26 -26 -26 -26 -27 -28 -28 -28 -29 -29 -29 -26 -23 -21 -22 -23 -23 -24 -23 -18 -13 -10 -10 -13 -15 -17 -18 -20 -21 -20 -16 -14 -15 -20 -20 -21 -23 -26 -27 -24 -21 -19 -18 -17 -17 -17 -19 -22 -24 -27 -29 -29 -29 -28 -29 -31 -34 -33 -28 -22 -18 -17 -19 -21 -24 -27 -29 -31 -32 -33 -34 -34 -32 -29 -26 -24 -22 -24 -27 -32 -38 -39 -37 -33 -31 -33 -37 -40 -41 -42 -43 -42 -42 -42 -41 -39 -35 -32 -30 -30 -31 -33 -35 -37 -37 -36 -38 -42 -46 -41 -32 -22 -16 -13 -13 -13 -13 -12 -12 -12 -12 -12 -12 -11 -10 -10 -11 -12 -13 -12 -8 -3 -1 -2 -4 -7 -11 -12 -15 -18 -21 -25 -28 -29 -30 -31 -33 -37 -40 -39 -33 -24 -20 -20 -26 -35 -41 -41 -40 -37 -32 -27 -25 -24 -24 -24 -25 -26 -26 -27 -29 -33 -36 -40 -44 -48 -51 -52 -52 -55 -58 -60 -63 -64 -63 -60 -55 -49 -44 -42 -41 -42 -45 -48 -50 -51 -51 -51 -50 -51 -52 -55 -56 -57 -60 -63 -67 -71 -73 -73 -71 -67 -63 -62 -61 -63 -66 -69 -67 -62 -55 -49 -46 -44 -41 -39 -38 -38 -39 -39 -38 -35 -32 -30 -30 -30 -30 -29 -29 -29 -28 -29 -30 -31 -30 -31 -34 -38 -40 -42 -45 -47 -46 -45 -44 -46 -49 -53 -56 -57 -58 -58 -59 -60 -60 -62 -63 -63 -59 -54 -51 -50 -51 -51 -51 -53 -57 -60 -61 -61 -62 -62 -62 -63 -65 -66 -66 -64 -62 -62 -63 -63 -63 -64 -64 -63 -57 -54 -51 -51 -54 -55 -56 -59 -63 -67 -67 -66 -66 -67 -64 -64 -67 -70 -71 -71 -70 -66 -60 -53 -47 -45 -46 -50 -51 -50 -49 -46 -44 -44 -45 -46 -46 -46 -46 -46 -46 -45 -46 -48 -48 -47 -46 -45 -46 -47 -46 -43 -42 -40 -37 -34 -32 -33 -34 -36 -36 -37 -38 -38 -36 -34 -32 -32 -33 -35 -38 -40 -40 -40 -41 -43 -45 -47 -49 -50 -49 -48 -46 -46 -46 -45 -44 -41 -39 -38 -38 -37 -38 -40 -42 -43 -43 -45 -48 -49 -49 -48 -46 -45 -44 -43 -43 -41 -23 -24 -26 -27 -26 -26 -25 -25 -26 -26 -26 -26 -28 -32 -32 -31 -30 -29 -29 -26 -23 -22 -22 -22 -22 -22 -20 -17 -13 -12 -12 -14 -15 -17 -18 -19 -19 -18 -18 -18 -17 -18 -18 -21 -24 -29 -29 -25 -20 -18 -18 -19 -20 -19 -19 -19 -22 -25 -28 -29 -29 -29 -30 -32 -34 -31 -27 -22 -19 -18 -20 -23 -26 -29 -32 -33 -35 -36 -37 -36 -32 -28 -24 -22 -24 -27 -31 -35 -38 -37 -35 -32 -31 -32 -35 -38 -41 -42 -43 -43 -45 -47 -47 -42 -35 -30 -29 -29 -31 -34 -38 -40 -40 -41 -44 -48 -49 -42 -33 -24 -17 -13 -13 -12 -12 -12 -12 -12 -11 -10 -9 -8 -8 -8 -8 -10 -12 -11 -9 -5 -4 -6 -8 -10 -13 -13 -15 -18 -20 -24 -27 -29 -30 -31 -33 -38 -42 -42 -37 -26 -20 -19 -24 -32 -37 -37 -36 -34 -32 -28 -25 -24 -25 -25 -25 -25 -25 -26 -29 -33 -38 -42 -47 -51 -54 -55 -56 -58 -60 -62 -64 -66 -67 -65 -59 -52 -46 -41 -39 -40 -43 -47 -48 -49 -50 -51 -51 -52 -54 -57 -58 -59 -61 -64 -67 -71 -72 -71 -68 -64 -60 -60 -62 -64 -67 -69 -68 -64 -59 -54 -51 -49 -46 -44 -44 -45 -44 -41 -36 -31 -29 -29 -30 -30 -30 -29 -29 -28 -28 -29 -30 -31 -32 -34 -36 -38 -39 -43 -47 -50 -50 -49 -48 -49 -51 -54 -57 -58 -60 -61 -60 -60 -59 -58 -58 -58 -56 -53 -51 -51 -54 -56 -56 -57 -59 -60 -61 -61 -61 -62 -62 -64 -65 -66 -65 -66 -65 -65 -64 -64 -65 -65 -65 -63 -60 -57 -54 -53 -53 -53 -55 -57 -60 -65 -67 -68 -69 -69 -66 -65 -67 -69 -69 -69 -68 -66 -61 -54 -46 -42 -41 -46 -49 -50 -50 -47 -45 -44 -45 -46 -47 -46 -45 -45 -44 -43 -44 -45 -46 -46 -44 -44 -44 -44 -44 -42 -41 -40 -38 -33 -31 -31 -32 -33 -34 -35 -36 -36 -36 -34 -32 -31 -31 -32 -34 -36 -38 -40 -41 -42 -44 -46 -49 -49 -48 -48 -47 -46 -47 -47 -45 -42 -40 -39 -37 -37 -37 -40 -42 -43 -43 -45 -47 -49 -49 -48 -45 -44 -44 -42 -42 -41 -23 -25 -26 -27 -26 -25 -25 -26 -26 -26 -26 -27 -29 -32 -32 -31 -31 -30 -28 -26 -24 -23 -22 -22 -22 -21 -19 -16 -14 -14 -15 -15 -16 -17 -18 -19 -18 -18 -19 -19 -18 -16 -17 -21 -26 -29 -29 -23 -20 -18 -19 -19 -19 -18 -18 -18 -21 -26 -29 -30 -30 -30 -31 -33 -34 -30 -26 -22 -20 -20 -22 -24 -27 -29 -31 -33 -34 -36 -37 -36 -34 -32 -29 -27 -27 -30 -34 -37 -38 -37 -35 -32 -31 -30 -32 -36 -39 -42 -43 -44 -47 -50 -52 -45 -36 -29 -28 -29 -32 -36 -39 -41 -42 -45 -48 -51 -48 -40 -32 -24 -18 -14 -13 -12 -12 -11 -11 -11 -11 -10 -8 -6 -6 -5 -5 -7 -9 -9 -8 -6 -8 -10 -11 -13 -14 -14 -16 -18 -21 -23 -26 -29 -31 -32 -35 -39 -42 -42 -36 -27 -21 -20 -22 -25 -27 -28 -28 -29 -28 -26 -25 -25 -26 -26 -26 -26 -26 -27 -29 -33 -38 -44 -49 -53 -55 -57 -59 -60 -62 -64 -66 -68 -69 -67 -61 -53 -45 -40 -38 -40 -45 -48 -50 -51 -51 -51 -51 -52 -53 -56 -58 -61 -63 -66 -69 -71 -71 -69 -66 -62 -60 -62 -65 -68 -68 -67 -65 -62 -60 -56 -53 -52 -51 -50 -50 -50 -48 -43 -37 -33 -31 -33 -34 -33 -32 -30 -28 -26 -28 -30 -31 -31 -33 -34 -36 -38 -39 -42 -47 -51 -53 -52 -52 -52 -53 -53 -54 -56 -58 -60 -60 -58 -57 -55 -54 -52 -51 -50 -50 -50 -54 -57 -59 -59 -59 -59 -60 -60 -61 -62 -62 -63 -64 -65 -66 -67 -67 -66 -64 -64 -65 -66 -65 -63 -60 -58 -57 -55 -54 -54 -55 -57 -60 -63 -65 -66 -66 -67 -66 -66 -67 -68 -67 -66 -66 -65 -62 -56 -47 -39 -36 -40 -47 -51 -53 -50 -47 -46 -45 -46 -47 -46 -45 -44 -42 -42 -42 -43 -44 -44 -42 -42 -42 -42 -42 -41 -41 -39 -37 -33 -31 -31 -31 -31 -32 -34 -36 -35 -34 -33 -32 -31 -30 -30 -31 -34 -36 -39 -40 -41 -43 -45 -48 -48 -48 -48 -47 -46 -47 -48 -47 -44 -41 -39 -37 -36 -36 -39 -41 -43 -43 -44 -47 -49 -50 -49 -45 -44 -43 -41 -40 -39 -24 -26 -27 -27 -26 -26 -26 -26 -27 -27 -27 -28 -29 -32 -32 -32 -31 -30 -29 -28 -27 -26 -25 -25 -23 -21 -19 -18 -16 -16 -16 -17 -18 -19 -19 -19 -18 -18 -19 -19 -18 -17 -17 -21 -26 -29 -27 -23 -20 -19 -19 -17 -17 -17 -18 -19 -23 -27 -30 -30 -30 -30 -31 -33 -33 -30 -26 -23 -22 -22 -23 -25 -28 -29 -31 -32 -33 -34 -34 -35 -36 -36 -35 -33 -30 -30 -33 -37 -39 -39 -36 -33 -28 -26 -28 -33 -38 -41 -42 -44 -47 -50 -53 -47 -39 -33 -30 -31 -33 -37 -40 -41 -43 -46 -49 -49 -44 -36 -30 -24 -19 -16 -14 -13 -12 -12 -11 -11 -11 -10 -8 -7 -6 -5 -5 -5 -7 -8 -7 -7 -10 -12 -14 -15 -15 -15 -16 -18 -21 -23 -26 -29 -31 -33 -36 -38 -39 -37 -32 -25 -21 -20 -20 -22 -24 -25 -26 -25 -24 -23 -23 -24 -25 -27 -27 -28 -28 -28 -28 -31 -36 -43 -48 -52 -55 -58 -59 -61 -63 -65 -67 -68 -68 -65 -59 -51 -44 -39 -37 -39 -44 -49 -52 -53 -52 -51 -50 -51 -52 -55 -58 -62 -67 -71 -74 -73 -72 -69 -65 -60 -60 -63 -67 -69 -68 -65 -61 -58 -57 -55 -53 -52 -53 -54 -53 -51 -48 -43 -39 -36 -35 -37 -39 -37 -34 -30 -24 -21 -26 -29 -30 -30 -31 -32 -34 -37 -39 -40 -44 -49 -52 -53 -54 -54 -53 -52 -52 -54 -57 -58 -58 -56 -53 -51 -49 -49 -48 -47 -46 -46 -49 -54 -57 -58 -57 -57 -58 -59 -60 -61 -61 -60 -60 -62 -64 -65 -65 -65 -64 -65 -65 -66 -65 -62 -60 -58 -57 -56 -56 -56 -57 -58 -61 -64 -65 -65 -64 -65 -66 -68 -68 -67 -66 -64 -63 -62 -61 -58 -50 -41 -37 -38 -44 -50 -54 -53 -49 -47 -47 -47 -46 -46 -45 -44 -41 -41 -42 -42 -43 -43 -41 -40 -40 -41 -41 -40 -40 -38 -36 -34 -32 -32 -31 -31 -31 -33 -34 -34 -32 -31 -30 -29 -29 -28 -29 -32 -34 -37 -39 -41 -42 -44 -46 -48 -48 -48 -47 -46 -45 -46 -47 -45 -43 -41 -39 -37 -36 -37 -39 -41 -41 -42 -45 -48 -49 -48 -45 -43 -42 -40 -39 -39 -24 -25 -26 -26 -26 -25 -26 -27 -27 -27 -28 -28 -29 -31 -34 -34 -32 -31 -30 -30 -31 -31 -28 -26 -24 -22 -20 -19 -18 -18 -18 -19 -20 -21 -21 -21 -20 -19 -20 -20 -20 -19 -20 -23 -27 -28 -26 -23 -21 -19 -16 -14 -17 -18 -20 -22 -26 -29 -31 -31 -30 -30 -31 -32 -31 -28 -26 -25 -25 -25 -26 -27 -28 -30 -31 -31 -32 -33 -33 -34 -34 -34 -33 -32 -30 -30 -32 -37 -42 -43 -40 -35 -27 -22 -25 -30 -35 -40 -41 -42 -44 -47 -49 -49 -44 -39 -35 -34 -35 -37 -40 -43 -45 -47 -47 -44 -38 -33 -28 -25 -21 -18 -17 -16 -15 -14 -13 -12 -12 -11 -9 -8 -7 -7 -6 -6 -7 -7 -7 -8 -10 -13 -15 -16 -16 -16 -17 -18 -21 -23 -26 -29 -31 -32 -33 -35 -36 -35 -31 -25 -22 -20 -20 -21 -22 -24 -25 -26 -26 -25 -25 -25 -25 -26 -27 -29 -31 -29 -29 -31 -35 -39 -45 -51 -55 -57 -58 -59 -61 -63 -66 -67 -66 -61 -55 -47 -43 -39 -38 -39 -43 -48 -52 -53 -51 -50 -49 -50 -52 -55 -59 -64 -69 -72 -73 -72 -69 -65 -62 -62 -65 -67 -69 -70 -68 -64 -59 -54 -52 -50 -50 -50 -52 -54 -54 -51 -46 -40 -38 -37 -38 -41 -42 -39 -32 -25 -18 -19 -24 -28 -29 -29 -29 -30 -32 -34 -35 -36 -39 -44 -48 -50 -52 -53 -53 -52 -53 -54 -56 -57 -57 -54 -51 -48 -45 -45 -45 -44 -42 -42 -44 -48 -53 -55 -55 -55 -56 -57 -58 -59 -58 -57 -57 -59 -61 -62 -63 -64 -64 -64 -63 -63 -63 -62 -61 -60 -59 -57 -57 -57 -58 -59 -61 -64 -65 -65 -64 -65 -67 -67 -66 -64 -63 -62 -61 -60 -59 -59 -55 -49 -44 -40 -42 -48 -53 -53 -50 -49 -48 -47 -46 -46 -45 -45 -44 -43 -43 -42 -42 -42 -41 -40 -39 -40 -40 -39 -38 -37 -36 -34 -33 -33 -32 -32 -31 -31 -32 -31 -29 -29 -29 -28 -27 -26 -28 -30 -32 -35 -38 -40 -42 -43 -45 -46 -47 -47 -46 -45 -44 -44 -45 -44 -44 -43 -42 -39 -36 -35 -36 -37 -38 -40 -43 -45 -47 -46 -44 -42 -41 -40 -39 -40 -23 -24 -25 -26 -26 -26 -26 -27 -27 -27 -28 -30 -30 -32 -35 -34 -32 -31 -31 -32 -34 -34 -30 -25 -23 -22 -21 -20 -20 -20 -21 -22 -23 -24 -24 -23 -22 -20 -20 -21 -21 -21 -23 -26 -28 -28 -25 -24 -22 -18 -13 -13 -16 -19 -21 -23 -27 -30 -31 -32 -32 -32 -32 -31 -29 -26 -26 -27 -27 -27 -28 -29 -30 -32 -32 -31 -31 -31 -32 -33 -32 -31 -30 -29 -30 -31 -34 -37 -42 -45 -44 -38 -29 -22 -23 -27 -33 -38 -40 -41 -42 -43 -46 -49 -49 -47 -43 -39 -37 -39 -43 -46 -46 -45 -43 -40 -35 -30 -27 -24 -22 -20 -19 -18 -18 -17 -16 -14 -12 -10 -9 -9 -9 -9 -9 -8 -7 -7 -7 -8 -10 -13 -15 -16 -16 -16 -17 -18 -20 -23 -25 -27 -29 -29 -30 -32 -34 -34 -32 -27 -24 -22 -21 -21 -22 -23 -24 -26 -26 -26 -26 -25 -25 -26 -27 -28 -30 -32 -33 -35 -37 -41 -46 -50 -53 -54 -55 -55 -57 -60 -63 -65 -63 -58 -51 -45 -44 -42 -40 -40 -42 -47 -50 -51 -50 -48 -48 -50 -52 -56 -61 -65 -69 -71 -70 -67 -64 -62 -61 -63 -66 -68 -69 -70 -69 -65 -60 -53 -48 -46 -45 -47 -49 -53 -53 -50 -45 -39 -36 -37 -39 -43 -43 -36 -27 -19 -16 -22 -26 -28 -29 -30 -29 -29 -29 -31 -31 -32 -36 -40 -43 -46 -49 -51 -52 -52 -53 -55 -56 -57 -56 -54 -51 -47 -43 -43 -43 -42 -41 -40 -42 -47 -51 -54 -54 -54 -54 -55 -55 -55 -55 -55 -55 -56 -57 -59 -62 -63 -63 -62 -62 -61 -60 -60 -59 -59 -59 -58 -57 -58 -58 -59 -61 -63 -65 -66 -66 -66 -66 -66 -64 -63 -62 -61 -60 -60 -60 -61 -61 -58 -54 -45 -43 -46 -50 -51 -51 -51 -50 -46 -46 -47 -47 -46 -46 -44 -43 -42 -42 -41 -41 -40 -40 -39 -39 -38 -37 -35 -34 -34 -33 -33 -33 -33 -31 -31 -31 -29 -28 -28 -29 -28 -26 -25 -26 -28 -30 -33 -37 -39 -41 -42 -43 -44 -45 -45 -45 -44 -43 -42 -42 -42 -43 -44 -43 -39 -36 -34 -34 -34 -36 -38 -41 -43 -44 -43 -42 -40 -40 -39 -38 -38 -24 -25 -26 -27 -28 -28 -28 -27 -26 -26 -27 -29 -30 -30 -33 -33 -31 -30 -30 -33 -35 -34 -31 -25 -22 -21 -22 -21 -22 -23 -24 -25 -25 -26 -26 -25 -23 -21 -21 -21 -22 -23 -26 -28 -29 -29 -27 -25 -20 -14 -10 -11 -14 -16 -19 -23 -28 -31 -32 -33 -34 -34 -33 -30 -27 -26 -27 -28 -29 -28 -28 -29 -31 -32 -31 -29 -29 -29 -30 -31 -30 -29 -28 -28 -30 -32 -34 -36 -38 -40 -40 -36 -29 -23 -22 -26 -32 -37 -40 -41 -41 -43 -44 -46 -50 -52 -52 -46 -43 -43 -46 -48 -46 -42 -38 -35 -33 -28 -25 -23 -22 -21 -20 -20 -20 -20 -18 -15 -12 -11 -10 -10 -10 -10 -9 -8 -7 -6 -6 -8 -11 -13 -14 -16 -17 -17 -18 -19 -20 -22 -23 -25 -26 -27 -28 -31 -33 -34 -32 -29 -26 -24 -23 -23 -22 -23 -24 -26 -26 -27 -27 -26 -26 -26 -27 -29 -31 -33 -36 -39 -41 -43 -45 -46 -48 -49 -50 -51 -54 -57 -61 -62 -61 -56 -51 -47 -46 -44 -43 -42 -43 -45 -47 -48 -47 -47 -48 -50 -53 -57 -61 -65 -68 -70 -68 -65 -63 -64 -65 -67 -68 -70 -71 -71 -70 -66 -59 -53 -48 -46 -44 -44 -46 -51 -52 -51 -47 -42 -38 -38 -40 -44 -43 -33 -22 -16 -17 -24 -27 -28 -28 -29 -28 -29 -30 -31 -31 -31 -33 -35 -35 -39 -45 -49 -50 -51 -53 -55 -56 -56 -55 -54 -52 -48 -44 -44 -44 -43 -42 -40 -43 -47 -52 -54 -54 -54 -54 -54 -53 -52 -53 -54 -55 -55 -55 -58 -61 -63 -62 -61 -60 -58 -56 -56 -57 -58 -59 -58 -58 -58 -58 -59 -60 -62 -65 -67 -66 -65 -64 -63 -61 -62 -61 -61 -61 -60 -59 -60 -61 -62 -58 -50 -45 -44 -47 -51 -53 -53 -52 -48 -48 -48 -48 -48 -47 -45 -44 -42 -41 -40 -41 -41 -40 -39 -40 -38 -37 -34 -33 -32 -32 -33 -33 -33 -31 -29 -29 -28 -28 -28 -28 -27 -25 -24 -24 -25 -28 -31 -34 -38 -40 -40 -42 -43 -43 -43 -43 -43 -42 -41 -41 -40 -42 -44 -45 -41 -37 -35 -34 -33 -34 -37 -39 -40 -41 -42 -41 -39 -39 -38 -37 -37 -26 -28 -29 -29 -29 -29 -27 -25 -24 -23 -25 -27 -28 -28 -28 -28 -27 -27 -28 -30 -31 -31 -29 -27 -24 -23 -24 -25 -25 -25 -26 -27 -26 -26 -26 -26 -24 -22 -22 -23 -23 -24 -27 -29 -29 -28 -28 -25 -19 -12 -10 -14 -17 -19 -22 -25 -29 -32 -34 -35 -36 -35 -33 -29 -27 -27 -28 -29 -30 -30 -30 -31 -31 -30 -29 -27 -26 -27 -29 -30 -30 -29 -28 -28 -30 -32 -34 -35 -35 -35 -35 -33 -27 -22 -23 -26 -32 -37 -39 -40 -41 -42 -44 -46 -48 -50 -50 -48 -48 -48 -48 -47 -44 -39 -35 -32 -31 -27 -24 -22 -21 -20 -20 -20 -20 -21 -19 -16 -13 -12 -11 -11 -10 -10 -9 -8 -8 -8 -9 -11 -13 -14 -15 -16 -18 -18 -18 -19 -20 -20 -20 -21 -23 -25 -27 -30 -32 -32 -32 -30 -29 -27 -26 -25 -25 -25 -25 -26 -26 -27 -27 -27 -27 -27 -28 -30 -32 -34 -38 -41 -43 -43 -44 -45 -46 -47 -48 -50 -52 -55 -57 -58 -57 -53 -48 -44 -45 -46 -47 -46 -44 -43 -43 -43 -43 -45 -48 -51 -53 -56 -60 -64 -68 -70 -68 -67 -68 -68 -68 -68 -69 -70 -71 -72 -72 -69 -64 -58 -53 -49 -47 -46 -47 -49 -50 -50 -48 -45 -41 -39 -41 -44 -42 -32 -23 -18 -21 -26 -29 -29 -29 -28 -28 -28 -29 -30 -31 -31 -32 -33 -33 -36 -39 -42 -44 -46 -49 -52 -54 -54 -53 -53 -51 -49 -47 -47 -46 -46 -45 -44 -45 -49 -53 -56 -56 -55 -53 -52 -51 -51 -52 -54 -55 -55 -55 -57 -60 -62 -61 -60 -58 -56 -55 -56 -57 -58 -58 -58 -58 -58 -59 -59 -60 -62 -64 -67 -64 -62 -61 -60 -59 -60 -59 -60 -61 -61 -59 -58 -59 -60 -58 -55 -50 -45 -45 -51 -54 -54 -53 -50 -49 -49 -49 -48 -47 -46 -44 -42 -40 -40 -40 -41 -40 -40 -40 -39 -37 -35 -33 -32 -31 -31 -33 -33 -31 -29 -29 -28 -28 -27 -27 -26 -25 -23 -23 -23 -26 -28 -32 -35 -37 -37 -39 -40 -41 -41 -42 -42 -42 -41 -40 -39 -40 -42 -45 -42 -40 -37 -35 -34 -34 -36 -39 -39 -40 -41 -40 -38 -38 -38 -38 -37 -28 -30 -31 -30 -30 -28 -25 -23 -22 -21 -23 -26 -28 -26 -24 -23 -23 -23 -25 -27 -29 -29 -27 -27 -26 -26 -26 -27 -27 -25 -24 -24 -23 -24 -24 -24 -23 -22 -23 -24 -25 -26 -27 -29 -29 -27 -25 -22 -17 -13 -14 -18 -21 -23 -25 -28 -31 -33 -35 -36 -36 -35 -32 -29 -28 -29 -30 -31 -32 -33 -33 -32 -30 -27 -25 -24 -25 -26 -28 -30 -31 -31 -31 -30 -30 -31 -33 -34 -34 -33 -31 -28 -24 -22 -23 -27 -32 -36 -38 -40 -41 -42 -43 -45 -47 -48 -49 -50 -51 -50 -48 -43 -39 -36 -33 -31 -29 -27 -24 -21 -20 -20 -21 -21 -22 -21 -20 -17 -15 -14 -13 -12 -11 -9 -8 -9 -10 -11 -11 -12 -13 -15 -16 -17 -19 -18 -18 -19 -19 -18 -18 -19 -21 -24 -27 -29 -30 -30 -31 -31 -30 -29 -28 -27 -27 -27 -27 -26 -27 -27 -28 -28 -27 -28 -30 -32 -33 -35 -39 -42 -43 -43 -44 -44 -44 -45 -48 -51 -54 -55 -55 -54 -53 -51 -48 -45 -46 -48 -50 -51 -48 -44 -41 -40 -42 -45 -49 -52 -54 -56 -60 -63 -66 -67 -69 -71 -73 -72 -70 -69 -69 -70 -72 -74 -75 -73 -69 -63 -57 -52 -49 -46 -44 -43 -43 -44 -43 -41 -39 -39 -41 -43 -39 -33 -27 -25 -31 -32 -32 -31 -30 -28 -27 -27 -27 -28 -30 -30 -31 -32 -33 -34 -35 -36 -39 -42 -46 -50 -52 -53 -52 -51 -51 -51 -50 -49 -48 -48 -48 -47 -47 -50 -54 -58 -58 -56 -53 -51 -50 -50 -51 -52 -54 -54 -55 -57 -59 -61 -61 -59 -57 -55 -56 -57 -58 -59 -59 -59 -60 -60 -60 -61 -62 -62 -63 -64 -63 -61 -60 -59 -58 -57 -57 -57 -59 -61 -61 -60 -59 -60 -59 -57 -52 -47 -46 -50 -52 -52 -52 -51 -50 -49 -48 -48 -47 -46 -45 -42 -40 -40 -40 -40 -40 -40 -40 -40 -39 -37 -35 -33 -31 -30 -31 -31 -31 -30 -30 -29 -29 -28 -28 -27 -26 -24 -23 -23 -24 -27 -30 -33 -35 -35 -36 -37 -38 -39 -40 -40 -41 -40 -40 -39 -38 -40 -43 -43 -41 -38 -36 -34 -35 -36 -38 -38 -39 -40 -40 -38 -37 -38 -38 -38 -29 -30 -30 -30 -30 -27 -24 -22 -21 -20 -21 -23 -25 -25 -22 -20 -19 -20 -21 -25 -27 -27 -26 -24 -24 -25 -25 -26 -24 -23 -22 -21 -21 -22 -23 -23 -22 -22 -23 -25 -26 -26 -28 -29 -28 -25 -22 -19 -17 -16 -17 -20 -23 -25 -27 -29 -31 -33 -34 -35 -35 -33 -31 -29 -30 -31 -32 -33 -34 -35 -36 -34 -29 -24 -21 -23 -25 -26 -28 -30 -33 -35 -35 -33 -31 -31 -31 -33 -33 -32 -28 -25 -23 -22 -23 -26 -30 -33 -37 -39 -40 -42 -44 -46 -48 -49 -50 -52 -52 -49 -44 -38 -34 -32 -31 -31 -30 -26 -23 -20 -20 -21 -22 -23 -22 -21 -19 -17 -15 -15 -15 -13 -12 -10 -9 -10 -11 -12 -12 -13 -13 -15 -16 -19 -19 -18 -18 -17 -17 -16 -17 -19 -21 -24 -26 -26 -26 -28 -31 -33 -33 -31 -29 -28 -29 -30 -29 -27 -27 -27 -28 -28 -28 -29 -31 -34 -35 -36 -39 -42 -44 -44 -44 -44 -43 -44 -47 -50 -52 -52 -50 -49 -49 -49 -48 -46 -47 -48 -51 -54 -53 -49 -44 -41 -41 -45 -48 -51 -54 -57 -59 -59 -60 -63 -68 -72 -74 -74 -72 -70 -70 -71 -73 -75 -76 -74 -70 -63 -57 -52 -48 -45 -43 -42 -41 -40 -39 -39 -39 -40 -42 -45 -44 -38 -32 -31 -37 -38 -37 -35 -33 -31 -30 -28 -27 -27 -28 -29 -30 -31 -31 -31 -32 -33 -36 -40 -44 -47 -49 -50 -50 -51 -51 -51 -51 -50 -50 -50 -49 -48 -49 -51 -55 -59 -58 -55 -52 -49 -49 -49 -49 -50 -51 -52 -53 -54 -57 -60 -60 -59 -57 -55 -56 -57 -58 -59 -60 -61 -62 -64 -64 -66 -67 -66 -65 -65 -64 -62 -59 -57 -56 -55 -54 -54 -57 -60 -62 -61 -60 -62 -62 -59 -55 -50 -48 -49 -49 -50 -51 -51 -50 -49 -48 -47 -47 -46 -45 -43 -42 -41 -40 -40 -40 -41 -41 -41 -40 -38 -36 -35 -33 -31 -29 -30 -31 -31 -31 -30 -29 -29 -28 -27 -26 -25 -24 -23 -24 -26 -29 -32 -34 -34 -34 -35 -36 -37 -38 -39 -39 -39 -39 -39 -38 -39 -41 -42 -42 -39 -36 -35 -35 -36 -36 -37 -39 -39 -39 -37 -37 -37 -38 -37 -31 -32 -31 -29 -29 -26 -23 -21 -20 -19 -20 -21 -23 -23 -19 -17 -16 -17 -19 -23 -26 -26 -24 -21 -21 -23 -24 -24 -22 -21 -20 -20 -20 -21 -22 -23 -22 -22 -24 -25 -26 -27 -27 -27 -26 -24 -22 -19 -18 -19 -20 -22 -24 -26 -27 -28 -29 -32 -34 -35 -34 -31 -29 -29 -31 -33 -33 -34 -35 -37 -37 -34 -28 -22 -20 -22 -24 -27 -28 -30 -34 -37 -37 -36 -34 -32 -31 -30 -29 -28 -26 -24 -23 -22 -23 -24 -26 -29 -34 -37 -39 -40 -44 -47 -49 -50 -53 -54 -51 -46 -39 -33 -30 -29 -30 -31 -30 -27 -23 -20 -19 -20 -22 -22 -22 -19 -17 -15 -14 -14 -15 -15 -14 -12 -10 -11 -11 -12 -12 -14 -15 -16 -17 -19 -19 -18 -16 -15 -15 -16 -17 -19 -21 -22 -23 -23 -24 -27 -32 -34 -35 -33 -32 -30 -30 -31 -31 -28 -26 -26 -28 -29 -30 -30 -32 -34 -36 -37 -40 -43 -45 -45 -45 -45 -45 -44 -46 -48 -49 -48 -45 -44 -45 -47 -48 -47 -47 -49 -51 -54 -54 -51 -46 -42 -43 -46 -49 -52 -55 -59 -60 -59 -58 -60 -66 -71 -73 -73 -71 -71 -71 -72 -72 -72 -71 -69 -65 -60 -56 -51 -46 -44 -45 -43 -40 -38 -37 -37 -39 -42 -44 -46 -45 -39 -34 -35 -43 -45 -43 -40 -39 -39 -36 -33 -30 -30 -29 -30 -30 -30 -28 -28 -29 -31 -34 -38 -42 -44 -46 -48 -49 -51 -52 -52 -51 -51 -51 -51 -49 -48 -49 -52 -55 -57 -57 -54 -50 -48 -47 -47 -47 -47 -49 -49 -49 -51 -53 -56 -57 -58 -56 -54 -54 -55 -57 -59 -61 -62 -64 -66 -67 -68 -69 -69 -68 -67 -66 -62 -57 -54 -52 -52 -52 -52 -55 -58 -60 -61 -61 -63 -64 -62 -59 -55 -52 -49 -48 -48 -49 -49 -48 -48 -47 -47 -46 -45 -45 -45 -44 -43 -42 -41 -42 -41 -41 -41 -41 -39 -37 -36 -35 -32 -29 -29 -30 -31 -32 -31 -30 -29 -28 -27 -26 -26 -25 -25 -25 -25 -27 -31 -33 -33 -33 -34 -33 -34 -36 -38 -38 -37 -38 -38 -38 -37 -39 -41 -42 -41 -37 -36 -36 -36 -36 -37 -38 -40 -40 -38 -38 -37 -37 -36 -32 -34 -33 -30 -28 -25 -22 -20 -19 -19 -20 -21 -21 -21 -18 -15 -15 -16 -19 -22 -25 -25 -23 -20 -20 -21 -23 -23 -21 -20 -19 -19 -19 -21 -22 -23 -23 -23 -24 -26 -27 -27 -26 -24 -23 -22 -22 -20 -20 -21 -23 -24 -25 -26 -26 -27 -28 -31 -33 -34 -32 -29 -28 -29 -32 -33 -33 -34 -35 -38 -37 -33 -27 -22 -20 -22 -25 -27 -28 -30 -32 -35 -37 -38 -37 -34 -30 -26 -22 -21 -22 -23 -24 -24 -23 -23 -23 -25 -31 -35 -37 -38 -41 -46 -48 -50 -54 -55 -48 -40 -32 -28 -27 -27 -29 -31 -31 -28 -24 -21 -19 -20 -21 -21 -20 -18 -16 -14 -13 -14 -15 -16 -16 -14 -12 -12 -12 -12 -12 -14 -16 -17 -17 -19 -19 -18 -16 -15 -15 -16 -18 -20 -21 -21 -21 -22 -24 -28 -33 -36 -35 -33 -31 -30 -32 -34 -35 -31 -28 -27 -27 -28 -30 -32 -33 -35 -37 -40 -42 -44 -45 -48 -50 -50 -48 -47 -46 -46 -46 -45 -42 -41 -41 -43 -45 -46 -47 -49 -50 -52 -51 -49 -45 -43 -44 -48 -52 -55 -58 -60 -61 -60 -58 -59 -63 -68 -71 -71 -72 -72 -72 -71 -68 -65 -62 -59 -57 -55 -52 -49 -45 -44 -44 -42 -39 -36 -35 -35 -37 -40 -44 -46 -44 -39 -35 -36 -43 -46 -46 -46 -47 -46 -44 -41 -37 -35 -34 -32 -31 -28 -28 -28 -29 -30 -34 -38 -42 -44 -46 -47 -49 -52 -53 -54 -53 -53 -52 -51 -50 -49 -50 -52 -55 -56 -56 -53 -49 -46 -46 -45 -45 -45 -46 -46 -46 -47 -49 -52 -54 -56 -57 -57 -56 -56 -58 -62 -64 -65 -66 -67 -68 -69 -70 -70 -69 -68 -66 -61 -55 -51 -49 -49 -50 -51 -53 -56 -58 -59 -61 -64 -65 -63 -61 -58 -55 -51 -48 -48 -49 -48 -48 -47 -47 -47 -47 -46 -46 -46 -46 -46 -44 -44 -44 -43 -42 -42 -42 -40 -38 -37 -35 -33 -31 -30 -31 -33 -33 -32 -31 -29 -27 -26 -26 -26 -26 -26 -25 -24 -25 -29 -31 -32 -33 -33 -32 -33 -34 -35 -36 -37 -37 -36 -35 -34 -36 -39 -42 -42 -40 -38 -37 -36 -35 -36 -38 -40 -42 -40 -39 -37 -36 -35 -31 -34 -34 -32 -29 -24 -21 -19 -19 -21 -22 -21 -20 -19 -17 -15 -14 -16 -19 -22 -24 -24 -22 -19 -19 -20 -22 -22 -21 -20 -20 -19 -20 -21 -22 -23 -24 -24 -26 -27 -27 -26 -23 -21 -20 -20 -21 -21 -22 -22 -23 -25 -25 -26 -27 -28 -28 -30 -31 -32 -31 -28 -28 -29 -31 -31 -32 -33 -35 -37 -36 -32 -27 -24 -23 -24 -26 -28 -29 -30 -31 -32 -35 -37 -37 -34 -28 -22 -17 -17 -18 -20 -22 -23 -23 -22 -22 -24 -30 -35 -37 -37 -38 -42 -46 -50 -54 -52 -42 -32 -25 -24 -24 -25 -27 -29 -30 -29 -26 -23 -21 -20 -20 -21 -20 -18 -15 -14 -13 -14 -15 -16 -16 -14 -12 -11 -11 -11 -12 -14 -16 -17 -18 -19 -20 -20 -19 -18 -17 -18 -20 -21 -22 -21 -22 -23 -26 -30 -34 -35 -33 -30 -27 -27 -29 -32 -35 -34 -31 -29 -28 -30 -33 -35 -37 -38 -39 -42 -44 -46 -50 -55 -59 -59 -55 -49 -45 -44 -44 -44 -41 -38 -36 -36 -39 -42 -44 -46 -48 -48 -47 -45 -44 -44 -46 -50 -54 -57 -59 -60 -61 -61 -60 -60 -61 -65 -68 -71 -72 -74 -74 -70 -64 -60 -56 -53 -50 -49 -46 -44 -42 -41 -40 -38 -37 -35 -34 -34 -35 -38 -43 -45 -42 -38 -38 -42 -47 -48 -48 -50 -52 -51 -49 -47 -45 -42 -38 -35 -32 -30 -32 -33 -33 -33 -36 -40 -44 -47 -49 -50 -52 -54 -55 -56 -55 -54 -53 -52 -52 -52 -52 -53 -55 -56 -55 -52 -48 -46 -45 -45 -44 -44 -44 -43 -43 -44 -45 -47 -50 -53 -56 -59 -58 -58 -60 -64 -67 -67 -66 -67 -68 -68 -69 -69 -68 -66 -63 -59 -54 -50 -48 -48 -48 -50 -52 -55 -57 -59 -60 -63 -64 -63 -62 -60 -57 -52 -49 -49 -51 -50 -49 -48 -48 -48 -48 -47 -46 -46 -47 -47 -46 -45 -46 -45 -44 -43 -43 -41 -39 -37 -36 -35 -33 -32 -33 -34 -34 -32 -31 -29 -28 -26 -26 -26 -27 -26 -25 -24 -22 -25 -29 -31 -33 -33 -32 -32 -32 -32 -34 -36 -36 -35 -33 -32 -34 -37 -40 -41 -41 -40 -38 -36 -35 -37 -39 -41 -43 -41 -40 -38 -36 -35 -31 -33 -33 -31 -28 -23 -21 -20 -21 -23 -23 -22 -20 -18 -16 -14 -13 -15 -18 -22 -24 -24 -23 -20 -19 -20 -21 -21 -21 -21 -21 -21 -21 -22 -22 -23 -24 -26 -28 -28 -26 -23 -20 -18 -18 -20 -22 -23 -23 -23 -23 -23 -24 -25 -27 -28 -29 -30 -31 -31 -28 -26 -26 -27 -29 -29 -30 -32 -33 -35 -33 -30 -28 -26 -26 -26 -28 -29 -29 -28 -29 -31 -34 -35 -33 -28 -22 -18 -16 -17 -18 -19 -21 -22 -22 -22 -23 -25 -32 -37 -38 -36 -34 -36 -41 -46 -51 -49 -40 -30 -23 -20 -22 -24 -26 -27 -29 -29 -27 -24 -22 -20 -20 -20 -20 -17 -16 -16 -16 -17 -18 -16 -15 -13 -11 -10 -10 -11 -12 -13 -15 -17 -19 -20 -21 -21 -21 -21 -20 -20 -21 -22 -23 -22 -22 -24 -27 -30 -32 -31 -29 -26 -24 -24 -25 -27 -30 -31 -30 -29 -31 -35 -38 -40 -42 -43 -43 -44 -46 -50 -54 -60 -66 -66 -62 -53 -45 -41 -40 -41 -39 -35 -33 -32 -34 -36 -37 -39 -41 -43 -43 -42 -43 -44 -48 -54 -57 -59 -58 -59 -60 -61 -61 -60 -60 -63 -67 -70 -72 -73 -73 -71 -66 -61 -58 -56 -52 -47 -41 -37 -35 -33 -34 -35 -35 -34 -33 -33 -35 -38 -42 -43 -42 -41 -43 -48 -50 -50 -50 -51 -53 -53 -52 -50 -50 -48 -45 -42 -39 -38 -39 -40 -40 -39 -40 -43 -47 -50 -53 -54 -56 -57 -58 -58 -58 -57 -55 -54 -54 -54 -54 -54 -56 -56 -54 -51 -49 -47 -46 -46 -46 -45 -44 -43 -43 -43 -45 -47 -49 -52 -56 -59 -60 -61 -62 -65 -66 -66 -66 -67 -67 -66 -66 -65 -64 -63 -61 -58 -54 -50 -48 -48 -48 -49 -51 -54 -56 -58 -59 -61 -62 -63 -63 -62 -59 -55 -51 -51 -52 -51 -51 -50 -50 -50 -48 -47 -47 -47 -47 -46 -46 -46 -46 -46 -46 -44 -43 -41 -39 -37 -37 -36 -34 -33 -32 -33 -33 -32 -30 -28 -28 -27 -27 -27 -27 -27 -26 -25 -22 -23 -25 -29 -33 -34 -33 -32 -31 -31 -33 -34 -35 -34 -33 -32 -32 -34 -37 -39 -40 -40 -38 -37 -36 -37 -39 -41 -42 -42 -41 -39 -37 -36 -31 -33 -33 -30 -27 -24 -22 -22 -23 -25 -24 -22 -19 -17 -15 -12 -12 -14 -18 -22 -24 -25 -25 -23 -21 -20 -21 -21 -22 -22 -22 -22 -22 -23 -23 -24 -25 -28 -29 -28 -24 -20 -17 -18 -20 -23 -24 -26 -27 -27 -26 -24 -25 -26 -26 -26 -27 -30 -31 -30 -27 -24 -24 -25 -27 -28 -29 -30 -32 -32 -31 -29 -28 -27 -27 -28 -29 -30 -29 -28 -29 -31 -32 -31 -26 -21 -17 -15 -15 -16 -18 -21 -22 -22 -22 -23 -26 -30 -37 -40 -39 -34 -31 -33 -36 -40 -46 -45 -38 -28 -21 -18 -20 -23 -25 -27 -30 -30 -28 -25 -22 -20 -20 -19 -19 -18 -17 -17 -17 -19 -18 -18 -17 -15 -13 -13 -12 -12 -12 -14 -17 -19 -20 -21 -23 -23 -23 -23 -22 -22 -22 -22 -23 -22 -23 -24 -27 -29 -28 -27 -25 -24 -21 -21 -22 -23 -25 -27 -28 -30 -34 -39 -42 -44 -45 -47 -48 -48 -50 -53 -57 -63 -69 -72 -69 -59 -48 -41 -38 -37 -37 -36 -35 -33 -31 -30 -31 -32 -34 -35 -38 -41 -44 -47 -51 -56 -59 -59 -57 -57 -58 -59 -59 -58 -59 -62 -66 -71 -71 -71 -70 -68 -66 -62 -59 -56 -52 -46 -40 -36 -34 -34 -34 -35 -34 -33 -32 -33 -35 -40 -44 -43 -44 -46 -49 -51 -50 -50 -51 -52 -53 -53 -53 -53 -53 -52 -50 -47 -44 -43 -45 -46 -46 -44 -45 -47 -50 -53 -55 -57 -58 -59 -60 -61 -60 -59 -58 -57 -56 -55 -55 -55 -56 -55 -53 -51 -50 -50 -50 -50 -49 -49 -47 -45 -44 -45 -48 -50 -52 -53 -56 -60 -61 -62 -63 -64 -66 -67 -66 -65 -65 -63 -62 -62 -63 -62 -61 -59 -56 -52 -50 -48 -48 -49 -51 -54 -57 -58 -58 -59 -60 -61 -62 -62 -60 -57 -53 -50 -51 -52 -52 -52 -51 -50 -49 -47 -47 -47 -47 -46 -46 -46 -46 -46 -46 -45 -43 -41 -39 -37 -37 -36 -35 -34 -32 -32 -32 -32 -31 -29 -28 -27 -27 -28 -28 -28 -27 -26 -23 -22 -23 -26 -29 -32 -33 -32 -31 -31 -32 -32 -32 -34 -34 -31 -31 -32 -35 -36 -38 -39 -38 -38 -37 -38 -39 -41 -42 -42 -42 -41 -39 -37 -33 -34 -33 -31 -27 -26 -25 -25 -25 -25 -24 -22 -20 -17 -14 -12 -12 -14 -18 -23 -26 -29 -29 -27 -24 -22 -21 -22 -22 -22 -22 -22 -23 -23 -24 -24 -26 -29 -29 -26 -22 -18 -16 -18 -20 -22 -23 -26 -28 -28 -26 -25 -25 -25 -25 -24 -27 -29 -31 -30 -27 -25 -25 -25 -26 -27 -28 -30 -30 -30 -30 -29 -28 -27 -28 -29 -30 -30 -29 -28 -29 -29 -27 -24 -20 -17 -15 -15 -15 -17 -19 -21 -23 -23 -22 -24 -28 -34 -40 -42 -40 -35 -31 -32 -34 -37 -42 -41 -34 -26 -19 -18 -20 -22 -25 -27 -29 -29 -27 -25 -23 -21 -20 -19 -19 -17 -17 -17 -17 -18 -20 -21 -21 -19 -16 -14 -14 -13 -13 -15 -17 -19 -21 -22 -23 -23 -23 -23 -23 -23 -22 -22 -21 -22 -23 -25 -26 -27 -25 -24 -24 -23 -20 -20 -21 -22 -24 -26 -28 -31 -35 -39 -43 -45 -46 -49 -51 -52 -54 -56 -59 -65 -71 -74 -73 -66 -56 -47 -41 -38 -37 -36 -35 -33 -32 -31 -30 -30 -31 -32 -36 -41 -46 -50 -51 -53 -55 -54 -53 -53 -53 -54 -55 -56 -58 -63 -68 -71 -69 -67 -64 -61 -58 -56 -54 -52 -50 -48 -44 -39 -37 -37 -37 -36 -36 -37 -37 -37 -40 -44 -46 -46 -46 -48 -50 -51 -47 -46 -48 -51 -52 -53 -53 -53 -53 -53 -53 -51 -48 -48 -49 -50 -51 -50 -50 -51 -53 -55 -57 -58 -59 -60 -62 -62 -62 -61 -59 -58 -57 -56 -56 -56 -56 -55 -53 -51 -50 -51 -52 -52 -52 -52 -51 -48 -46 -47 -51 -54 -55 -56 -57 -60 -61 -62 -61 -61 -64 -66 -67 -64 -62 -61 -61 -62 -63 -63 -62 -60 -58 -53 -51 -50 -49 -48 -50 -53 -57 -59 -59 -58 -58 -59 -60 -61 -62 -60 -55 -50 -50 -51 -52 -52 -51 -50 -49 -48 -47 -46 -46 -45 -45 -44 -44 -45 -45 -44 -43 -42 -40 -37 -37 -36 -36 -35 -33 -32 -32 -31 -31 -30 -28 -28 -28 -29 -29 -29 -28 -26 -24 -22 -22 -24 -27 -30 -31 -31 -31 -30 -30 -29 -30 -32 -33 -31 -30 -31 -33 -36 -38 -39 -39 -39 -39 -38 -39 -40 -42 -43 -44 -44 -41 -39 -34 -36 -35 -33 -30 -28 -27 -27 -27 -26 -24 -22 -19 -17 -15 -13 -12 -14 -18 -24 -30 -34 -36 -33 -29 -25 -23 -23 -23 -23 -23 -23 -23 -24 -26 -27 -29 -30 -28 -24 -20 -17 -17 -20 -22 -22 -22 -24 -26 -27 -26 -24 -24 -24 -24 -24 -27 -29 -29 -29 -28 -28 -27 -27 -27 -28 -29 -29 -29 -29 -29 -28 -28 -27 -27 -28 -29 -29 -29 -27 -26 -24 -22 -19 -16 -15 -15 -16 -18 -19 -20 -22 -23 -23 -23 -25 -28 -35 -41 -44 -43 -37 -33 -31 -32 -34 -38 -37 -30 -23 -18 -17 -19 -22 -25 -28 -30 -29 -27 -25 -23 -23 -21 -20 -19 -18 -16 -16 -17 -17 -19 -22 -23 -22 -18 -15 -14 -13 -13 -15 -17 -19 -21 -23 -23 -23 -23 -22 -23 -22 -21 -20 -20 -21 -22 -24 -26 -26 -25 -24 -24 -23 -22 -22 -23 -24 -25 -27 -29 -32 -35 -38 -41 -44 -46 -48 -50 -52 -54 -56 -59 -64 -69 -72 -73 -70 -62 -54 -46 -40 -37 -35 -34 -33 -33 -32 -31 -31 -31 -34 -34 -35 -36 -39 -43 -47 -48 -46 -45 -46 -47 -49 -52 -56 -61 -66 -69 -69 -64 -59 -54 -50 -46 -45 -44 -44 -44 -44 -42 -41 -40 -42 -43 -42 -41 -40 -40 -42 -45 -49 -49 -47 -46 -47 -50 -51 -47 -43 -42 -45 -50 -52 -53 -53 -53 -54 -54 -53 -52 -52 -53 -54 -55 -53 -52 -53 -54 -57 -58 -59 -60 -62 -63 -63 -61 -59 -58 -56 -56 -56 -56 -56 -56 -56 -54 -51 -50 -50 -51 -51 -52 -52 -53 -52 -50 -49 -53 -56 -58 -58 -58 -59 -60 -61 -60 -58 -59 -62 -65 -63 -59 -56 -57 -60 -63 -63 -63 -62 -59 -55 -53 -52 -51 -49 -50 -52 -56 -59 -60 -58 -57 -56 -57 -59 -60 -58 -55 -51 -49 -49 -51 -52 -51 -50 -49 -48 -47 -46 -45 -44 -44 -43 -42 -43 -43 -42 -43 -42 -41 -38 -37 -36 -35 -35 -34 -33 -32 -31 -30 -29 -28 -28 -28 -30 -30 -29 -28 -26 -24 -22 -21 -22 -25 -29 -31 -31 -31 -31 -30 -29 -29 -31 -31 -30 -30 -31 -33 -36 -39 -40 -40 -41 -40 -39 -39 -40 -42 -44 -45 -45 -43 -41 -36 -37 -37 -35 -32 -30 -28 -28 -28 -27 -25 -22 -19 -18 -18 -16 -15 -15 -18 -23 -30 -36 -38 -35 -31 -27 -25 -24 -24 -23 -23 -23 -24 -26 -28 -30 -32 -31 -27 -22 -18 -17 -20 -24 -25 -23 -21 -22 -25 -26 -25 -23 -23 -23 -24 -25 -27 -27 -27 -27 -27 -29 -29 -29 -29 -29 -29 -28 -28 -28 -28 -28 -28 -28 -27 -27 -27 -27 -26 -24 -22 -19 -17 -16 -16 -16 -17 -19 -20 -21 -22 -23 -23 -23 -24 -25 -29 -34 -41 -45 -46 -42 -36 -32 -31 -32 -35 -34 -28 -21 -18 -18 -20 -23 -26 -28 -30 -29 -28 -27 -26 -25 -24 -22 -20 -19 -17 -16 -16 -17 -19 -21 -24 -24 -21 -17 -15 -14 -14 -16 -18 -19 -20 -22 -23 -23 -22 -22 -21 -20 -19 -19 -19 -20 -22 -24 -26 -27 -27 -26 -26 -25 -24 -25 -26 -26 -25 -27 -30 -34 -38 -38 -40 -41 -42 -43 -44 -47 -50 -53 -55 -59 -63 -67 -69 -68 -65 -60 -53 -45 -40 -36 -34 -34 -34 -34 -32 -30 -30 -32 -33 -33 -32 -32 -35 -38 -40 -39 -40 -41 -43 -46 -51 -60 -66 -70 -70 -65 -55 -47 -42 -38 -37 -36 -36 -36 -36 -37 -39 -41 -44 -46 -47 -48 -47 -45 -45 -47 -50 -53 -50 -43 -39 -40 -44 -46 -43 -39 -37 -39 -45 -50 -52 -52 -54 -54 -54 -54 -54 -55 -55 -56 -57 -55 -54 -55 -57 -59 -60 -61 -61 -61 -61 -59 -57 -55 -54 -53 -53 -53 -54 -54 -56 -56 -55 -52 -50 -49 -49 -49 -50 -51 -52 -52 -51 -51 -53 -56 -57 -57 -56 -57 -58 -59 -60 -57 -55 -55 -58 -60 -56 -53 -52 -56 -60 -62 -63 -62 -60 -56 -53 -52 -51 -51 -51 -53 -55 -59 -60 -59 -57 -55 -53 -56 -57 -56 -53 -50 -49 -49 -49 -51 -51 -50 -49 -48 -47 -45 -44 -43 -43 -41 -41 -41 -41 -41 -42 -42 -41 -40 -38 -36 -35 -36 -35 -34 -32 -30 -28 -28 -28 -28 -28 -29 -30 -30 -29 -27 -25 -23 -22 -22 -25 -28 -30 -31 -31 -31 -30 -29 -30 -30 -30 -30 -30 -31 -34 -36 -38 -39 -41 -41 -41 -40 -40 -40 -41 -42 -44 -45 -44 -42 -36 -36 -35 -34 -32 -30 -28 -28 -27 -27 -25 -22 -20 -20 -22 -19 -17 -17 -18 -22 -28 -34 -37 -35 -31 -28 -26 -25 -24 -23 -22 -23 -25 -28 -31 -33 -33 -31 -25 -19 -16 -16 -21 -27 -28 -25 -21 -22 -23 -23 -22 -21 -23 -25 -26 -26 -26 -25 -24 -25 -27 -29 -30 -30 -30 -29 -29 -28 -28 -28 -28 -29 -29 -29 -27 -25 -23 -22 -21 -19 -17 -16 -15 -16 -16 -17 -19 -20 -22 -23 -23 -24 -24 -24 -24 -26 -29 -34 -41 -47 -49 -47 -40 -34 -31 -31 -34 -32 -27 -22 -20 -20 -22 -24 -26 -28 -29 -29 -29 -29 -29 -28 -27 -24 -22 -20 -18 -17 -16 -17 -18 -21 -24 -26 -24 -20 -17 -15 -16 -18 -19 -19 -19 -20 -21 -22 -22 -21 -20 -18 -18 -18 -18 -20 -22 -24 -26 -28 -27 -27 -27 -28 -30 -32 -33 -32 -29 -29 -31 -34 -38 -38 -39 -40 -42 -42 -42 -43 -45 -47 -48 -51 -56 -60 -62 -63 -64 -64 -60 -52 -46 -41 -38 -36 -36 -33 -30 -29 -29 -30 -32 -32 -30 -29 -30 -31 -33 -35 -37 -39 -41 -45 -50 -59 -66 -69 -68 -60 -49 -42 -37 -35 -32 -31 -31 -31 -33 -34 -37 -41 -45 -47 -48 -49 -49 -48 -50 -53 -57 -58 -50 -39 -34 -36 -39 -40 -38 -37 -37 -39 -42 -44 -46 -48 -52 -53 -53 -54 -55 -56 -57 -57 -57 -56 -56 -58 -60 -63 -63 -62 -61 -58 -56 -54 -53 -52 -52 -51 -51 -50 -51 -53 -55 -57 -56 -53 -50 -49 -48 -48 -48 -50 -51 -52 -52 -52 -52 -52 -52 -52 -51 -52 -53 -56 -58 -55 -51 -49 -49 -54 -53 -51 -49 -52 -56 -59 -61 -61 -60 -57 -55 -54 -53 -53 -53 -54 -55 -58 -59 -59 -57 -54 -52 -54 -56 -56 -53 -50 -49 -49 -49 -49 -49 -49 -49 -49 -47 -45 -43 -42 -42 -40 -39 -39 -39 -39 -40 -40 -40 -40 -39 -38 -37 -38 -37 -35 -33 -30 -28 -29 -29 -28 -28 -29 -30 -30 -29 -28 -26 -24 -23 -23 -25 -27 -29 -30 -31 -31 -30 -30 -31 -32 -31 -30 -29 -29 -32 -35 -36 -37 -40 -41 -40 -40 -40 -40 -40 -41 -42 -43 -43 -42 -33 -32 -31 -30 -30 -29 -28 -27 -27 -26 -24 -22 -21 -21 -22 -21 -20 -18 -18 -21 -26 -32 -35 -35 -32 -29 -27 -25 -23 -22 -23 -25 -27 -31 -34 -34 -33 -29 -22 -17 -15 -16 -22 -28 -29 -26 -22 -21 -21 -21 -20 -21 -24 -25 -26 -25 -24 -23 -24 -25 -28 -29 -31 -31 -31 -31 -29 -28 -27 -27 -29 -30 -31 -29 -25 -21 -18 -17 -17 -16 -15 -15 -16 -16 -17 -18 -20 -21 -23 -24 -25 -25 -26 -26 -26 -26 -29 -32 -39 -47 -52 -51 -43 -34 -30 -31 -34 -32 -27 -23 -22 -22 -22 -23 -26 -28 -28 -27 -27 -29 -32 -32 -30 -27 -25 -23 -21 -19 -17 -17 -19 -22 -25 -28 -26 -22 -18 -17 -19 -20 -20 -20 -19 -20 -21 -22 -21 -20 -19 -18 -18 -18 -19 -20 -23 -25 -27 -28 -27 -27 -27 -30 -34 -37 -37 -35 -32 -32 -33 -35 -37 -39 -41 -43 -44 -46 -45 -43 -41 -41 -43 -45 -49 -51 -53 -57 -62 -65 -64 -59 -53 -47 -42 -40 -37 -31 -27 -26 -28 -29 -30 -30 -30 -29 -28 -28 -29 -32 -34 -37 -40 -44 -49 -57 -63 -66 -63 -55 -47 -41 -38 -36 -33 -31 -29 -31 -35 -38 -40 -42 -44 -44 -45 -45 -45 -48 -53 -59 -63 -63 -52 -40 -35 -35 -36 -36 -37 -39 -40 -40 -40 -39 -39 -42 -47 -50 -52 -53 -55 -57 -58 -57 -57 -57 -57 -59 -63 -66 -66 -64 -60 -54 -51 -50 -50 -50 -50 -51 -51 -50 -51 -53 -56 -58 -57 -54 -50 -48 -47 -47 -47 -48 -50 -52 -54 -54 -51 -49 -46 -46 -45 -45 -47 -49 -51 -51 -50 -47 -45 -49 -51 -50 -47 -48 -52 -55 -57 -58 -58 -56 -55 -56 -56 -56 -55 -55 -57 -59 -59 -58 -57 -55 -54 -55 -56 -56 -55 -51 -48 -47 -47 -47 -48 -49 -49 -49 -47 -45 -43 -42 -41 -39 -39 -38 -38 -37 -38 -39 -39 -39 -38 -38 -37 -38 -38 -36 -34 -32 -30 -30 -29 -28 -28 -29 -30 -30 -29 -28 -27 -26 -25 -25 -26 -26 -27 -29 -31 -30 -30 -30 -32 -33 -32 -31 -29 -28 -29 -31 -33 -36 -38 -39 -39 -40 -41 -40 -40 -41 -41 -40 -40 -40 -30 -28 -27 -28 -28 -29 -28 -27 -26 -24 -23 -22 -21 -22 -23 -22 -21 -20 -20 -21 -25 -30 -34 -36 -34 -31 -28 -26 -24 -23 -25 -28 -31 -35 -36 -35 -32 -27 -21 -17 -15 -18 -24 -28 -28 -25 -20 -19 -19 -19 -20 -22 -24 -24 -24 -22 -22 -23 -25 -27 -29 -30 -31 -32 -32 -32 -30 -28 -28 -28 -30 -31 -30 -27 -20 -15 -14 -14 -14 -14 -15 -16 -17 -18 -18 -19 -21 -23 -24 -25 -26 -27 -29 -29 -28 -27 -28 -31 -40 -48 -51 -48 -38 -32 -30 -32 -35 -31 -27 -24 -23 -21 -21 -22 -24 -27 -27 -26 -27 -29 -33 -35 -33 -30 -27 -25 -23 -20 -18 -17 -20 -24 -26 -27 -26 -22 -19 -19 -21 -22 -21 -20 -20 -20 -22 -22 -21 -20 -20 -19 -19 -19 -20 -22 -24 -26 -27 -27 -26 -26 -26 -29 -35 -38 -37 -35 -34 -34 -36 -37 -37 -38 -42 -45 -48 -51 -52 -48 -43 -40 -41 -44 -45 -45 -46 -52 -59 -65 -67 -65 -58 -50 -43 -39 -35 -30 -27 -27 -27 -27 -28 -29 -30 -31 -30 -28 -28 -30 -32 -35 -39 -43 -49 -55 -59 -61 -59 -53 -47 -42 -39 -36 -33 -32 -31 -33 -39 -43 -45 -45 -45 -42 -39 -38 -40 -45 -52 -60 -66 -66 -53 -43 -37 -36 -35 -36 -39 -41 -43 -43 -42 -40 -39 -42 -47 -51 -53 -54 -56 -58 -59 -58 -57 -57 -58 -60 -63 -67 -67 -64 -58 -51 -48 -47 -47 -47 -49 -50 -50 -51 -52 -55 -58 -59 -57 -54 -50 -47 -45 -45 -45 -46 -49 -52 -54 -54 -51 -46 -42 -40 -40 -40 -40 -42 -45 -46 -47 -47 -48 -51 -52 -50 -47 -47 -49 -52 -54 -56 -56 -55 -55 -55 -57 -59 -58 -55 -55 -57 -57 -57 -56 -55 -55 -56 -57 -57 -56 -53 -50 -48 -47 -47 -48 -49 -50 -49 -47 -45 -43 -41 -40 -39 -38 -38 -37 -36 -36 -37 -38 -38 -38 -38 -37 -37 -37 -37 -36 -33 -32 -31 -29 -27 -28 -29 -30 -30 -30 -29 -28 -27 -26 -26 -26 -25 -25 -27 -29 -29 -30 -30 -32 -33 -32 -31 -29 -29 -28 -29 -31 -35 -37 -39 -40 -40 -41 -40 -40 -40 -39 -38 -38 -39 -26 -25 -25 -26 -27 -28 -28 -27 -25 -23 -22 -22 -22 -22 -23 -23 -23 -22 -21 -22 -25 -29 -32 -35 -35 -33 -30 -28 -25 -25 -29 -33 -36 -37 -36 -33 -30 -25 -20 -17 -17 -20 -26 -28 -26 -22 -19 -17 -17 -17 -18 -20 -22 -22 -21 -20 -22 -24 -27 -28 -29 -31 -31 -32 -32 -32 -30 -29 -29 -31 -33 -32 -28 -22 -16 -13 -13 -13 -14 -14 -15 -16 -17 -18 -19 -20 -21 -23 -24 -26 -28 -30 -32 -33 -32 -31 -30 -32 -39 -46 -47 -42 -34 -31 -32 -34 -35 -31 -27 -24 -23 -21 -20 -21 -23 -26 -26 -27 -28 -31 -34 -36 -34 -31 -27 -25 -22 -20 -18 -16 -20 -23 -25 -26 -25 -21 -19 -19 -22 -24 -24 -23 -22 -21 -22 -22 -21 -21 -21 -21 -21 -21 -22 -24 -26 -27 -26 -26 -25 -25 -25 -27 -31 -35 -35 -35 -34 -36 -37 -38 -37 -38 -41 -44 -48 -54 -57 -54 -47 -40 -38 -38 -39 -40 -42 -48 -56 -63 -66 -66 -60 -50 -40 -33 -29 -27 -27 -28 -29 -28 -27 -26 -28 -30 -30 -29 -29 -30 -32 -34 -38 -42 -47 -51 -53 -54 -52 -47 -41 -37 -34 -32 -31 -31 -32 -34 -38 -42 -43 -43 -42 -39 -36 -35 -37 -41 -49 -57 -63 -61 -51 -43 -38 -36 -35 -37 -40 -44 -47 -47 -46 -44 -43 -46 -49 -52 -54 -56 -56 -58 -59 -59 -57 -58 -59 -61 -63 -66 -65 -61 -55 -48 -45 -44 -44 -46 -48 -50 -51 -52 -53 -56 -58 -58 -55 -51 -49 -46 -45 -44 -44 -45 -47 -50 -53 -54 -51 -45 -39 -36 -36 -35 -35 -35 -39 -42 -46 -49 -52 -52 -51 -49 -48 -47 -47 -49 -51 -53 -54 -54 -54 -54 -56 -59 -60 -56 -52 -52 -53 -53 -52 -52 -54 -56 -57 -57 -57 -55 -52 -50 -48 -48 -48 -49 -49 -48 -47 -46 -44 -42 -40 -40 -40 -39 -37 -36 -36 -36 -37 -37 -37 -37 -37 -36 -37 -37 -37 -35 -33 -31 -29 -27 -27 -28 -29 -30 -31 -30 -29 -28 -27 -26 -24 -24 -25 -25 -26 -28 -29 -30 -31 -32 -31 -31 -31 -30 -29 -29 -30 -33 -36 -39 -41 -40 -41 -39 -38 -38 -37 -36 -36 -37 -24 -24 -24 -25 -26 -28 -28 -26 -24 -23 -22 -22 -22 -23 -23 -23 -24 -23 -23 -23 -26 -28 -30 -32 -33 -34 -33 -30 -26 -28 -33 -37 -38 -37 -34 -31 -28 -25 -22 -21 -21 -22 -25 -25 -23 -21 -18 -16 -16 -17 -18 -19 -20 -19 -19 -21 -23 -26 -28 -29 -29 -30 -30 -30 -31 -31 -31 -31 -32 -34 -34 -31 -25 -18 -13 -12 -13 -14 -15 -16 -16 -17 -18 -18 -19 -20 -21 -24 -28 -30 -32 -34 -35 -35 -34 -32 -32 -33 -38 -41 -41 -37 -32 -31 -33 -37 -37 -33 -29 -26 -24 -21 -19 -20 -22 -25 -27 -27 -27 -28 -31 -34 -35 -33 -28 -25 -22 -20 -19 -19 -21 -23 -24 -24 -23 -20 -19 -20 -22 -25 -26 -28 -28 -27 -26 -25 -24 -22 -22 -22 -23 -23 -25 -27 -28 -28 -28 -26 -25 -25 -24 -25 -27 -30 -33 -34 -34 -35 -37 -38 -38 -38 -40 -44 -49 -55 -58 -56 -50 -43 -40 -39 -38 -40 -42 -47 -53 -59 -63 -60 -53 -44 -35 -30 -27 -25 -25 -27 -27 -25 -23 -22 -24 -25 -27 -29 -31 -34 -35 -36 -37 -39 -41 -43 -45 -45 -44 -40 -36 -32 -31 -30 -31 -32 -34 -36 -39 -40 -41 -40 -39 -35 -33 -32 -35 -40 -46 -51 -52 -48 -45 -42 -39 -37 -36 -37 -42 -47 -51 -52 -51 -49 -48 -51 -53 -54 -55 -57 -58 -59 -60 -59 -59 -59 -60 -62 -64 -65 -63 -59 -53 -46 -42 -41 -42 -46 -49 -50 -51 -52 -53 -55 -56 -55 -53 -50 -49 -47 -45 -44 -45 -46 -47 -49 -52 -53 -50 -44 -37 -33 -32 -31 -31 -30 -35 -41 -47 -53 -56 -57 -55 -52 -49 -47 -47 -48 -50 -51 -53 -54 -55 -55 -56 -59 -60 -57 -51 -49 -48 -48 -48 -50 -52 -53 -55 -56 -56 -56 -55 -53 -51 -50 -48 -47 -46 -47 -47 -46 -45 -43 -42 -41 -40 -40 -38 -37 -36 -36 -36 -36 -36 -36 -36 -36 -36 -37 -36 -35 -33 -31 -29 -27 -28 -28 -29 -30 -31 -30 -30 -29 -28 -27 -24 -24 -25 -25 -25 -27 -29 -30 -30 -31 -31 -31 -32 -31 -30 -29 -29 -32 -35 -39 -41 -41 -41 -39 -38 -37 -36 -35 -34 -35 -23 -23 -24 -25 -26 -28 -28 -26 -24 -23 -22 -22 -23 -23 -23 -24 -24 -25 -25 -25 -26 -28 -29 -30 -30 -32 -33 -32 -28 -30 -35 -38 -38 -35 -32 -29 -27 -24 -24 -24 -24 -24 -23 -23 -22 -20 -18 -17 -17 -17 -18 -18 -18 -18 -19 -22 -26 -28 -29 -29 -29 -28 -28 -29 -30 -31 -32 -33 -34 -35 -34 -28 -22 -16 -14 -13 -14 -14 -16 -18 -19 -20 -20 -19 -20 -22 -24 -28 -32 -34 -35 -36 -36 -36 -35 -33 -32 -33 -36 -37 -36 -34 -30 -30 -34 -38 -39 -35 -32 -29 -26 -22 -20 -19 -21 -25 -26 -26 -27 -28 -30 -34 -35 -34 -30 -25 -22 -20 -20 -21 -22 -23 -24 -24 -22 -20 -20 -21 -22 -24 -26 -28 -29 -29 -28 -28 -27 -24 -22 -22 -24 -26 -28 -29 -29 -29 -28 -27 -27 -26 -25 -25 -26 -28 -30 -32 -33 -35 -37 -38 -38 -38 -41 -46 -52 -57 -59 -56 -51 -45 -42 -41 -41 -43 -44 -46 -50 -56 -60 -56 -48 -39 -31 -27 -26 -24 -23 -23 -24 -23 -22 -21 -21 -23 -25 -28 -33 -39 -41 -40 -37 -35 -34 -34 -35 -36 -37 -37 -34 -31 -29 -30 -32 -33 -36 -39 -40 -39 -37 -37 -36 -34 -32 -31 -34 -40 -43 -43 -39 -35 -37 -41 -44 -45 -42 -42 -44 -49 -54 -55 -55 -53 -52 -55 -57 -57 -56 -57 -59 -61 -61 -60 -59 -60 -61 -63 -63 -62 -59 -55 -50 -44 -40 -39 -41 -45 -48 -49 -49 -49 -51 -53 -53 -52 -51 -49 -48 -46 -45 -45 -46 -47 -47 -48 -49 -49 -48 -44 -38 -33 -30 -29 -29 -30 -34 -39 -46 -52 -57 -59 -59 -56 -52 -48 -47 -48 -48 -49 -52 -54 -56 -57 -56 -58 -59 -57 -52 -48 -46 -45 -45 -47 -48 -49 -50 -51 -53 -55 -56 -54 -54 -52 -49 -45 -44 -45 -46 -45 -44 -43 -42 -42 -42 -42 -41 -39 -38 -37 -35 -35 -35 -35 -35 -35 -35 -36 -36 -34 -34 -32 -30 -29 -28 -29 -29 -30 -31 -31 -31 -30 -28 -26 -25 -24 -24 -24 -24 -26 -28 -30 -30 -30 -31 -31 -32 -32 -31 -29 -29 -31 -34 -38 -39 -40 -40 -39 -38 -37 -36 -34 -33 -33 -23 -23 -24 -25 -26 -28 -28 -26 -25 -23 -23 -23 -23 -23 -24 -24 -25 -26 -26 -26 -26 -26 -27 -27 -28 -30 -31 -32 -31 -33 -36 -37 -35 -32 -30 -28 -26 -23 -23 -24 -24 -24 -23 -23 -21 -19 -17 -17 -17 -17 -17 -16 -17 -18 -20 -23 -27 -28 -29 -28 -27 -26 -26 -27 -28 -30 -32 -34 -35 -35 -31 -25 -20 -17 -16 -16 -16 -16 -18 -20 -23 -24 -23 -22 -23 -26 -29 -32 -34 -35 -36 -37 -38 -37 -36 -34 -32 -32 -33 -33 -33 -32 -29 -30 -34 -38 -39 -35 -33 -31 -27 -24 -21 -20 -21 -24 -25 -26 -27 -28 -31 -34 -34 -32 -28 -24 -22 -22 -22 -22 -23 -23 -24 -23 -22 -21 -22 -22 -22 -24 -25 -25 -25 -25 -26 -28 -29 -29 -27 -25 -26 -28 -30 -30 -29 -28 -26 -26 -27 -27 -26 -25 -26 -27 -28 -29 -32 -34 -37 -39 -40 -42 -46 -51 -57 -61 -60 -56 -51 -44 -40 -40 -43 -46 -47 -45 -48 -54 -59 -58 -50 -41 -31 -26 -25 -23 -22 -22 -23 -22 -22 -21 -21 -22 -24 -28 -34 -41 -45 -45 -41 -34 -30 -30 -30 -31 -32 -33 -32 -30 -28 -30 -32 -34 -36 -39 -40 -39 -37 -35 -35 -34 -32 -32 -34 -39 -41 -40 -38 -37 -40 -42 -44 -47 -48 -49 -49 -49 -52 -56 -57 -56 -54 -56 -58 -59 -58 -58 -59 -61 -62 -61 -59 -60 -61 -62 -61 -60 -57 -53 -47 -42 -38 -37 -38 -41 -45 -47 -47 -46 -47 -50 -50 -50 -49 -48 -47 -46 -45 -46 -47 -47 -47 -48 -48 -47 -46 -44 -38 -32 -29 -28 -29 -31 -34 -38 -43 -50 -56 -59 -59 -57 -52 -49 -48 -48 -48 -48 -50 -54 -57 -57 -57 -58 -58 -56 -52 -49 -46 -44 -44 -44 -45 -46 -47 -48 -50 -52 -54 -55 -55 -53 -50 -45 -43 -44 -45 -44 -42 -41 -41 -41 -43 -43 -42 -40 -39 -38 -36 -35 -34 -33 -33 -33 -34 -35 -35 -34 -34 -33 -31 -29 -29 -29 -29 -29 -30 -31 -31 -29 -27 -26 -25 -25 -25 -24 -24 -25 -26 -28 -29 -30 -31 -31 -31 -31 -31 -29 -28 -30 -33 -36 -39 -39 -39 -39 -39 -37 -36 -35 -33 -32 -23 -23 -24 -25 -26 -27 -27 -26 -25 -24 -23 -23 -23 -24 -24 -25 -27 -27 -28 -27 -26 -25 -25 -25 -26 -27 -29 -31 -33 -35 -36 -35 -33 -29 -28 -27 -26 -23 -22 -22 -23 -24 -24 -23 -21 -19 -17 -17 -16 -16 -16 -15 -16 -18 -21 -24 -26 -27 -28 -27 -26 -25 -25 -26 -28 -31 -32 -34 -34 -32 -26 -21 -18 -18 -18 -19 -19 -19 -20 -23 -25 -26 -26 -25 -27 -31 -33 -34 -34 -34 -36 -37 -38 -38 -37 -34 -32 -30 -29 -30 -31 -31 -29 -30 -34 -38 -39 -35 -33 -31 -29 -26 -22 -21 -21 -24 -26 -27 -29 -30 -32 -33 -33 -30 -27 -24 -23 -23 -24 -24 -23 -23 -23 -23 -22 -23 -24 -24 -23 -24 -24 -23 -23 -22 -24 -27 -31 -34 -32 -29 -28 -28 -29 -29 -28 -26 -25 -25 -25 -26 -25 -25 -26 -28 -29 -30 -33 -35 -37 -39 -42 -44 -48 -54 -60 -59 -57 -53 -47 -41 -37 -38 -42 -46 -48 -46 -48 -54 -60 -63 -58 -48 -37 -29 -26 -23 -21 -21 -22 -22 -22 -22 -22 -23 -24 -28 -33 -39 -42 -42 -39 -34 -32 -32 -32 -32 -31 -30 -29 -29 -30 -30 -30 -31 -33 -36 -38 -39 -39 -38 -38 -36 -34 -32 -33 -37 -40 -40 -39 -39 -42 -44 -46 -47 -50 -51 -51 -50 -53 -57 -58 -56 -55 -56 -57 -59 -60 -59 -59 -59 -60 -59 -57 -57 -57 -57 -57 -55 -52 -49 -45 -40 -38 -37 -37 -39 -43 -45 -45 -44 -45 -47 -49 -49 -48 -47 -46 -46 -45 -46 -47 -48 -48 -48 -47 -46 -46 -45 -39 -34 -30 -28 -27 -30 -34 -38 -43 -49 -54 -58 -58 -56 -52 -50 -49 -50 -49 -48 -49 -51 -54 -55 -56 -57 -58 -56 -53 -50 -47 -44 -44 -44 -44 -44 -45 -46 -48 -50 -52 -53 -54 -53 -50 -45 -42 -43 -44 -43 -42 -40 -39 -41 -43 -43 -42 -41 -40 -39 -38 -36 -35 -33 -32 -32 -32 -34 -35 -35 -34 -34 -32 -30 -29 -28 -28 -28 -29 -30 -30 -29 -27 -26 -26 -25 -25 -24 -23 -23 -24 -26 -28 -29 -30 -30 -30 -30 -30 -29 -28 -29 -31 -35 -38 -38 -38 -38 -37 -36 -36 -36 -34 -31 -23 -23 -24 -25 -26 -27 -27 -26 -25 -24 -24 -23 -23 -23 -25 -26 -27 -28 -28 -27 -26 -24 -23 -23 -24 -26 -28 -31 -33 -34 -35 -34 -32 -28 -27 -27 -26 -23 -21 -20 -22 -25 -25 -23 -20 -18 -17 -17 -15 -14 -14 -14 -16 -18 -21 -23 -25 -26 -26 -26 -25 -24 -24 -26 -28 -31 -32 -33 -31 -27 -21 -18 -17 -18 -19 -19 -19 -20 -21 -23 -25 -26 -27 -28 -31 -35 -36 -35 -33 -33 -34 -36 -38 -38 -37 -34 -31 -27 -27 -28 -29 -31 -29 -30 -33 -38 -38 -35 -33 -31 -29 -27 -24 -23 -23 -25 -28 -30 -32 -33 -33 -32 -31 -30 -28 -26 -25 -25 -26 -26 -24 -23 -22 -23 -23 -24 -25 -25 -25 -24 -23 -22 -22 -21 -23 -26 -31 -34 -34 -32 -29 -27 -26 -26 -25 -24 -23 -23 -23 -23 -24 -24 -26 -29 -32 -34 -35 -37 -39 -41 -44 -49 -52 -54 -56 -54 -54 -52 -48 -43 -37 -37 -39 -42 -47 -48 -50 -55 -62 -65 -62 -53 -42 -33 -28 -25 -22 -21 -21 -21 -22 -22 -23 -24 -25 -27 -31 -35 -36 -36 -35 -33 -34 -35 -36 -36 -35 -34 -33 -31 -30 -30 -30 -30 -31 -32 -35 -38 -41 -43 -42 -39 -35 -32 -32 -35 -39 -40 -39 -40 -44 -47 -49 -49 -51 -53 -54 -53 -54 -56 -55 -53 -52 -53 -55 -59 -62 -62 -58 -55 -54 -54 -52 -51 -51 -51 -51 -49 -47 -45 -43 -40 -39 -39 -40 -39 -41 -44 -46 -47 -49 -50 -50 -50 -49 -48 -46 -45 -46 -46 -48 -49 -48 -47 -46 -46 -46 -45 -40 -36 -33 -30 -27 -29 -33 -39 -45 -50 -54 -56 -57 -55 -52 -50 -50 -51 -51 -49 -48 -48 -51 -52 -54 -56 -57 -55 -52 -50 -48 -45 -45 -45 -45 -44 -43 -44 -46 -48 -49 -50 -51 -52 -50 -45 -41 -40 -41 -42 -41 -39 -38 -40 -43 -43 -43 -42 -42 -40 -39 -38 -37 -35 -34 -33 -33 -34 -35 -35 -35 -35 -33 -32 -30 -28 -27 -27 -28 -29 -31 -30 -29 -27 -26 -25 -25 -24 -23 -23 -24 -25 -26 -28 -29 -30 -30 -30 -29 -29 -29 -29 -30 -33 -36 -37 -38 -37 -36 -35 -36 -36 -35 -31 -23 -23 -24 -25 -26 -27 -26 -26 -26 -25 -24 -24 -23 -23 -24 -26 -28 -29 -29 -27 -25 -23 -22 -22 -23 -25 -28 -31 -32 -33 -34 -33 -31 -27 -26 -26 -25 -23 -20 -20 -21 -24 -25 -22 -20 -19 -18 -17 -15 -13 -13 -14 -16 -18 -21 -23 -24 -26 -27 -28 -27 -25 -25 -26 -28 -31 -31 -31 -27 -22 -17 -16 -17 -19 -20 -20 -20 -20 -21 -23 -25 -27 -28 -30 -33 -35 -35 -34 -32 -32 -34 -36 -38 -38 -37 -34 -30 -28 -28 -28 -28 -28 -27 -29 -33 -38 -40 -37 -33 -30 -28 -27 -26 -26 -26 -28 -31 -34 -37 -37 -34 -32 -31 -31 -30 -28 -26 -26 -27 -27 -25 -23 -23 -22 -22 -24 -26 -25 -25 -24 -22 -21 -21 -21 -23 -26 -29 -33 -35 -34 -31 -27 -25 -24 -24 -23 -23 -22 -22 -22 -22 -23 -25 -30 -34 -36 -37 -39 -42 -46 -50 -52 -50 -49 -48 -50 -50 -48 -46 -43 -38 -34 -33 -36 -44 -50 -55 -58 -61 -59 -54 -47 -39 -34 -31 -27 -24 -22 -22 -22 -22 -23 -24 -24 -25 -26 -29 -31 -31 -31 -31 -33 -35 -38 -40 -40 -39 -38 -36 -32 -31 -31 -31 -30 -30 -30 -33 -38 -43 -45 -43 -39 -35 -32 -32 -35 -38 -40 -39 -41 -45 -48 -50 -50 -51 -53 -55 -56 -56 -56 -54 -52 -54 -56 -57 -60 -64 -63 -56 -49 -44 -46 -46 -45 -44 -44 -45 -44 -43 -42 -41 -41 -41 -43 -43 -41 -41 -43 -46 -50 -52 -53 -53 -52 -51 -49 -47 -45 -46 -48 -49 -49 -48 -47 -46 -45 -45 -44 -41 -38 -36 -33 -30 -29 -31 -35 -41 -47 -51 -54 -54 -52 -51 -50 -50 -51 -52 -50 -48 -48 -49 -51 -53 -55 -56 -55 -52 -49 -47 -45 -46 -46 -46 -45 -43 -43 -44 -46 -47 -48 -50 -51 -50 -45 -40 -38 -38 -39 -39 -38 -38 -39 -42 -43 -43 -42 -42 -40 -39 -39 -38 -37 -35 -35 -34 -34 -35 -36 -35 -35 -33 -32 -30 -28 -27 -26 -27 -29 -31 -31 -29 -26 -23 -22 -23 -23 -23 -23 -23 -24 -26 -28 -28 -29 -30 -30 -30 -31 -31 -30 -30 -31 -34 -36 -37 -37 -36 -35 -35 -36 -35 -33 -23 -24 -25 -26 -26 -27 -27 -27 -27 -27 -26 -24 -23 -23 -24 -27 -29 -30 -29 -27 -24 -22 -22 -22 -23 -25 -28 -31 -32 -32 -32 -31 -28 -25 -25 -25 -24 -23 -21 -20 -21 -23 -23 -22 -21 -20 -19 -18 -16 -14 -13 -13 -15 -17 -20 -23 -26 -30 -32 -32 -31 -28 -28 -29 -30 -32 -31 -28 -24 -19 -16 -17 -19 -22 -23 -23 -22 -22 -23 -24 -26 -27 -29 -30 -32 -33 -33 -31 -31 -32 -34 -35 -38 -38 -36 -32 -29 -27 -27 -28 -28 -28 -27 -29 -32 -37 -40 -38 -35 -32 -30 -29 -29 -29 -30 -31 -33 -35 -36 -36 -35 -34 -33 -33 -31 -27 -26 -26 -27 -28 -26 -24 -23 -23 -23 -23 -24 -25 -24 -22 -20 -20 -21 -23 -24 -26 -29 -33 -35 -35 -33 -29 -26 -24 -23 -23 -22 -22 -22 -21 -20 -21 -25 -30 -34 -35 -37 -40 -45 -50 -54 -55 -51 -46 -43 -44 -43 -42 -40 -40 -35 -32 -32 -35 -42 -50 -56 -59 -56 -49 -43 -38 -36 -34 -32 -29 -26 -23 -22 -21 -22 -23 -24 -24 -24 -25 -26 -27 -28 -28 -30 -33 -36 -40 -43 -43 -42 -40 -37 -33 -32 -33 -32 -31 -31 -31 -33 -35 -38 -39 -39 -38 -37 -37 -36 -38 -39 -39 -38 -42 -45 -48 -49 -48 -49 -52 -54 -56 -57 -56 -54 -53 -56 -58 -59 -62 -64 -64 -57 -46 -37 -38 -39 -38 -37 -39 -42 -41 -40 -39 -41 -42 -44 -46 -47 -44 -43 -45 -48 -52 -54 -54 -54 -53 -52 -50 -49 -48 -49 -50 -50 -49 -47 -46 -45 -45 -45 -45 -42 -39 -37 -35 -32 -31 -31 -33 -37 -43 -48 -51 -52 -50 -49 -48 -47 -48 -50 -50 -50 -50 -50 -51 -53 -54 -55 -54 -50 -47 -45 -44 -45 -46 -46 -46 -42 -41 -42 -44 -46 -47 -49 -51 -51 -47 -42 -39 -37 -37 -36 -35 -35 -37 -41 -42 -41 -40 -41 -40 -39 -39 -38 -37 -36 -35 -35 -35 -35 -35 -35 -35 -34 -32 -29 -27 -26 -26 -27 -29 -31 -32 -30 -26 -22 -22 -24 -24 -23 -23 -23 -24 -26 -27 -28 -29 -30 -31 -31 -33 -33 -31 -30 -30 -32 -35 -36 -36 -36 -35 -36 -36 -36 -34 -23 -24 -25 -26 -27 -28 -28 -29 -28 -28 -27 -25 -24 -23 -24 -27 -30 -32 -31 -28 -24 -23 -22 -23 -24 -26 -29 -32 -34 -33 -32 -29 -25 -23 -23 -24 -23 -22 -21 -21 -21 -22 -22 -21 -21 -21 -20 -18 -16 -14 -14 -14 -15 -16 -19 -22 -27 -31 -33 -33 -32 -31 -30 -30 -31 -31 -28 -24 -20 -18 -18 -20 -22 -24 -25 -25 -25 -24 -24 -25 -26 -27 -29 -31 -33 -33 -31 -30 -30 -32 -33 -35 -37 -37 -34 -31 -27 -25 -26 -27 -29 -29 -27 -27 -30 -35 -38 -39 -39 -36 -33 -31 -31 -30 -30 -30 -32 -33 -34 -34 -33 -33 -33 -32 -31 -27 -25 -25 -27 -28 -26 -25 -24 -22 -22 -22 -22 -22 -21 -20 -19 -20 -21 -23 -25 -28 -31 -33 -36 -36 -34 -31 -27 -25 -24 -23 -22 -22 -22 -21 -20 -20 -25 -30 -33 -34 -36 -40 -45 -49 -54 -55 -53 -48 -43 -40 -38 -37 -38 -40 -35 -32 -33 -36 -41 -47 -53 -58 -58 -50 -42 -36 -34 -32 -30 -28 -27 -25 -23 -21 -21 -22 -23 -23 -24 -24 -25 -26 -27 -28 -29 -32 -36 -40 -44 -45 -42 -39 -36 -34 -33 -34 -34 -33 -31 -31 -31 -31 -32 -32 -34 -36 -39 -40 -41 -41 -40 -37 -37 -41 -45 -48 -48 -47 -48 -50 -52 -56 -57 -56 -54 -54 -57 -59 -61 -62 -63 -61 -55 -44 -33 -30 -30 -31 -32 -36 -39 -38 -37 -38 -42 -45 -47 -48 -50 -48 -47 -48 -51 -53 -54 -54 -54 -53 -53 -52 -51 -51 -51 -51 -51 -50 -48 -47 -47 -48 -49 -49 -45 -42 -39 -37 -34 -32 -31 -32 -34 -38 -43 -47 -50 -49 -47 -46 -46 -46 -47 -49 -51 -51 -52 -54 -55 -54 -53 -52 -48 -45 -43 -43 -44 -44 -44 -44 -41 -40 -41 -42 -44 -46 -48 -50 -52 -49 -45 -41 -38 -36 -35 -34 -34 -36 -39 -39 -39 -38 -39 -39 -39 -38 -38 -38 -37 -36 -35 -35 -35 -35 -35 -35 -33 -31 -28 -27 -27 -26 -27 -28 -29 -31 -30 -27 -24 -23 -23 -23 -23 -24 -24 -24 -25 -26 -27 -29 -31 -31 -31 -33 -33 -31 -30 -30 -32 -34 -34 -35 -35 -35 -35 -37 -36 -34 -24 -25 -26 -26 -27 -28 -29 -30 -29 -29 -28 -25 -23 -23 -24 -27 -31 -33 -32 -29 -26 -24 -25 -26 -28 -29 -32 -34 -35 -34 -32 -28 -24 -21 -22 -22 -22 -21 -21 -22 -22 -22 -22 -22 -22 -22 -20 -18 -16 -15 -14 -14 -15 -16 -19 -22 -26 -30 -31 -31 -30 -29 -29 -29 -29 -28 -24 -21 -19 -19 -21 -22 -24 -25 -25 -26 -26 -26 -26 -26 -27 -27 -29 -31 -32 -32 -31 -30 -30 -32 -33 -34 -35 -34 -32 -30 -27 -24 -25 -27 -30 -30 -26 -26 -29 -33 -37 -39 -40 -40 -37 -34 -33 -32 -30 -29 -30 -32 -33 -33 -32 -32 -32 -32 -32 -29 -27 -27 -29 -29 -27 -25 -24 -22 -23 -22 -22 -21 -20 -19 -19 -20 -22 -25 -29 -31 -33 -34 -36 -38 -37 -34 -30 -26 -24 -22 -21 -21 -21 -21 -21 -22 -26 -30 -32 -33 -34 -37 -40 -44 -48 -50 -51 -49 -44 -39 -37 -37 -39 -40 -36 -34 -35 -37 -39 -42 -47 -52 -56 -52 -45 -37 -31 -29 -29 -28 -28 -24 -22 -21 -20 -21 -22 -23 -24 -25 -26 -28 -28 -29 -29 -31 -34 -40 -44 -46 -41 -38 -36 -36 -36 -36 -35 -34 -32 -32 -31 -30 -29 -29 -31 -34 -38 -42 -44 -43 -40 -38 -39 -40 -44 -48 -50 -50 -50 -51 -53 -56 -57 -56 -54 -54 -56 -58 -59 -60 -60 -58 -52 -43 -33 -29 -28 -28 -29 -32 -37 -38 -37 -38 -44 -48 -50 -51 -52 -51 -51 -51 -52 -53 -53 -53 -53 -54 -54 -53 -53 -52 -50 -50 -50 -51 -51 -52 -53 -54 -55 -53 -49 -46 -43 -40 -37 -35 -34 -34 -33 -35 -38 -43 -48 -48 -47 -45 -45 -45 -45 -47 -49 -50 -54 -58 -58 -55 -52 -50 -47 -44 -42 -43 -44 -44 -43 -42 -41 -40 -40 -41 -43 -45 -47 -50 -51 -50 -48 -44 -41 -38 -37 -35 -34 -35 -37 -37 -37 -38 -40 -40 -39 -38 -38 -38 -37 -37 -36 -36 -35 -34 -34 -34 -33 -31 -29 -27 -27 -27 -27 -27 -28 -30 -31 -29 -26 -24 -24 -24 -25 -26 -26 -25 -24 -25 -28 -30 -31 -31 -31 -31 -31 -31 -31 -31 -32 -33 -34 -35 -34 -34 -35 -36 -36 -34 -24 -26 -26 -26 -27 -28 -29 -30 -30 -29 -28 -25 -23 -23 -24 -27 -31 -33 -33 -31 -28 -29 -29 -30 -30 -32 -34 -36 -36 -35 -32 -28 -24 -21 -20 -21 -20 -19 -19 -20 -21 -22 -22 -22 -22 -22 -21 -19 -17 -16 -15 -14 -15 -17 -20 -23 -26 -27 -27 -27 -26 -26 -26 -26 -26 -24 -20 -18 -18 -19 -21 -23 -24 -24 -24 -25 -26 -27 -27 -26 -26 -27 -28 -30 -30 -30 -30 -30 -31 -32 -33 -33 -34 -32 -30 -28 -26 -25 -26 -28 -29 -28 -25 -24 -27 -31 -36 -38 -39 -40 -38 -37 -35 -34 -32 -29 -30 -31 -32 -32 -30 -30 -31 -32 -33 -30 -29 -28 -29 -29 -27 -25 -23 -22 -22 -22 -22 -22 -21 -19 -18 -19 -22 -27 -31 -34 -34 -33 -36 -39 -40 -38 -33 -27 -23 -20 -19 -19 -19 -19 -20 -23 -27 -29 -29 -28 -30 -31 -32 -34 -37 -41 -44 -45 -43 -39 -39 -39 -39 -38 -37 -37 -37 -37 -37 -38 -42 -47 -54 -54 -48 -39 -31 -28 -28 -29 -29 -27 -23 -22 -22 -22 -22 -23 -24 -25 -26 -27 -28 -28 -28 -30 -33 -37 -42 -44 -42 -40 -38 -38 -38 -37 -36 -34 -33 -32 -32 -31 -30 -29 -31 -34 -38 -42 -42 -41 -40 -40 -40 -40 -44 -48 -51 -51 -51 -52 -53 -55 -55 -55 -53 -52 -53 -54 -54 -54 -54 -52 -48 -41 -35 -32 -30 -28 -28 -30 -33 -34 -35 -37 -44 -49 -53 -54 -53 -52 -53 -53 -53 -51 -51 -52 -52 -53 -54 -54 -53 -52 -51 -51 -52 -52 -53 -55 -56 -58 -58 -55 -52 -49 -46 -44 -41 -39 -38 -37 -36 -35 -37 -40 -45 -46 -46 -44 -44 -44 -45 -46 -49 -51 -56 -59 -59 -55 -52 -50 -47 -43 -42 -43 -44 -45 -45 -43 -41 -40 -40 -40 -43 -46 -48 -49 -51 -50 -49 -46 -43 -41 -39 -37 -35 -35 -36 -36 -36 -37 -39 -39 -38 -36 -37 -38 -38 -38 -38 -36 -34 -33 -33 -33 -32 -31 -29 -28 -27 -26 -27 -27 -28 -29 -31 -31 -30 -27 -26 -25 -26 -28 -28 -27 -25 -26 -28 -31 -32 -32 -30 -30 -30 -30 -30 -30 -30 -31 -32 -34 -34 -34 -34 -35 -36 -35 -24 -26 -26 -26 -27 -28 -30 -30 -29 -28 -27 -25 -25 -25 -25 -27 -31 -33 -33 -32 -31 -32 -31 -30 -30 -33 -36 -36 -35 -34 -31 -27 -23 -21 -20 -20 -19 -18 -17 -19 -20 -21 -22 -22 -22 -23 -23 -23 -21 -19 -17 -16 -17 -19 -22 -24 -26 -25 -24 -23 -23 -23 -24 -23 -22 -20 -18 -17 -17 -18 -20 -21 -22 -22 -22 -23 -25 -26 -26 -25 -25 -26 -27 -27 -27 -28 -29 -31 -32 -32 -32 -33 -34 -33 -30 -27 -26 -26 -28 -29 -29 -26 -24 -24 -26 -30 -35 -38 -38 -37 -36 -36 -36 -35 -34 -31 -30 -30 -31 -31 -29 -28 -29 -31 -32 -31 -30 -29 -30 -31 -28 -25 -24 -22 -21 -20 -21 -22 -22 -21 -20 -20 -23 -27 -31 -34 -36 -36 -39 -41 -41 -37 -31 -25 -21 -19 -18 -18 -18 -19 -20 -24 -26 -28 -28 -27 -27 -28 -29 -30 -32 -34 -37 -39 -42 -40 -41 -41 -39 -39 -39 -39 -39 -38 -37 -38 -41 -47 -53 -54 -49 -41 -32 -28 -26 -26 -27 -25 -23 -23 -23 -23 -23 -24 -24 -25 -26 -26 -27 -28 -28 -30 -32 -35 -38 -40 -42 -42 -41 -40 -38 -37 -36 -34 -33 -32 -32 -32 -32 -33 -34 -36 -38 -38 -38 -39 -40 -41 -40 -40 -42 -46 -49 -49 -49 -50 -50 -50 -51 -51 -50 -48 -48 -49 -48 -48 -48 -47 -44 -41 -39 -37 -34 -31 -30 -30 -32 -33 -35 -38 -43 -47 -52 -56 -56 -54 -53 -53 -51 -50 -49 -50 -51 -52 -53 -53 -53 -52 -52 -53 -53 -54 -55 -56 -58 -58 -57 -55 -53 -51 -49 -47 -44 -42 -41 -41 -40 -39 -38 -39 -43 -45 -45 -44 -44 -45 -46 -47 -50 -52 -55 -56 -56 -54 -51 -50 -48 -44 -42 -43 -45 -47 -46 -43 -41 -40 -39 -40 -41 -43 -46 -48 -50 -50 -50 -48 -45 -43 -41 -39 -37 -36 -36 -35 -34 -35 -37 -37 -36 -33 -36 -38 -40 -40 -39 -37 -35 -33 -32 -32 -31 -30 -28 -28 -27 -26 -26 -26 -26 -28 -30 -32 -32 -30 -27 -26 -26 -29 -29 -28 -25 -24 -26 -30 -32 -32 -29 -28 -28 -29 -28 -27 -27 -28 -30 -32 -32 -33 -33 -34 -36 -36 -24 -26 -26 -27 -28 -28 -29 -29 -29 -28 -27 -26 -26 -27 -27 -28 -31 -33 -33 -33 -32 -33 -32 -30 -31 -34 -36 -35 -33 -32 -29 -25 -22 -20 -20 -19 -18 -17 -16 -17 -19 -21 -22 -22 -23 -24 -26 -26 -24 -22 -20 -20 -20 -21 -23 -24 -24 -24 -23 -22 -22 -22 -21 -21 -20 -19 -18 -17 -17 -17 -17 -19 -20 -22 -22 -22 -23 -24 -25 -24 -25 -25 -26 -26 -25 -26 -27 -30 -31 -31 -32 -34 -36 -36 -32 -27 -24 -25 -28 -30 -30 -27 -25 -25 -27 -31 -35 -38 -37 -34 -32 -31 -32 -33 -33 -31 -30 -31 -32 -31 -29 -28 -28 -29 -29 -30 -30 -30 -32 -33 -30 -27 -25 -24 -22 -21 -20 -21 -22 -22 -23 -24 -26 -29 -31 -34 -36 -38 -40 -41 -38 -32 -25 -21 -18 -17 -18 -18 -19 -19 -22 -24 -26 -27 -27 -27 -28 -29 -29 -30 -31 -33 -34 -35 -37 -38 -40 -42 -42 -42 -42 -43 -43 -41 -40 -41 -43 -47 -52 -52 -47 -41 -34 -30 -26 -23 -22 -22 -23 -23 -24 -24 -24 -25 -25 -26 -26 -26 -26 -26 -27 -29 -31 -34 -37 -40 -42 -43 -42 -40 -38 -36 -34 -33 -33 -33 -33 -33 -34 -36 -36 -36 -36 -36 -37 -39 -41 -42 -40 -39 -40 -42 -44 -44 -45 -46 -47 -48 -50 -50 -49 -47 -45 -45 -45 -44 -42 -42 -42 -42 -43 -41 -39 -36 -34 -34 -34 -35 -36 -41 -44 -48 -52 -57 -56 -54 -52 -52 -51 -50 -49 -48 -49 -50 -52 -52 -52 -52 -53 -54 -54 -55 -56 -57 -57 -57 -56 -55 -53 -52 -50 -48 -46 -46 -46 -46 -46 -43 -41 -39 -42 -44 -44 -44 -45 -45 -45 -47 -51 -53 -53 -53 -52 -50 -50 -50 -49 -47 -43 -43 -44 -46 -46 -42 -40 -39 -39 -39 -39 -39 -42 -45 -47 -49 -50 -50 -47 -44 -42 -40 -39 -38 -36 -35 -34 -34 -34 -34 -33 -31 -33 -36 -39 -40 -39 -37 -36 -34 -32 -32 -31 -29 -28 -29 -28 -28 -27 -27 -27 -28 -30 -32 -33 -31 -29 -27 -26 -29 -31 -30 -27 -24 -25 -27 -31 -31 -27 -25 -25 -26 -25 -25 -25 -25 -28 -30 -31 -32 -32 -34 -35 -35 -23 -26 -27 -27 -28 -28 -29 -29 -29 -28 -27 -27 -28 -29 -30 -30 -32 -33 -33 -32 -32 -33 -32 -31 -32 -35 -36 -35 -32 -29 -26 -22 -20 -20 -20 -19 -18 -16 -16 -17 -19 -20 -21 -22 -23 -25 -26 -27 -26 -25 -23 -21 -20 -21 -23 -23 -23 -22 -22 -23 -24 -22 -20 -20 -19 -19 -18 -17 -17 -16 -16 -17 -19 -21 -23 -23 -23 -24 -24 -25 -26 -27 -27 -26 -25 -25 -26 -28 -29 -29 -31 -34 -39 -40 -35 -28 -23 -23 -26 -30 -32 -31 -28 -27 -29 -31 -35 -36 -35 -32 -27 -24 -25 -28 -30 -31 -32 -33 -33 -32 -30 -27 -26 -26 -28 -28 -28 -30 -33 -34 -31 -28 -27 -27 -25 -24 -22 -21 -22 -23 -25 -27 -30 -33 -34 -34 -35 -37 -38 -36 -32 -25 -20 -18 -16 -16 -16 -18 -19 -21 -23 -25 -26 -26 -27 -27 -28 -28 -29 -30 -31 -32 -32 -32 -35 -37 -40 -41 -43 -43 -43 -44 -45 -44 -43 -43 -44 -47 -48 -47 -44 -40 -36 -31 -27 -24 -22 -22 -23 -23 -24 -24 -25 -26 -27 -27 -27 -27 -26 -25 -26 -28 -30 -33 -37 -41 -43 -43 -43 -40 -37 -34 -32 -32 -33 -34 -35 -35 -36 -36 -35 -34 -35 -37 -39 -42 -43 -42 -39 -36 -36 -37 -38 -38 -40 -41 -43 -46 -48 -50 -49 -47 -45 -44 -43 -42 -39 -39 -40 -43 -45 -45 -43 -40 -39 -40 -40 -39 -39 -43 -46 -49 -52 -56 -55 -53 -51 -50 -51 -51 -50 -49 -49 -50 -51 -51 -52 -53 -54 -55 -56 -56 -57 -57 -56 -56 -56 -55 -54 -53 -52 -50 -49 -48 -49 -50 -50 -48 -45 -41 -41 -43 -45 -46 -46 -45 -45 -47 -51 -54 -54 -53 -50 -49 -49 -50 -51 -50 -45 -42 -41 -42 -42 -40 -40 -40 -39 -38 -37 -37 -38 -41 -44 -46 -49 -51 -49 -47 -44 -42 -40 -39 -38 -36 -35 -34 -33 -32 -32 -29 -30 -33 -36 -38 -38 -37 -35 -34 -32 -32 -31 -30 -29 -30 -30 -29 -29 -28 -27 -28 -30 -31 -31 -31 -29 -28 -27 -30 -32 -33 -30 -27 -25 -26 -29 -29 -26 -25 -24 -24 -23 -24 -24 -24 -26 -28 -29 -31 -33 -34 -35 -35 -23 -25 -26 -27 -27 -28 -29 -29 -29 -28 -28 -29 -30 -32 -34 -33 -33 -34 -33 -32 -31 -32 -32 -33 -34 -36 -36 -35 -31 -27 -23 -19 -18 -18 -18 -18 -17 -17 -16 -17 -18 -19 -20 -21 -23 -24 -25 -26 -25 -25 -23 -22 -20 -21 -22 -22 -21 -22 -24 -26 -26 -21 -19 -19 -20 -20 -19 -17 -17 -17 -18 -20 -22 -23 -24 -24 -24 -25 -27 -29 -30 -29 -27 -25 -25 -25 -27 -28 -28 -27 -29 -33 -38 -38 -35 -29 -24 -21 -24 -28 -31 -33 -30 -29 -29 -31 -35 -36 -36 -32 -27 -23 -22 -23 -24 -26 -32 -35 -35 -33 -31 -29 -28 -28 -28 -27 -27 -28 -31 -33 -31 -28 -27 -28 -28 -27 -26 -24 -23 -24 -26 -29 -34 -37 -37 -36 -34 -33 -31 -29 -25 -20 -18 -17 -16 -15 -15 -17 -19 -21 -24 -27 -28 -28 -27 -27 -27 -28 -29 -29 -30 -30 -30 -31 -32 -35 -37 -38 -40 -41 -42 -43 -44 -45 -44 -44 -45 -46 -45 -43 -40 -38 -34 -31 -28 -26 -23 -23 -23 -24 -25 -26 -27 -28 -29 -29 -28 -28 -27 -26 -26 -28 -30 -33 -37 -41 -43 -43 -42 -39 -36 -33 -31 -31 -34 -36 -37 -36 -34 -31 -30 -31 -34 -37 -41 -44 -45 -43 -37 -33 -32 -33 -33 -33 -34 -36 -39 -42 -45 -48 -49 -47 -45 -43 -42 -43 -42 -42 -43 -46 -48 -49 -48 -45 -44 -46 -46 -45 -44 -45 -46 -48 -51 -55 -55 -53 -51 -50 -51 -51 -51 -51 -50 -51 -51 -51 -52 -53 -55 -56 -57 -57 -57 -56 -56 -56 -57 -56 -56 -54 -53 -53 -52 -52 -51 -51 -50 -49 -47 -44 -42 -42 -45 -47 -47 -46 -46 -48 -52 -54 -54 -53 -50 -48 -49 -51 -53 -52 -46 -41 -37 -36 -37 -39 -40 -40 -39 -37 -36 -36 -37 -39 -41 -44 -48 -50 -50 -48 -47 -44 -42 -40 -39 -37 -36 -34 -33 -32 -31 -29 -30 -33 -37 -40 -39 -37 -34 -32 -31 -31 -30 -30 -30 -30 -30 -30 -30 -28 -27 -28 -29 -30 -30 -30 -30 -29 -27 -29 -31 -34 -32 -28 -26 -26 -28 -27 -26 -25 -24 -23 -23 -24 -25 -24 -25 -26 -28 -31 -32 -33 -34 -35 -23 -24 -25 -26 -27 -28 -29 -29 -29 -29 -29 -30 -32 -35 -36 -36 -34 -34 -34 -33 -31 -31 -32 -33 -35 -37 -37 -35 -31 -27 -21 -17 -15 -15 -15 -16 -16 -17 -17 -18 -19 -20 -20 -22 -23 -24 -24 -25 -25 -24 -22 -20 -20 -20 -20 -19 -19 -21 -24 -26 -24 -20 -19 -19 -20 -20 -19 -18 -17 -18 -19 -22 -24 -26 -26 -25 -25 -27 -30 -32 -33 -31 -28 -26 -26 -27 -28 -28 -28 -27 -28 -31 -35 -36 -33 -28 -23 -21 -23 -27 -31 -34 -33 -30 -29 -30 -33 -35 -35 -33 -29 -26 -24 -22 -21 -24 -31 -34 -33 -31 -29 -28 -28 -29 -31 -29 -28 -27 -27 -28 -27 -26 -26 -26 -26 -25 -25 -26 -25 -25 -27 -32 -37 -41 -40 -37 -32 -28 -26 -23 -20 -19 -18 -17 -16 -15 -15 -17 -19 -21 -25 -27 -29 -29 -28 -27 -27 -27 -27 -28 -28 -28 -29 -30 -32 -34 -36 -37 -39 -40 -41 -42 -42 -43 -44 -44 -46 -48 -46 -42 -38 -35 -32 -30 -28 -26 -23 -23 -24 -25 -25 -27 -29 -30 -32 -32 -31 -29 -28 -28 -28 -29 -31 -33 -37 -41 -43 -44 -42 -38 -36 -34 -33 -34 -37 -41 -43 -42 -36 -31 -30 -31 -34 -35 -36 -37 -39 -39 -36 -33 -31 -31 -30 -29 -30 -32 -35 -37 -40 -43 -46 -46 -44 -43 -43 -45 -46 -46 -47 -48 -48 -48 -48 -46 -45 -48 -50 -50 -49 -48 -47 -48 -50 -54 -55 -53 -51 -50 -51 -52 -52 -52 -52 -52 -52 -52 -54 -55 -56 -57 -58 -58 -57 -57 -57 -58 -58 -58 -57 -56 -55 -55 -54 -54 -53 -52 -51 -51 -49 -48 -45 -45 -46 -48 -49 -50 -51 -52 -53 -53 -53 -52 -50 -48 -49 -52 -55 -54 -48 -41 -36 -34 -36 -39 -40 -40 -38 -37 -36 -36 -38 -38 -40 -43 -47 -50 -50 -50 -49 -47 -44 -41 -39 -37 -36 -36 -34 -33 -31 -30 -31 -33 -36 -39 -38 -36 -33 -31 -30 -29 -29 -29 -30 -31 -31 -31 -31 -29 -27 -27 -28 -29 -30 -30 -29 -28 -26 -27 -30 -32 -30 -27 -26 -26 -26 -26 -25 -25 -23 -23 -23 -24 -24 -23 -23 -25 -28 -31 -32 -32 -32 -34 -22 -23 -24 -25 -26 -27 -28 -29 -29 -29 -30 -31 -33 -35 -37 -37 -35 -34 -35 -35 -35 -34 -33 -34 -36 -38 -37 -35 -31 -26 -21 -16 -13 -12 -12 -13 -14 -16 -17 -18 -19 -20 -21 -22 -24 -25 -25 -25 -24 -23 -20 -19 -18 -18 -18 -17 -17 -19 -22 -23 -21 -19 -19 -19 -20 -20 -19 -18 -18 -18 -20 -23 -25 -27 -27 -27 -27 -29 -31 -33 -32 -30 -28 -27 -27 -28 -29 -30 -30 -30 -30 -31 -32 -31 -28 -25 -22 -21 -23 -25 -29 -33 -34 -32 -30 -30 -32 -32 -31 -30 -30 -31 -29 -25 -21 -22 -26 -29 -30 -30 -29 -28 -30 -34 -37 -35 -30 -26 -25 -25 -24 -23 -23 -23 -24 -24 -23 -21 -20 -23 -27 -32 -36 -38 -36 -32 -27 -23 -22 -20 -18 -17 -18 -18 -17 -16 -16 -17 -19 -21 -24 -27 -28 -28 -28 -27 -25 -25 -26 -27 -25 -26 -28 -30 -33 -36 -37 -38 -39 -40 -41 -41 -41 -42 -44 -45 -48 -51 -48 -43 -37 -33 -31 -29 -27 -25 -23 -22 -23 -24 -25 -27 -29 -32 -35 -36 -35 -34 -33 -31 -30 -31 -32 -35 -38 -42 -45 -45 -44 -40 -38 -37 -37 -39 -45 -51 -53 -50 -42 -36 -32 -31 -32 -31 -30 -30 -29 -31 -33 -33 -32 -30 -28 -27 -28 -30 -32 -32 -34 -36 -41 -43 -42 -42 -43 -45 -46 -47 -48 -49 -47 -46 -46 -47 -49 -51 -52 -52 -51 -50 -50 -50 -51 -54 -55 -54 -52 -52 -52 -53 -53 -53 -53 -53 -53 -54 -55 -56 -57 -59 -59 -59 -58 -58 -58 -59 -59 -59 -58 -57 -56 -56 -55 -55 -54 -53 -52 -51 -50 -49 -48 -47 -47 -48 -50 -53 -54 -54 -53 -51 -51 -50 -49 -49 -50 -52 -55 -55 -49 -42 -36 -34 -37 -40 -41 -41 -39 -38 -37 -38 -40 -39 -40 -43 -47 -50 -51 -51 -51 -49 -45 -42 -40 -37 -36 -35 -34 -33 -30 -29 -30 -32 -34 -36 -36 -34 -33 -33 -32 -32 -32 -31 -31 -31 -31 -31 -32 -29 -28 -27 -28 -28 -29 -29 -29 -28 -27 -27 -29 -30 -28 -26 -24 -24 -25 -25 -26 -26 -23 -23 -23 -24 -24 -23 -24 -25 -28 -30 -31 -31 -31 -32 -22 -23 -23 -24 -25 -26 -28 -28 -29 -30 -31 -33 -34 -36 -36 -36 -34 -34 -35 -36 -36 -36 -36 -35 -36 -37 -36 -34 -29 -24 -18 -14 -11 -10 -11 -12 -13 -15 -17 -18 -19 -20 -22 -24 -26 -26 -27 -26 -24 -22 -19 -17 -17 -16 -16 -16 -16 -18 -20 -20 -19 -18 -19 -19 -19 -20 -19 -19 -19 -19 -20 -22 -25 -27 -28 -29 -29 -30 -31 -31 -30 -29 -28 -28 -29 -30 -31 -32 -32 -32 -32 -32 -30 -27 -25 -22 -21 -21 -22 -24 -28 -32 -35 -34 -33 -32 -33 -32 -30 -29 -31 -34 -32 -27 -21 -19 -22 -25 -27 -29 -30 -31 -33 -36 -38 -35 -30 -25 -22 -22 -22 -22 -21 -22 -22 -22 -22 -21 -23 -27 -32 -36 -36 -34 -30 -27 -24 -21 -20 -19 -19 -18 -18 -18 -17 -17 -17 -18 -19 -20 -22 -25 -26 -26 -25 -25 -25 -25 -25 -25 -24 -25 -27 -30 -33 -36 -39 -40 -41 -41 -41 -41 -41 -43 -45 -47 -49 -52 -49 -44 -37 -32 -30 -28 -27 -26 -25 -24 -24 -24 -25 -27 -29 -32 -35 -38 -38 -38 -36 -34 -34 -35 -36 -38 -41 -45 -47 -48 -46 -43 -41 -40 -42 -47 -55 -60 -60 -54 -45 -38 -32 -29 -28 -28 -27 -27 -28 -30 -31 -31 -29 -27 -27 -28 -30 -31 -30 -28 -29 -31 -36 -39 -40 -39 -41 -43 -44 -45 -47 -48 -48 -48 -48 -50 -52 -53 -52 -51 -50 -50 -50 -51 -53 -55 -56 -55 -54 -54 -54 -53 -54 -54 -53 -53 -54 -56 -57 -58 -59 -60 -60 -60 -59 -59 -59 -59 -59 -59 -59 -58 -57 -56 -56 -55 -55 -54 -53 -52 -50 -49 -49 -49 -48 -48 -50 -52 -53 -52 -51 -50 -49 -49 -49 -49 -49 -51 -54 -55 -49 -42 -35 -35 -37 -39 -42 -43 -43 -41 -40 -40 -41 -40 -41 -43 -46 -48 -50 -51 -52 -50 -47 -45 -43 -40 -38 -36 -34 -32 -30 -29 -30 -30 -31 -32 -32 -32 -33 -36 -35 -34 -33 -32 -30 -29 -29 -30 -31 -29 -28 -28 -28 -28 -28 -28 -29 -27 -27 -27 -28 -29 -28 -26 -23 -21 -22 -24 -27 -28 -25 -24 -24 -25 -25 -24 -25 -27 -29 -31 -31 -31 -30 -31 -22 -23 -23 -24 -25 -25 -26 -27 -28 -30 -32 -35 -36 -37 -37 -37 -34 -34 -35 -36 -37 -38 -38 -37 -37 -37 -35 -31 -26 -21 -15 -11 -9 -9 -10 -12 -13 -15 -16 -18 -20 -21 -24 -26 -28 -29 -29 -27 -24 -21 -18 -16 -16 -16 -16 -16 -16 -18 -19 -19 -19 -18 -19 -19 -19 -19 -19 -19 -19 -19 -20 -22 -25 -27 -29 -30 -31 -30 -30 -28 -28 -28 -28 -29 -30 -32 -33 -33 -32 -32 -32 -31 -28 -25 -23 -22 -21 -20 -21 -23 -27 -32 -35 -35 -34 -33 -34 -33 -31 -31 -32 -33 -30 -25 -20 -18 -19 -22 -25 -28 -31 -34 -36 -36 -34 -31 -26 -23 -21 -21 -21 -21 -21 -22 -22 -22 -22 -24 -28 -32 -35 -36 -33 -29 -26 -24 -22 -21 -20 -19 -19 -19 -18 -18 -18 -18 -18 -19 -19 -20 -21 -23 -25 -25 -25 -27 -27 -26 -25 -24 -23 -24 -26 -28 -30 -36 -40 -43 -44 -43 -42 -42 -43 -44 -45 -47 -48 -50 -47 -42 -36 -31 -29 -28 -27 -27 -27 -26 -25 -24 -24 -26 -29 -31 -34 -37 -39 -39 -39 -39 -40 -41 -43 -44 -46 -48 -50 -50 -48 -46 -44 -45 -48 -55 -62 -63 -58 -48 -40 -35 -30 -28 -26 -26 -25 -26 -27 -30 -30 -29 -29 -30 -31 -33 -36 -38 -36 -32 -28 -28 -33 -36 -37 -37 -37 -39 -41 -43 -45 -48 -49 -49 -50 -51 -53 -52 -52 -51 -51 -51 -51 -53 -56 -58 -57 -56 -55 -55 -54 -54 -54 -54 -53 -54 -55 -57 -59 -59 -60 -60 -61 -60 -60 -60 -59 -58 -59 -59 -58 -58 -57 -56 -56 -56 -56 -56 -54 -52 -50 -49 -49 -49 -48 -48 -50 -51 -52 -50 -50 -50 -50 -50 -50 -49 -49 -50 -52 -53 -49 -43 -36 -35 -35 -37 -41 -45 -46 -45 -43 -41 -41 -41 -41 -43 -45 -47 -50 -51 -52 -51 -49 -48 -46 -44 -41 -39 -38 -36 -35 -33 -32 -31 -30 -30 -31 -32 -33 -36 -36 -35 -33 -32 -30 -28 -28 -29 -30 -29 -29 -28 -28 -28 -28 -28 -28 -27 -27 -28 -28 -28 -27 -25 -22 -20 -21 -25 -29 -31 -26 -25 -24 -25 -27 -26 -26 -28 -31 -32 -32 -31 -30 -31 -23 -23 -23 -23 -24 -24 -25 -26 -28 -30 -33 -35 -37 -38 -39 -38 -36 -35 -35 -35 -36 -38 -39 -39 -38 -36 -33 -29 -24 -18 -13 -10 -9 -10 -11 -13 -14 -15 -16 -18 -20 -23 -26 -29 -31 -31 -31 -29 -24 -20 -17 -15 -15 -15 -15 -15 -16 -17 -19 -20 -20 -19 -19 -19 -19 -19 -19 -18 -18 -18 -19 -22 -25 -28 -30 -32 -32 -30 -28 -27 -26 -26 -27 -28 -31 -34 -36 -35 -33 -31 -30 -28 -25 -23 -22 -22 -21 -20 -21 -24 -27 -31 -34 -33 -32 -32 -34 -35 -34 -33 -33 -31 -27 -23 -20 -18 -18 -20 -24 -29 -32 -34 -35 -34 -28 -25 -23 -21 -22 -21 -21 -22 -22 -22 -23 -24 -25 -27 -31 -33 -34 -32 -28 -25 -23 -21 -20 -20 -19 -19 -19 -19 -19 -19 -19 -18 -18 -18 -19 -20 -21 -22 -23 -25 -27 -28 -29 -28 -26 -26 -25 -25 -25 -26 -30 -35 -39 -43 -45 -44 -44 -43 -43 -43 -43 -43 -44 -44 -41 -37 -33 -30 -28 -27 -27 -27 -28 -27 -26 -25 -24 -26 -29 -31 -33 -35 -37 -39 -39 -40 -42 -45 -47 -48 -50 -52 -53 -54 -53 -53 -53 -54 -54 -56 -56 -52 -45 -35 -31 -29 -28 -27 -26 -26 -26 -26 -27 -28 -28 -29 -31 -34 -37 -40 -42 -44 -42 -37 -30 -26 -28 -30 -32 -33 -34 -36 -39 -42 -46 -49 -49 -49 -49 -50 -52 -52 -52 -51 -51 -51 -52 -55 -58 -59 -58 -57 -56 -55 -55 -55 -55 -55 -55 -55 -56 -58 -60 -60 -60 -61 -61 -60 -60 -59 -58 -58 -58 -58 -57 -57 -57 -56 -56 -57 -57 -56 -54 -53 -51 -49 -48 -48 -47 -48 -49 -50 -50 -49 -50 -50 -51 -51 -50 -49 -48 -49 -50 -51 -49 -45 -38 -35 -33 -35 -39 -45 -47 -46 -44 -42 -41 -41 -42 -44 -46 -49 -51 -52 -53 -51 -51 -51 -49 -47 -44 -42 -40 -39 -38 -37 -36 -35 -34 -34 -33 -33 -34 -35 -35 -34 -32 -31 -30 -29 -28 -29 -30 -31 -30 -29 -28 -28 -29 -29 -28 -27 -27 -28 -28 -28 -27 -25 -23 -22 -24 -27 -31 -31 -27 -25 -24 -25 -26 -27 -27 -28 -31 -32 -32 -32 -32 -32 -23 -23 -23 -23 -23 -24 -25 -27 -29 -31 -33 -35 -38 -39 -40 -39 -37 -36 -35 -35 -36 -37 -38 -39 -38 -35 -31 -26 -21 -15 -11 -10 -10 -11 -13 -14 -15 -16 -17 -18 -21 -24 -27 -30 -32 -33 -32 -29 -24 -19 -16 -15 -15 -15 -14 -14 -15 -17 -19 -20 -20 -20 -19 -19 -19 -19 -19 -18 -17 -17 -18 -21 -25 -29 -32 -32 -31 -30 -28 -26 -25 -25 -25 -26 -30 -35 -37 -37 -34 -29 -26 -24 -24 -23 -22 -21 -21 -20 -21 -24 -27 -31 -33 -32 -31 -31 -34 -35 -34 -33 -32 -30 -27 -24 -22 -20 -18 -20 -23 -27 -29 -30 -30 -27 -23 -21 -21 -22 -24 -24 -23 -23 -23 -23 -25 -26 -28 -30 -32 -32 -29 -26 -25 -23 -22 -21 -19 -18 -18 -18 -18 -19 -19 -20 -20 -19 -18 -18 -19 -20 -22 -22 -23 -24 -27 -28 -28 -28 -28 -27 -26 -26 -26 -25 -28 -31 -34 -39 -41 -42 -41 -41 -40 -39 -38 -38 -39 -38 -36 -33 -31 -29 -28 -27 -27 -27 -28 -28 -28 -27 -25 -27 -29 -30 -32 -33 -35 -37 -38 -39 -41 -44 -46 -49 -51 -54 -56 -57 -59 -62 -64 -64 -58 -50 -42 -36 -32 -30 -28 -26 -26 -27 -26 -28 -28 -28 -28 -28 -28 -29 -31 -36 -41 -45 -47 -48 -47 -43 -36 -29 -25 -24 -26 -29 -31 -35 -39 -43 -46 -48 -48 -47 -47 -48 -50 -52 -52 -52 -52 -53 -54 -57 -59 -59 -58 -57 -56 -55 -55 -55 -56 -56 -56 -57 -58 -60 -61 -61 -61 -61 -60 -59 -59 -58 -58 -57 -57 -57 -57 -56 -56 -56 -57 -57 -57 -56 -54 -52 -49 -47 -46 -45 -46 -47 -49 -50 -50 -49 -50 -51 -51 -51 -50 -49 -48 -48 -49 -50 -49 -45 -39 -34 -33 -34 -39 -44 -47 -47 -44 -43 -42 -43 -43 -45 -47 -49 -52 -53 -53 -51 -52 -52 -51 -49 -46 -43 -41 -39 -38 -38 -37 -36 -35 -35 -35 -35 -35 -34 -34 -33 -31 -30 -30 -30 -29 -29 -31 -32 -31 -29 -29 -29 -30 -30 -28 -26 -26 -28 -29 -28 -27 -26 -25 -24 -25 -27 -29 -28 -27 -26 -25 -24 -25 -26 -27 -28 -31 -33 -34 -33 -32 -33 -22 -22 -22 -23 -23 -24 -26 -28 -30 -31 -33 -35 -38 -40 -40 -39 -38 -37 -36 -36 -36 -36 -37 -37 -37 -34 -29 -23 -18 -13 -10 -11 -12 -14 -15 -16 -17 -17 -18 -19 -21 -24 -28 -31 -32 -32 -31 -29 -24 -19 -16 -13 -14 -14 -14 -14 -15 -17 -19 -20 -20 -20 -19 -19 -19 -19 -19 -18 -17 -16 -17 -21 -25 -28 -30 -30 -30 -29 -27 -25 -24 -23 -24 -26 -30 -34 -37 -38 -34 -28 -24 -23 -23 -23 -23 -22 -21 -21 -22 -24 -27 -31 -33 -31 -30 -31 -34 -35 -35 -32 -29 -28 -27 -26 -24 -22 -21 -21 -22 -25 -27 -28 -27 -25 -23 -21 -22 -24 -26 -27 -26 -25 -25 -26 -27 -28 -29 -31 -31 -28 -25 -22 -22 -22 -21 -20 -19 -18 -17 -17 -17 -18 -19 -20 -20 -20 -19 -19 -20 -21 -23 -22 -22 -24 -26 -27 -28 -28 -29 -28 -28 -28 -28 -26 -28 -31 -33 -35 -36 -37 -36 -35 -34 -34 -35 -35 -36 -36 -35 -33 -31 -29 -28 -27 -26 -26 -27 -29 -30 -30 -27 -28 -28 -29 -30 -31 -33 -35 -37 -38 -39 -42 -44 -48 -51 -53 -56 -59 -62 -68 -70 -67 -56 -42 -35 -32 -31 -29 -26 -24 -23 -23 -24 -27 -29 -31 -32 -31 -30 -30 -32 -35 -40 -45 -48 -49 -48 -45 -39 -30 -24 -22 -23 -26 -30 -36 -42 -46 -48 -49 -49 -47 -45 -47 -50 -52 -52 -53 -54 -55 -57 -58 -59 -59 -57 -56 -55 -55 -55 -56 -56 -57 -58 -58 -59 -61 -62 -63 -62 -61 -59 -58 -57 -57 -57 -57 -57 -57 -56 -56 -56 -56 -57 -58 -58 -57 -55 -51 -47 -44 -43 -44 -46 -47 -49 -50 -51 -50 -51 -51 -51 -50 -49 -48 -48 -47 -48 -49 -48 -45 -39 -36 -35 -37 -40 -44 -46 -46 -44 -43 -43 -44 -44 -45 -47 -49 -52 -53 -52 -52 -52 -53 -52 -50 -48 -44 -41 -39 -38 -37 -37 -36 -35 -35 -34 -35 -35 -34 -34 -33 -32 -31 -32 -31 -30 -31 -32 -33 -32 -30 -29 -30 -30 -31 -28 -26 -27 -30 -30 -29 -27 -26 -26 -25 -25 -26 -28 -27 -27 -27 -27 -25 -25 -25 -26 -28 -31 -33 -34 -33 -32 -32 -21 -22 -23 -23 -24 -25 -27 -28 -30 -32 -33 -36 -39 -41 -41 -39 -38 -38 -37 -36 -36 -35 -35 -36 -35 -32 -26 -19 -14 -11 -11 -12 -14 -15 -16 -17 -18 -18 -18 -18 -21 -24 -28 -30 -30 -30 -30 -28 -24 -19 -15 -13 -12 -13 -14 -14 -15 -16 -18 -19 -20 -20 -20 -19 -18 -18 -17 -16 -15 -16 -17 -20 -23 -25 -27 -27 -27 -27 -27 -25 -24 -23 -24 -26 -29 -33 -35 -35 -32 -27 -24 -23 -23 -23 -23 -22 -22 -21 -22 -24 -28 -31 -32 -31 -30 -31 -33 -35 -35 -32 -27 -25 -25 -25 -25 -24 -23 -22 -22 -23 -25 -27 -27 -26 -24 -23 -22 -22 -25 -26 -26 -27 -29 -31 -30 -28 -27 -27 -27 -25 -22 -20 -20 -20 -20 -20 -19 -17 -16 -15 -15 -16 -18 -20 -20 -21 -20 -20 -21 -22 -23 -23 -23 -23 -25 -27 -28 -29 -30 -28 -28 -29 -28 -27 -29 -31 -32 -32 -33 -33 -32 -31 -30 -30 -31 -32 -34 -34 -34 -33 -32 -30 -29 -28 -27 -26 -27 -29 -31 -32 -31 -30 -29 -29 -29 -30 -32 -34 -36 -37 -38 -41 -44 -47 -50 -52 -55 -59 -65 -72 -73 -66 -51 -39 -34 -32 -31 -29 -26 -24 -23 -23 -25 -28 -31 -34 -36 -35 -35 -34 -33 -34 -38 -43 -47 -48 -47 -44 -38 -29 -24 -22 -22 -24 -29 -36 -42 -46 -48 -49 -49 -49 -48 -51 -52 -53 -53 -54 -56 -57 -58 -59 -59 -58 -57 -56 -55 -55 -56 -56 -57 -58 -58 -58 -59 -61 -62 -63 -62 -60 -58 -57 -56 -56 -57 -57 -57 -56 -56 -56 -56 -56 -57 -58 -58 -57 -55 -50 -46 -42 -41 -43 -47 -50 -51 -52 -52 -51 -51 -50 -50 -49 -48 -47 -47 -47 -47 -48 -47 -45 -41 -40 -40 -41 -43 -45 -46 -45 -43 -43 -43 -44 -45 -45 -46 -49 -51 -52 -51 -51 -52 -53 -53 -52 -49 -45 -40 -39 -38 -37 -36 -35 -34 -34 -33 -33 -33 -33 -33 -32 -31 -32 -33 -32 -32 -32 -32 -32 -31 -30 -30 -30 -31 -31 -30 -29 -30 -32 -32 -30 -28 -26 -27 -26 -26 -25 -27 -27 -27 -27 -26 -26 -26 -26 -27 -28 -31 -34 -34 -34 -32 -32 -21 -22 -23 -25 -25 -26 -26 -28 -30 -32 -34 -36 -39 -41 -41 -40 -38 -37 -36 -36 -35 -34 -34 -34 -34 -31 -23 -16 -12 -11 -12 -14 -16 -17 -18 -19 -19 -19 -18 -18 -21 -24 -26 -28 -28 -28 -28 -26 -23 -18 -14 -12 -12 -12 -13 -15 -16 -17 -18 -19 -21 -21 -19 -18 -17 -16 -16 -15 -15 -17 -19 -21 -22 -23 -23 -24 -24 -25 -26 -25 -24 -24 -25 -28 -30 -31 -32 -31 -29 -26 -24 -24 -24 -23 -23 -22 -21 -21 -23 -26 -29 -31 -31 -30 -30 -31 -33 -35 -34 -32 -29 -26 -25 -25 -25 -25 -24 -23 -23 -23 -25 -26 -26 -26 -25 -25 -25 -26 -27 -28 -29 -29 -31 -30 -29 -28 -28 -28 -26 -24 -23 -23 -22 -21 -20 -20 -19 -17 -16 -15 -15 -15 -16 -18 -19 -22 -21 -22 -23 -24 -25 -24 -24 -25 -26 -27 -28 -30 -31 -29 -28 -28 -28 -28 -30 -30 -30 -31 -32 -31 -30 -29 -28 -28 -30 -31 -33 -33 -33 -32 -32 -31 -31 -30 -29 -28 -27 -28 -30 -32 -32 -30 -28 -27 -26 -27 -29 -32 -34 -37 -39 -41 -43 -47 -49 -50 -53 -59 -66 -73 -73 -65 -49 -38 -34 -33 -32 -30 -28 -26 -25 -25 -25 -27 -30 -34 -37 -38 -37 -35 -32 -33 -37 -41 -45 -48 -47 -42 -35 -28 -25 -23 -23 -24 -28 -35 -39 -42 -45 -48 -49 -50 -51 -52 -53 -53 -54 -55 -57 -58 -58 -58 -57 -57 -57 -56 -56 -55 -56 -57 -58 -58 -57 -57 -58 -60 -61 -62 -61 -60 -58 -57 -55 -55 -55 -56 -56 -56 -55 -55 -56 -57 -58 -58 -59 -57 -55 -50 -46 -42 -41 -44 -48 -51 -53 -54 -53 -51 -49 -48 -48 -47 -46 -46 -46 -46 -47 -47 -47 -46 -44 -43 -43 -45 -47 -49 -48 -45 -43 -43 -43 -44 -45 -46 -48 -50 -53 -53 -52 -52 -53 -53 -53 -53 -51 -47 -42 -40 -38 -37 -36 -36 -35 -34 -33 -33 -32 -32 -33 -32 -31 -31 -31 -32 -32 -31 -31 -32 -31 -31 -31 -31 -31 -32 -31 -31 -32 -33 -32 -30 -28 -27 -27 -27 -27 -26 -25 -27 -27 -27 -27 -27 -28 -28 -28 -29 -32 -34 -35 -34 -33 -31 -21 -22 -24 -25 -26 -26 -26 -27 -30 -33 -35 -37 -39 -41 -41 -40 -38 -36 -35 -35 -34 -33 -33 -33 -32 -29 -21 -15 -12 -12 -13 -15 -17 -19 -20 -21 -21 -20 -19 -19 -21 -23 -25 -25 -26 -27 -27 -25 -21 -16 -13 -11 -12 -12 -14 -15 -17 -18 -18 -19 -20 -20 -18 -16 -16 -16 -16 -16 -17 -18 -20 -21 -22 -21 -21 -21 -21 -23 -24 -25 -24 -25 -27 -30 -32 -31 -30 -28 -26 -25 -25 -25 -25 -24 -22 -21 -20 -20 -23 -28 -32 -33 -32 -31 -30 -31 -33 -34 -34 -33 -30 -27 -26 -25 -25 -24 -23 -22 -23 -23 -25 -26 -27 -26 -26 -26 -27 -29 -31 -31 -31 -30 -28 -26 -26 -28 -29 -29 -29 -28 -27 -27 -25 -23 -22 -20 -18 -17 -16 -16 -17 -16 -17 -19 -20 -21 -21 -23 -25 -26 -27 -27 -27 -27 -28 -28 -29 -30 -31 -29 -28 -28 -27 -27 -29 -30 -29 -30 -31 -30 -30 -28 -27 -28 -29 -31 -32 -33 -32 -31 -31 -31 -31 -32 -33 -32 -31 -30 -30 -30 -30 -29 -27 -26 -26 -27 -27 -29 -31 -34 -37 -39 -42 -45 -47 -49 -52 -57 -65 -71 -71 -64 -49 -39 -35 -34 -34 -32 -30 -29 -28 -28 -27 -27 -28 -30 -32 -34 -34 -33 -31 -34 -39 -44 -47 -51 -49 -43 -34 -29 -27 -25 -24 -25 -28 -32 -36 -38 -41 -46 -49 -51 -52 -53 -53 -53 -54 -56 -57 -57 -56 -54 -55 -56 -57 -57 -56 -56 -56 -57 -58 -58 -58 -57 -57 -59 -60 -61 -61 -61 -59 -57 -55 -54 -54 -54 -54 -55 -54 -55 -56 -57 -58 -58 -58 -57 -55 -51 -46 -44 -43 -45 -48 -50 -53 -54 -53 -50 -47 -46 -46 -45 -45 -45 -45 -46 -47 -47 -47 -48 -47 -46 -45 -46 -49 -50 -49 -47 -45 -44 -44 -45 -46 -48 -51 -53 -54 -54 -53 -53 -54 -54 -54 -54 -53 -51 -47 -44 -41 -38 -36 -37 -37 -36 -35 -33 -33 -33 -34 -33 -32 -31 -31 -31 -31 -31 -31 -31 -32 -31 -31 -31 -31 -32 -32 -32 -33 -33 -32 -30 -28 -27 -27 -27 -28 -27 -25 -27 -28 -29 -29 -27 -27 -28 -29 -29 -32 -34 -35 -35 -34 -32 -21 -23 -25 -26 -26 -25 -25 -26 -30 -33 -35 -36 -37 -39 -39 -38 -36 -35 -34 -33 -32 -31 -32 -32 -31 -27 -20 -15 -13 -13 -15 -16 -18 -20 -21 -21 -21 -21 -21 -21 -22 -23 -24 -24 -25 -26 -26 -24 -19 -15 -13 -12 -12 -13 -14 -16 -17 -18 -19 -19 -20 -19 -17 -16 -16 -17 -17 -18 -18 -19 -20 -21 -21 -21 -20 -19 -20 -22 -24 -25 -25 -26 -29 -32 -33 -31 -29 -26 -25 -26 -27 -27 -27 -25 -22 -20 -19 -20 -24 -29 -34 -37 -36 -34 -32 -32 -33 -33 -33 -33 -31 -28 -26 -25 -24 -23 -22 -22 -23 -25 -27 -28 -29 -28 -26 -27 -29 -31 -32 -31 -28 -25 -23 -23 -26 -28 -30 -31 -31 -31 -30 -28 -25 -23 -22 -20 -18 -17 -17 -17 -18 -18 -19 -20 -21 -22 -22 -23 -26 -28 -29 -30 -30 -29 -28 -29 -29 -30 -30 -29 -28 -27 -27 -26 -28 -28 -28 -29 -30 -31 -30 -29 -27 -27 -28 -29 -31 -31 -31 -30 -29 -30 -32 -35 -37 -37 -35 -32 -30 -29 -29 -28 -27 -26 -26 -27 -27 -27 -28 -31 -34 -37 -40 -43 -44 -46 -50 -54 -62 -66 -66 -61 -51 -42 -37 -35 -34 -33 -31 -31 -32 -34 -32 -30 -28 -26 -27 -28 -29 -30 -30 -33 -38 -43 -48 -50 -48 -42 -35 -31 -28 -26 -25 -26 -29 -32 -34 -36 -40 -44 -48 -50 -52 -53 -52 -52 -53 -56 -57 -55 -53 -53 -55 -56 -58 -58 -58 -57 -57 -57 -59 -59 -59 -58 -57 -58 -59 -61 -61 -61 -59 -57 -55 -54 -53 -53 -53 -53 -53 -54 -55 -56 -57 -57 -58 -57 -55 -51 -48 -47 -46 -46 -48 -51 -52 -53 -51 -48 -46 -45 -44 -44 -44 -44 -45 -46 -47 -47 -47 -48 -49 -48 -48 -49 -51 -52 -52 -51 -49 -48 -47 -46 -47 -51 -53 -54 -54 -53 -53 -54 -54 -55 -55 -55 -54 -53 -51 -47 -44 -40 -38 -39 -39 -39 -37 -34 -33 -34 -35 -34 -32 -31 -31 -32 -32 -33 -33 -32 -32 -32 -31 -31 -32 -32 -33 -33 -33 -34 -33 -31 -29 -28 -28 -28 -29 -28 -26 -27 -29 -31 -30 -28 -27 -28 -30 -29 -31 -33 -36 -36 -35 -32 -22 -24 -25 -26 -25 -24 -24 -26 -30 -33 -35 -36 -37 -36 -35 -35 -34 -33 -32 -30 -29 -29 -30 -30 -29 -26 -20 -17 -15 -15 -16 -17 -19 -20 -21 -21 -21 -22 -22 -22 -23 -23 -23 -23 -25 -26 -25 -23 -18 -14 -12 -12 -12 -13 -14 -15 -17 -18 -19 -20 -19 -18 -16 -16 -17 -18 -19 -19 -20 -20 -20 -20 -21 -21 -21 -20 -21 -22 -24 -25 -26 -28 -30 -32 -33 -31 -27 -25 -25 -27 -28 -29 -27 -24 -21 -19 -19 -20 -24 -30 -36 -40 -40 -38 -36 -34 -33 -33 -34 -34 -33 -29 -26 -25 -23 -21 -20 -21 -24 -26 -27 -29 -29 -29 -28 -27 -29 -31 -32 -28 -24 -21 -21 -23 -26 -29 -31 -33 -32 -30 -28 -26 -24 -23 -22 -22 -20 -18 -18 -18 -19 -20 -20 -21 -22 -23 -23 -25 -27 -30 -31 -31 -30 -29 -28 -28 -28 -29 -31 -30 -28 -27 -27 -25 -27 -28 -27 -27 -30 -30 -30 -30 -28 -27 -27 -28 -29 -30 -29 -29 -28 -29 -33 -37 -41 -42 -38 -33 -30 -28 -27 -26 -26 -26 -26 -27 -26 -26 -26 -28 -31 -35 -38 -41 -44 -46 -48 -52 -57 -60 -61 -58 -51 -43 -37 -33 -32 -31 -31 -33 -36 -39 -39 -37 -33 -27 -24 -24 -26 -28 -31 -34 -39 -44 -50 -48 -43 -36 -32 -30 -29 -27 -27 -29 -33 -35 -36 -37 -40 -44 -47 -49 -52 -53 -52 -51 -52 -55 -56 -55 -54 -54 -55 -57 -59 -60 -59 -58 -58 -57 -58 -59 -59 -58 -58 -58 -59 -60 -61 -60 -59 -57 -55 -53 -53 -52 -52 -51 -51 -52 -53 -54 -56 -57 -58 -57 -55 -52 -51 -50 -49 -48 -49 -51 -52 -51 -49 -46 -45 -44 -45 -46 -46 -45 -45 -46 -47 -48 -49 -50 -50 -51 -51 -52 -54 -55 -55 -55 -54 -53 -51 -49 -48 -50 -51 -52 -51 -52 -53 -54 -54 -56 -56 -56 -56 -54 -52 -50 -47 -45 -43 -42 -42 -42 -39 -35 -34 -35 -36 -34 -32 -31 -32 -33 -34 -34 -34 -33 -32 -32 -31 -31 -32 -33 -34 -35 -34 -34 -33 -32 -30 -28 -28 -28 -28 -27 -27 -28 -30 -31 -31 -28 -26 -27 -29 -29 -31 -33 -36 -37 -36 -33 -23 -24 -25 -25 -24 -24 -24 -27 -31 -34 -35 -36 -36 -34 -32 -31 -30 -30 -29 -28 -27 -27 -27 -27 -27 -24 -20 -18 -16 -16 -17 -18 -18 -19 -20 -20 -21 -21 -22 -23 -23 -23 -23 -23 -24 -25 -24 -21 -16 -13 -12 -13 -13 -14 -15 -15 -16 -18 -19 -19 -19 -17 -16 -17 -18 -20 -20 -20 -21 -21 -21 -22 -22 -22 -22 -22 -22 -24 -26 -26 -27 -29 -30 -31 -30 -27 -25 -24 -25 -28 -29 -29 -27 -23 -20 -19 -19 -21 -25 -30 -36 -41 -43 -43 -40 -36 -34 -33 -34 -34 -34 -30 -27 -24 -22 -20 -19 -20 -23 -25 -24 -25 -27 -30 -29 -28 -29 -30 -30 -26 -22 -22 -24 -25 -28 -30 -32 -34 -31 -27 -24 -23 -23 -23 -23 -23 -22 -19 -18 -18 -19 -19 -20 -21 -22 -23 -24 -26 -29 -31 -31 -31 -30 -30 -28 -28 -28 -29 -29 -28 -26 -26 -26 -26 -27 -28 -28 -28 -29 -29 -30 -30 -30 -29 -29 -30 -30 -29 -29 -28 -28 -29 -34 -39 -43 -45 -40 -35 -31 -29 -27 -26 -26 -26 -27 -27 -27 -27 -26 -27 -30 -34 -38 -41 -44 -45 -47 -49 -51 -54 -55 -53 -47 -40 -35 -32 -29 -29 -31 -34 -37 -41 -44 -45 -42 -32 -25 -23 -25 -29 -33 -36 -40 -45 -48 -45 -38 -33 -30 -30 -29 -28 -29 -31 -35 -38 -39 -38 -41 -44 -46 -48 -51 -53 -53 -52 -53 -55 -56 -56 -55 -55 -56 -57 -59 -60 -60 -59 -58 -57 -57 -57 -57 -57 -58 -58 -58 -59 -60 -60 -59 -57 -56 -54 -53 -52 -52 -51 -50 -51 -52 -53 -55 -58 -59 -58 -56 -54 -53 -53 -52 -50 -50 -50 -50 -50 -47 -45 -44 -45 -46 -48 -48 -47 -47 -48 -49 -50 -51 -51 -51 -52 -53 -55 -55 -55 -55 -55 -56 -55 -54 -53 -51 -49 -48 -48 -48 -49 -50 -52 -53 -55 -56 -57 -57 -55 -53 -51 -50 -49 -48 -46 -44 -43 -41 -38 -35 -35 -34 -33 -32 -32 -32 -33 -35 -36 -35 -34 -33 -33 -32 -31 -31 -32 -34 -35 -34 -33 -32 -31 -29 -28 -27 -27 -27 -27 -28 -28 -29 -30 -30 -28 -26 -26 -27 -28 -30 -33 -35 -37 -36 -33 -23 -23 -23 -23 -23 -24 -25 -27 -31 -34 -35 -35 -36 -34 -31 -29 -27 -27 -28 -27 -26 -25 -25 -25 -25 -23 -21 -19 -18 -17 -17 -17 -18 -18 -18 -19 -20 -21 -23 -23 -23 -23 -22 -23 -25 -25 -23 -19 -15 -13 -12 -12 -13 -13 -14 -15 -16 -16 -17 -17 -17 -16 -16 -17 -18 -20 -20 -21 -22 -23 -24 -25 -25 -24 -22 -22 -23 -25 -28 -29 -29 -29 -29 -28 -25 -24 -24 -25 -28 -30 -30 -28 -25 -22 -20 -19 -19 -20 -24 -29 -34 -40 -44 -45 -43 -38 -32 -31 -31 -33 -33 -29 -25 -21 -20 -19 -21 -22 -23 -24 -25 -26 -27 -29 -26 -25 -24 -25 -24 -23 -24 -25 -27 -31 -35 -35 -32 -30 -27 -25 -23 -23 -24 -24 -24 -23 -21 -19 -18 -17 -17 -18 -20 -21 -22 -23 -25 -28 -31 -32 -31 -31 -30 -30 -30 -30 -30 -30 -29 -27 -25 -24 -26 -26 -26 -27 -28 -28 -29 -29 -30 -31 -30 -30 -29 -29 -29 -28 -29 -29 -29 -30 -34 -40 -45 -46 -42 -37 -32 -30 -28 -28 -27 -27 -28 -29 -29 -29 -28 -29 -31 -35 -39 -43 -45 -46 -46 -47 -48 -50 -50 -49 -44 -37 -32 -28 -26 -27 -29 -33 -38 -43 -48 -50 -47 -35 -26 -23 -25 -30 -35 -38 -41 -43 -43 -39 -34 -31 -30 -30 -29 -29 -30 -35 -41 -44 -44 -41 -41 -43 -44 -47 -51 -53 -54 -54 -55 -56 -57 -56 -55 -55 -56 -58 -59 -60 -60 -59 -58 -58 -57 -57 -57 -57 -58 -58 -58 -59 -59 -59 -58 -57 -56 -55 -54 -53 -52 -51 -51 -51 -52 -53 -56 -59 -60 -60 -56 -54 -54 -54 -54 -51 -49 -48 -48 -47 -46 -45 -45 -45 -47 -49 -50 -50 -50 -51 -52 -52 -52 -51 -51 -52 -54 -55 -54 -53 -53 -53 -55 -55 -54 -53 -52 -50 -48 -47 -47 -48 -49 -50 -51 -53 -54 -55 -57 -56 -54 -52 -51 -51 -51 -49 -47 -46 -45 -41 -37 -35 -34 -34 -33 -33 -33 -34 -36 -37 -37 -35 -34 -33 -32 -31 -30 -31 -33 -35 -34 -33 -32 -30 -29 -27 -27 -27 -27 -28 -29 -29 -29 -29 -29 -27 -26 -26 -26 -28 -29 -31 -34 -35 -36 -34 -21 -21 -21 -22 -23 -24 -26 -28 -31 -34 -35 -35 -35 -35 -32 -29 -26 -26 -27 -27 -26 -24 -23 -23 -23 -23 -21 -19 -18 -18 -18 -17 -17 -17 -16 -17 -19 -21 -23 -23 -22 -22 -22 -23 -25 -24 -21 -17 -14 -13 -12 -12 -11 -12 -14 -15 -16 -16 -15 -15 -16 -16 -16 -17 -18 -19 -20 -21 -23 -25 -27 -28 -27 -25 -23 -21 -23 -25 -29 -33 -34 -32 -28 -23 -22 -24 -26 -28 -30 -30 -29 -27 -24 -21 -20 -20 -20 -20 -23 -27 -33 -39 -44 -45 -42 -35 -28 -25 -25 -26 -27 -24 -22 -21 -21 -22 -24 -25 -26 -27 -29 -29 -29 -26 -25 -24 -25 -25 -25 -22 -21 -23 -28 -36 -38 -36 -31 -27 -26 -24 -23 -23 -24 -24 -24 -23 -20 -18 -17 -16 -16 -18 -20 -22 -23 -24 -27 -29 -32 -33 -31 -29 -29 -30 -32 -33 -33 -32 -30 -28 -26 -24 -24 -25 -26 -27 -28 -29 -29 -30 -30 -31 -31 -31 -30 -28 -28 -29 -30 -31 -31 -32 -35 -40 -44 -47 -45 -41 -35 -31 -31 -30 -29 -29 -29 -30 -31 -31 -31 -32 -34 -38 -42 -45 -46 -47 -47 -47 -46 -47 -47 -45 -41 -35 -29 -25 -25 -25 -26 -29 -34 -40 -45 -47 -45 -36 -28 -25 -26 -30 -37 -41 -44 -43 -37 -33 -31 -30 -29 -29 -29 -30 -32 -38 -45 -48 -48 -44 -42 -42 -44 -47 -51 -53 -54 -55 -55 -56 -57 -57 -56 -56 -57 -58 -59 -59 -59 -58 -58 -57 -56 -56 -57 -58 -59 -60 -60 -61 -60 -59 -58 -57 -56 -56 -54 -53 -52 -52 -52 -52 -53 -54 -58 -61 -62 -61 -57 -54 -53 -52 -52 -49 -47 -45 -44 -44 -45 -45 -45 -46 -48 -51 -52 -53 -54 -55 -54 -53 -52 -51 -52 -53 -53 -52 -51 -50 -49 -51 -53 -54 -53 -52 -52 -50 -49 -47 -48 -49 -50 -50 -50 -51 -53 -55 -57 -56 -54 -53 -52 -53 -53 -52 -50 -48 -47 -42 -38 -34 -33 -33 -33 -33 -34 -35 -36 -37 -37 -36 -35 -34 -33 -31 -30 -31 -33 -35 -35 -34 -34 -33 -30 -29 -28 -28 -28 -29 -29 -28 -28 -28 -27 -27 -27 -29 -27 -27 -28 -28 -31 -33 -34 -35 -18 -18 -19 -21 -23 -25 -26 -28 -31 -33 -35 -35 -34 -34 -34 -31 -29 -27 -27 -26 -25 -23 -22 -22 -22 -21 -20 -20 -19 -18 -18 -18 -17 -16 -14 -15 -18 -20 -21 -22 -22 -22 -22 -23 -25 -23 -19 -15 -13 -13 -12 -11 -10 -11 -13 -15 -15 -15 -14 -14 -15 -16 -17 -18 -18 -19 -20 -22 -24 -26 -28 -28 -27 -24 -22 -21 -23 -26 -30 -36 -38 -34 -28 -21 -21 -24 -27 -30 -30 -30 -28 -25 -22 -21 -21 -22 -22 -22 -23 -27 -32 -38 -42 -40 -35 -28 -24 -22 -22 -22 -22 -22 -21 -22 -24 -25 -27 -28 -30 -32 -32 -29 -25 -23 -23 -25 -27 -29 -30 -27 -24 -24 -28 -31 -32 -31 -27 -25 -24 -23 -23 -23 -25 -26 -26 -22 -18 -17 -15 -15 -16 -17 -20 -22 -23 -24 -27 -29 -31 -30 -28 -27 -28 -30 -31 -33 -34 -33 -31 -30 -27 -25 -23 -24 -25 -26 -28 -30 -30 -30 -30 -31 -31 -31 -30 -29 -28 -29 -30 -30 -31 -33 -36 -39 -43 -46 -45 -43 -38 -35 -34 -34 -33 -32 -32 -33 -33 -33 -34 -35 -37 -41 -44 -47 -49 -50 -50 -48 -45 -44 -43 -41 -38 -33 -29 -26 -24 -24 -24 -26 -30 -34 -37 -38 -37 -31 -28 -29 -31 -35 -41 -47 -48 -43 -33 -29 -27 -28 -27 -27 -28 -31 -35 -42 -48 -51 -51 -47 -43 -42 -44 -48 -52 -54 -55 -55 -57 -58 -59 -60 -59 -59 -59 -59 -59 -59 -58 -57 -56 -55 -55 -56 -57 -58 -60 -62 -62 -62 -60 -59 -58 -57 -56 -56 -55 -55 -54 -53 -53 -53 -54 -56 -60 -63 -64 -63 -58 -54 -52 -51 -50 -47 -45 -44 -43 -43 -44 -45 -46 -48 -50 -52 -54 -56 -57 -58 -56 -54 -51 -51 -52 -53 -54 -53 -52 -51 -50 -52 -55 -55 -54 -52 -51 -50 -50 -49 -50 -50 -51 -51 -51 -51 -53 -55 -56 -56 -55 -53 -52 -53 -54 -54 -53 -50 -48 -44 -40 -36 -34 -34 -34 -35 -36 -36 -36 -37 -37 -36 -36 -35 -34 -32 -31 -31 -34 -35 -35 -35 -35 -36 -34 -32 -30 -29 -29 -29 -30 -30 -28 -28 -27 -27 -26 -28 -28 -28 -28 -27 -29 -31 -33 -35 -16 -17 -19 -21 -23 -25 -26 -28 -30 -33 -35 -35 -35 -34 -33 -32 -31 -29 -27 -26 -24 -22 -20 -20 -20 -19 -19 -19 -19 -19 -19 -19 -18 -16 -14 -15 -17 -19 -20 -21 -22 -22 -22 -23 -23 -21 -17 -13 -12 -12 -11 -10 -9 -10 -12 -13 -14 -13 -13 -14 -15 -16 -18 -19 -20 -20 -21 -23 -25 -27 -27 -26 -24 -22 -21 -22 -23 -26 -31 -36 -38 -34 -28 -22 -22 -26 -28 -30 -31 -30 -28 -25 -22 -21 -22 -23 -24 -23 -24 -27 -30 -35 -38 -36 -31 -25 -21 -21 -21 -21 -21 -21 -21 -23 -25 -27 -29 -31 -33 -34 -32 -28 -23 -22 -23 -23 -25 -29 -33 -33 -33 -33 -33 -31 -29 -27 -26 -23 -23 -23 -25 -26 -25 -24 -23 -21 -19 -17 -15 -15 -16 -18 -20 -23 -24 -25 -26 -27 -27 -26 -25 -25 -25 -27 -29 -31 -33 -34 -33 -31 -27 -25 -23 -23 -24 -25 -28 -30 -31 -31 -30 -31 -31 -31 -31 -29 -29 -29 -29 -29 -30 -32 -35 -39 -43 -46 -46 -45 -42 -39 -38 -38 -37 -36 -35 -35 -35 -35 -35 -36 -38 -41 -45 -50 -54 -55 -53 -48 -44 -41 -40 -37 -35 -33 -30 -28 -26 -25 -25 -26 -28 -30 -30 -30 -28 -26 -27 -31 -36 -43 -49 -52 -50 -42 -32 -28 -26 -26 -24 -25 -28 -32 -37 -44 -50 -52 -52 -49 -46 -45 -47 -51 -53 -55 -55 -56 -57 -58 -59 -60 -60 -59 -59 -58 -58 -58 -57 -56 -55 -55 -55 -56 -57 -59 -60 -62 -62 -62 -61 -60 -59 -58 -57 -57 -57 -57 -56 -55 -55 -56 -57 -59 -61 -64 -65 -64 -60 -55 -51 -50 -49 -47 -45 -44 -44 -44 -45 -46 -47 -49 -52 -54 -55 -57 -59 -60 -58 -55 -52 -50 -51 -53 -55 -54 -53 -53 -53 -55 -57 -58 -56 -53 -52 -51 -51 -51 -51 -52 -52 -52 -52 -53 -54 -55 -57 -57 -56 -54 -52 -52 -53 -55 -55 -52 -50 -47 -43 -39 -37 -36 -36 -38 -38 -37 -37 -37 -38 -37 -36 -35 -34 -32 -31 -31 -33 -35 -35 -36 -36 -38 -37 -35 -32 -30 -30 -31 -32 -33 -32 -31 -29 -27 -25 -26 -26 -28 -29 -28 -30 -32 -34 -35 -15 -16 -19 -21 -23 -25 -26 -28 -30 -32 -34 -35 -34 -33 -33 -33 -32 -30 -27 -25 -23 -21 -19 -18 -17 -17 -18 -19 -19 -18 -19 -19 -18 -16 -14 -14 -16 -18 -19 -20 -22 -23 -23 -22 -22 -19 -16 -13 -12 -11 -10 -9 -9 -10 -11 -11 -12 -12 -13 -14 -16 -18 -21 -23 -23 -23 -23 -24 -26 -26 -25 -22 -21 -20 -21 -22 -24 -27 -30 -34 -35 -32 -26 -22 -24 -27 -29 -31 -31 -30 -28 -26 -24 -23 -23 -24 -25 -25 -25 -27 -29 -32 -34 -34 -31 -26 -22 -21 -21 -21 -21 -21 -22 -23 -25 -28 -30 -32 -33 -33 -29 -25 -21 -20 -21 -22 -23 -26 -30 -32 -34 -35 -34 -30 -27 -25 -24 -23 -23 -25 -28 -28 -24 -20 -18 -17 -17 -16 -15 -15 -15 -18 -21 -23 -24 -25 -26 -25 -22 -22 -21 -22 -24 -26 -26 -29 -33 -36 -37 -35 -30 -26 -24 -22 -22 -24 -27 -29 -30 -31 -30 -31 -31 -31 -31 -31 -30 -29 -29 -29 -29 -31 -35 -39 -44 -47 -48 -48 -46 -43 -41 -40 -39 -38 -37 -37 -36 -35 -35 -36 -38 -40 -44 -50 -55 -56 -53 -46 -42 -40 -38 -35 -33 -33 -32 -31 -30 -28 -27 -27 -27 -26 -25 -24 -22 -22 -24 -29 -37 -46 -53 -53 -47 -37 -30 -27 -26 -25 -24 -25 -29 -33 -39 -44 -48 -51 -52 -51 -49 -49 -50 -53 -55 -56 -56 -57 -58 -59 -60 -60 -60 -59 -58 -57 -56 -56 -55 -54 -54 -55 -56 -57 -58 -59 -60 -61 -61 -61 -61 -61 -61 -61 -60 -60 -60 -60 -59 -58 -58 -58 -59 -60 -62 -63 -64 -63 -59 -54 -50 -49 -48 -47 -45 -45 -46 -46 -46 -47 -49 -51 -53 -54 -56 -57 -58 -60 -59 -57 -53 -51 -51 -53 -55 -55 -55 -55 -57 -58 -59 -58 -57 -54 -53 -53 -53 -53 -53 -53 -53 -53 -54 -55 -57 -59 -61 -61 -60 -57 -54 -53 -54 -56 -57 -55 -53 -50 -46 -43 -40 -39 -38 -38 -38 -38 -38 -37 -37 -38 -37 -35 -34 -32 -31 -31 -32 -34 -36 -36 -37 -40 -40 -38 -35 -31 -32 -33 -34 -35 -35 -33 -31 -28 -26 -26 -26 -28 -29 -29 -31 -33 -35 -35 -15 -17 -19 -21 -23 -24 -26 -28 -30 -32 -34 -35 -34 -32 -32 -33 -33 -31 -27 -25 -22 -20 -18 -16 -15 -15 -16 -17 -17 -18 -18 -18 -18 -16 -15 -15 -16 -17 -19 -20 -22 -23 -23 -22 -21 -19 -16 -14 -12 -10 -9 -8 -8 -9 -9 -9 -10 -12 -13 -15 -17 -21 -25 -27 -27 -26 -25 -26 -26 -24 -22 -20 -19 -19 -21 -23 -26 -28 -31 -32 -31 -28 -24 -22 -24 -28 -30 -31 -31 -30 -28 -27 -26 -25 -25 -25 -25 -26 -26 -27 -28 -30 -32 -33 -31 -28 -23 -21 -20 -21 -22 -22 -23 -23 -25 -28 -30 -31 -31 -30 -27 -23 -20 -19 -19 -20 -21 -23 -26 -29 -31 -32 -32 -28 -25 -24 -23 -23 -26 -29 -30 -27 -21 -17 -15 -14 -15 -15 -15 -16 -17 -19 -21 -23 -23 -24 -24 -23 -21 -21 -21 -23 -25 -27 -27 -29 -31 -33 -37 -36 -32 -27 -24 -22 -21 -23 -25 -28 -29 -30 -30 -30 -30 -31 -32 -32 -31 -30 -29 -29 -30 -31 -34 -39 -45 -48 -50 -51 -51 -48 -43 -40 -38 -38 -37 -36 -35 -34 -34 -35 -36 -38 -41 -45 -48 -48 -46 -41 -39 -38 -36 -34 -33 -33 -33 -34 -33 -31 -29 -27 -25 -23 -22 -21 -19 -19 -21 -26 -34 -44 -51 -50 -43 -33 -28 -25 -24 -23 -24 -27 -30 -35 -41 -44 -46 -48 -51 -51 -51 -51 -52 -54 -56 -57 -57 -58 -58 -59 -59 -59 -58 -57 -56 -55 -55 -54 -54 -54 -54 -55 -56 -57 -58 -59 -59 -60 -60 -60 -61 -62 -63 -63 -63 -63 -63 -63 -62 -61 -61 -61 -61 -61 -61 -61 -61 -61 -57 -52 -48 -47 -47 -46 -46 -47 -48 -48 -48 -48 -50 -52 -53 -54 -54 -54 -55 -57 -58 -57 -54 -51 -50 -52 -55 -56 -56 -57 -59 -60 -59 -58 -57 -56 -55 -54 -54 -54 -54 -54 -54 -54 -55 -57 -60 -64 -65 -64 -63 -60 -58 -57 -56 -57 -58 -57 -56 -53 -50 -47 -44 -42 -40 -39 -38 -38 -38 -38 -37 -38 -37 -35 -34 -33 -33 -33 -33 -35 -36 -37 -39 -41 -41 -39 -36 -34 -32 -32 -34 -36 -35 -33 -31 -29 -28 -26 -26 -27 -30 -32 -33 -34 -35 -36 -16 -18 -19 -21 -22 -24 -26 -28 -30 -32 -34 -34 -34 -32 -33 -33 -33 -31 -27 -24 -22 -20 -18 -15 -14 -14 -15 -15 -16 -16 -17 -17 -17 -16 -16 -15 -15 -17 -18 -20 -22 -23 -24 -23 -21 -18 -16 -12 -10 -9 -7 -6 -6 -7 -7 -7 -8 -11 -14 -17 -20 -24 -26 -27 -27 -28 -27 -26 -25 -22 -19 -18 -19 -20 -22 -24 -27 -30 -31 -31 -28 -25 -23 -23 -25 -28 -30 -31 -31 -30 -28 -27 -26 -26 -25 -25 -25 -26 -26 -27 -28 -31 -33 -34 -33 -29 -24 -21 -21 -22 -23 -23 -23 -24 -27 -28 -29 -29 -29 -29 -28 -25 -23 -20 -19 -20 -21 -23 -25 -28 -30 -30 -28 -25 -23 -22 -23 -26 -30 -32 -30 -24 -18 -15 -13 -13 -13 -14 -15 -15 -17 -19 -20 -21 -21 -21 -21 -21 -20 -21 -22 -23 -25 -27 -27 -27 -28 -30 -32 -31 -30 -27 -23 -22 -22 -22 -23 -26 -28 -30 -30 -30 -29 -30 -31 -31 -30 -29 -29 -30 -31 -32 -35 -39 -44 -48 -51 -52 -52 -49 -44 -39 -36 -35 -35 -34 -33 -32 -32 -33 -34 -35 -36 -39 -41 -41 -39 -37 -38 -38 -38 -35 -33 -32 -32 -33 -33 -32 -31 -28 -24 -21 -20 -19 -19 -18 -20 -25 -32 -40 -46 -46 -40 -32 -27 -25 -23 -23 -25 -28 -32 -36 -40 -43 -46 -50 -52 -51 -50 -50 -50 -53 -56 -57 -57 -57 -58 -58 -57 -57 -56 -55 -55 -54 -54 -54 -55 -55 -55 -56 -57 -58 -59 -59 -59 -59 -60 -61 -62 -63 -64 -65 -65 -65 -65 -65 -65 -63 -63 -62 -62 -61 -60 -60 -60 -60 -57 -53 -49 -48 -47 -47 -48 -49 -50 -51 -51 -49 -50 -51 -52 -53 -53 -54 -54 -54 -55 -55 -52 -50 -49 -50 -53 -55 -56 -57 -59 -60 -59 -58 -57 -56 -55 -54 -54 -54 -55 -55 -56 -56 -57 -59 -62 -66 -66 -66 -64 -62 -60 -59 -59 -59 -59 -60 -59 -57 -53 -50 -47 -45 -43 -41 -39 -38 -38 -38 -37 -37 -36 -35 -34 -33 -34 -35 -36 -37 -38 -39 -40 -40 -38 -35 -34 -33 -32 -31 -32 -35 -34 -33 -31 -30 -28 -26 -25 -27 -31 -33 -34 -34 -35 -36 -17 -18 -19 -20 -21 -23 -25 -27 -29 -30 -32 -33 -33 -32 -33 -34 -33 -31 -27 -23 -21 -19 -18 -16 -14 -13 -14 -15 -15 -15 -16 -16 -16 -16 -16 -15 -15 -16 -17 -20 -22 -23 -23 -22 -19 -17 -14 -11 -9 -8 -6 -6 -6 -6 -6 -6 -7 -9 -13 -18 -22 -26 -25 -26 -27 -28 -27 -25 -22 -20 -18 -18 -20 -21 -24 -26 -29 -31 -31 -29 -27 -24 -22 -23 -26 -28 -30 -30 -30 -29 -28 -26 -26 -25 -26 -26 -27 -27 -28 -29 -31 -34 -36 -36 -34 -30 -24 -21 -20 -21 -22 -22 -23 -25 -27 -28 -28 -27 -27 -28 -29 -29 -27 -22 -20 -21 -24 -26 -29 -31 -31 -29 -25 -22 -21 -23 -26 -30 -33 -32 -28 -21 -16 -14 -12 -12 -12 -13 -14 -14 -16 -18 -19 -19 -19 -19 -19 -19 -20 -22 -22 -23 -24 -25 -26 -26 -26 -27 -27 -27 -26 -25 -24 -23 -22 -21 -22 -24 -27 -29 -30 -29 -28 -28 -28 -27 -28 -28 -29 -31 -33 -34 -35 -38 -42 -45 -48 -49 -49 -46 -42 -38 -35 -33 -32 -31 -30 -30 -30 -30 -30 -31 -32 -34 -35 -35 -34 -34 -36 -38 -39 -37 -34 -32 -32 -32 -32 -32 -32 -32 -27 -22 -20 -19 -20 -21 -22 -25 -29 -35 -40 -41 -38 -33 -29 -26 -24 -24 -26 -29 -33 -36 -40 -42 -45 -49 -51 -50 -49 -49 -51 -53 -56 -58 -57 -56 -56 -56 -55 -54 -54 -53 -53 -53 -54 -55 -56 -56 -56 -57 -58 -59 -60 -60 -60 -60 -60 -62 -63 -64 -65 -66 -66 -66 -66 -66 -66 -65 -64 -63 -63 -61 -59 -58 -59 -60 -57 -54 -51 -49 -49 -49 -51 -52 -53 -53 -52 -51 -50 -50 -51 -52 -53 -53 -53 -52 -52 -51 -50 -49 -48 -49 -52 -55 -57 -58 -59 -60 -60 -59 -58 -56 -55 -54 -54 -54 -55 -55 -56 -58 -59 -61 -63 -66 -67 -66 -64 -62 -61 -61 -62 -62 -62 -62 -61 -59 -57 -53 -50 -47 -45 -43 -41 -39 -39 -38 -38 -37 -36 -34 -34 -34 -36 -39 -40 -40 -40 -40 -40 -38 -34 -30 -29 -32 -32 -31 -32 -36 -36 -34 -31 -29 -27 -25 -25 -26 -31 -34 -34 -35 -35 -35 -18 -19 -19 -20 -20 -22 -24 -26 -27 -29 -30 -31 -32 -32 -33 -34 -33 -30 -26 -23 -21 -19 -18 -16 -14 -13 -14 -15 -15 -14 -14 -14 -15 -15 -15 -14 -14 -15 -17 -19 -21 -22 -21 -20 -17 -14 -12 -10 -8 -7 -6 -5 -6 -6 -6 -7 -8 -9 -12 -17 -21 -24 -24 -25 -25 -26 -25 -23 -21 -19 -18 -19 -21 -24 -26 -28 -30 -30 -29 -27 -25 -24 -24 -25 -26 -28 -29 -30 -29 -28 -27 -26 -26 -26 -27 -27 -27 -28 -29 -30 -32 -35 -37 -38 -36 -31 -25 -21 -20 -20 -20 -20 -21 -23 -26 -26 -26 -25 -25 -27 -28 -29 -27 -21 -20 -21 -24 -28 -32 -33 -31 -27 -23 -22 -24 -28 -34 -36 -33 -27 -21 -16 -14 -13 -12 -12 -12 -13 -13 -14 -15 -17 -18 -18 -19 -19 -19 -20 -21 -23 -23 -22 -22 -22 -23 -24 -25 -25 -25 -24 -24 -23 -23 -24 -23 -22 -22 -25 -27 -30 -31 -30 -28 -27 -28 -28 -29 -29 -29 -31 -33 -34 -35 -36 -38 -41 -42 -43 -43 -42 -40 -39 -36 -34 -32 -30 -29 -28 -28 -28 -28 -29 -30 -32 -32 -32 -32 -33 -35 -37 -39 -38 -36 -34 -33 -32 -32 -33 -35 -36 -33 -29 -24 -22 -24 -26 -27 -28 -28 -31 -34 -37 -37 -33 -30 -28 -28 -27 -28 -31 -34 -38 -41 -43 -46 -49 -52 -52 -52 -52 -53 -55 -57 -58 -57 -55 -54 -54 -53 -52 -52 -52 -52 -54 -54 -56 -56 -57 -57 -58 -59 -60 -60 -61 -60 -61 -61 -62 -63 -63 -64 -65 -65 -65 -65 -66 -66 -65 -64 -64 -63 -61 -59 -58 -59 -59 -57 -54 -51 -49 -50 -52 -55 -56 -55 -54 -53 -52 -50 -49 -50 -51 -53 -54 -53 -52 -50 -49 -49 -49 -49 -50 -53 -56 -59 -60 -61 -61 -61 -59 -58 -56 -54 -53 -53 -53 -54 -56 -57 -60 -62 -64 -66 -67 -67 -66 -64 -61 -60 -61 -63 -64 -64 -63 -62 -61 -59 -55 -51 -49 -48 -46 -43 -41 -41 -40 -40 -38 -36 -34 -34 -35 -38 -41 -44 -43 -42 -40 -40 -37 -33 -27 -26 -30 -32 -33 -33 -35 -36 -34 -31 -29 -27 -26 -25 -26 -30 -33 -34 -34 -33 -33 -19 -20 -20 -20 -20 -21 -23 -25 -26 -28 -29 -30 -31 -31 -32 -33 -33 -30 -26 -23 -21 -20 -19 -17 -15 -13 -14 -14 -14 -13 -13 -13 -13 -14 -14 -14 -14 -15 -16 -19 -22 -21 -20 -18 -15 -12 -10 -8 -7 -6 -5 -5 -5 -6 -7 -8 -9 -11 -13 -17 -20 -22 -22 -23 -23 -24 -23 -21 -19 -18 -19 -21 -24 -26 -29 -30 -30 -28 -27 -26 -25 -25 -25 -26 -27 -28 -29 -30 -29 -27 -26 -25 -26 -26 -26 -26 -26 -27 -28 -30 -32 -34 -35 -36 -35 -31 -26 -23 -20 -19 -18 -18 -20 -21 -24 -25 -25 -24 -25 -26 -28 -28 -26 -24 -21 -21 -23 -27 -31 -32 -30 -26 -22 -22 -27 -33 -37 -36 -30 -24 -18 -15 -14 -13 -12 -12 -12 -13 -13 -14 -14 -15 -15 -16 -18 -19 -20 -21 -22 -23 -23 -22 -21 -20 -21 -22 -23 -24 -25 -24 -23 -22 -23 -24 -24 -23 -24 -26 -28 -30 -31 -31 -30 -29 -29 -29 -30 -30 -30 -31 -32 -33 -34 -34 -36 -38 -39 -39 -38 -39 -40 -40 -38 -35 -33 -31 -29 -27 -27 -27 -28 -29 -30 -31 -31 -32 -31 -32 -34 -36 -38 -38 -38 -37 -36 -34 -33 -35 -38 -43 -44 -39 -33 -28 -29 -32 -34 -34 -31 -30 -30 -31 -33 -31 -30 -30 -33 -33 -32 -33 -35 -39 -41 -42 -44 -48 -52 -53 -52 -52 -54 -57 -58 -58 -56 -54 -53 -53 -53 -52 -52 -52 -53 -54 -55 -56 -56 -56 -57 -58 -59 -60 -60 -61 -61 -60 -61 -62 -62 -62 -62 -63 -64 -63 -63 -64 -66 -66 -65 -64 -63 -61 -59 -58 -58 -58 -56 -54 -52 -50 -50 -52 -55 -58 -57 -55 -53 -52 -51 -50 -50 -51 -54 -55 -55 -53 -50 -49 -48 -49 -50 -52 -55 -58 -61 -62 -63 -63 -61 -59 -57 -56 -54 -53 -53 -53 -54 -56 -60 -62 -65 -66 -67 -68 -68 -68 -65 -63 -61 -61 -62 -64 -64 -64 -64 -63 -61 -57 -54 -51 -50 -48 -45 -43 -43 -43 -42 -40 -37 -34 -34 -36 -39 -42 -44 -44 -43 -41 -40 -37 -33 -27 -24 -27 -31 -33 -33 -33 -33 -33 -32 -31 -28 -26 -26 -27 -29 -32 -34 -34 -31 -30 -20 -20 -20 -20 -20 -20 -21 -23 -26 -27 -29 -29 -30 -29 -30 -31 -32 -30 -27 -24 -22 -21 -20 -18 -16 -14 -14 -15 -15 -14 -13 -12 -12 -12 -12 -12 -13 -15 -17 -20 -22 -21 -18 -15 -13 -12 -11 -10 -8 -6 -5 -5 -5 -6 -7 -9 -10 -13 -16 -18 -20 -21 -21 -22 -22 -22 -20 -19 -18 -18 -20 -22 -25 -28 -30 -30 -28 -27 -27 -28 -27 -26 -26 -27 -28 -29 -30 -30 -29 -27 -26 -25 -26 -26 -25 -25 -25 -26 -27 -28 -30 -32 -34 -34 -33 -29 -25 -22 -20 -18 -17 -17 -19 -20 -23 -24 -24 -24 -24 -26 -28 -29 -28 -26 -24 -23 -25 -28 -31 -31 -28 -24 -22 -24 -32 -39 -43 -37 -27 -20 -16 -16 -15 -14 -12 -11 -11 -12 -13 -13 -13 -13 -14 -15 -17 -18 -20 -21 -22 -22 -22 -21 -20 -20 -20 -21 -22 -24 -25 -25 -24 -23 -23 -24 -24 -24 -25 -28 -30 -31 -32 -33 -32 -31 -31 -31 -32 -32 -31 -30 -30 -30 -31 -32 -33 -35 -37 -38 -39 -39 -40 -41 -41 -38 -35 -33 -31 -29 -28 -29 -29 -29 -30 -30 -30 -31 -32 -33 -34 -36 -37 -38 -38 -39 -38 -38 -37 -38 -41 -47 -48 -44 -38 -32 -33 -38 -41 -42 -38 -33 -31 -32 -33 -31 -31 -33 -38 -40 -39 -36 -35 -36 -38 -39 -42 -47 -52 -54 -52 -51 -54 -57 -58 -56 -53 -52 -52 -53 -53 -53 -54 -54 -55 -56 -56 -56 -56 -56 -56 -57 -58 -59 -60 -60 -60 -59 -58 -60 -62 -62 -61 -61 -61 -62 -62 -62 -64 -65 -65 -63 -61 -59 -58 -56 -55 -55 -56 -55 -53 -51 -50 -50 -52 -55 -57 -56 -53 -52 -51 -50 -50 -51 -53 -55 -55 -54 -52 -50 -49 -49 -51 -53 -57 -60 -62 -62 -62 -62 -60 -59 -57 -56 -55 -54 -54 -54 -55 -58 -62 -63 -64 -65 -65 -65 -66 -66 -65 -64 -61 -59 -58 -62 -64 -65 -65 -65 -63 -61 -57 -53 -51 -49 -47 -45 -45 -46 -45 -42 -37 -35 -35 -36 -39 -42 -43 -43 -42 -39 -38 -36 -34 -31 -25 -23 -25 -30 -32 -32 -31 -32 -34 -34 -31 -28 -27 -29 -30 -32 -34 -33 -30 -28 -21 -21 -20 -20 -19 -19 -20 -22 -24 -27 -28 -29 -29 -28 -28 -29 -30 -29 -27 -25 -23 -22 -21 -19 -17 -16 -15 -16 -16 -15 -14 -14 -13 -12 -12 -12 -13 -15 -17 -20 -21 -20 -17 -14 -14 -15 -16 -15 -12 -10 -9 -8 -8 -9 -10 -11 -14 -16 -18 -20 -21 -21 -22 -22 -23 -22 -19 -18 -17 -18 -20 -23 -26 -28 -30 -29 -27 -27 -28 -30 -29 -27 -27 -28 -29 -30 -31 -32 -31 -28 -27 -26 -26 -26 -25 -24 -24 -24 -25 -26 -28 -31 -33 -34 -32 -28 -23 -20 -18 -17 -17 -17 -18 -20 -22 -23 -24 -25 -26 -27 -28 -29 -29 -27 -26 -26 -27 -30 -31 -29 -26 -23 -22 -26 -34 -41 -44 -35 -25 -18 -15 -16 -15 -14 -13 -11 -10 -10 -11 -12 -12 -13 -14 -16 -18 -19 -20 -21 -21 -21 -21 -20 -20 -20 -20 -20 -22 -24 -27 -27 -26 -25 -25 -24 -25 -25 -25 -29 -31 -32 -33 -33 -32 -32 -33 -33 -34 -33 -30 -28 -27 -27 -28 -28 -30 -32 -36 -39 -40 -40 -41 -42 -42 -40 -38 -35 -33 -30 -30 -29 -29 -29 -29 -29 -30 -30 -32 -34 -35 -36 -37 -37 -38 -39 -40 -41 -41 -42 -44 -48 -47 -43 -38 -36 -37 -41 -46 -49 -46 -40 -36 -34 -35 -34 -33 -34 -37 -41 -42 -40 -35 -33 -36 -38 -41 -46 -52 -53 -52 -50 -53 -55 -56 -54 -52 -52 -52 -53 -54 -54 -55 -56 -57 -57 -57 -56 -56 -55 -54 -55 -57 -59 -59 -60 -60 -59 -57 -60 -61 -62 -60 -60 -61 -62 -63 -63 -63 -63 -63 -62 -60 -57 -54 -51 -51 -53 -54 -55 -53 -51 -50 -49 -49 -52 -56 -57 -55 -53 -53 -52 -51 -50 -51 -52 -54 -54 -53 -51 -50 -50 -52 -55 -58 -61 -63 -63 -62 -61 -59 -58 -57 -56 -55 -55 -54 -54 -56 -59 -63 -64 -64 -64 -64 -63 -62 -63 -63 -62 -59 -55 -54 -58 -62 -65 -66 -67 -65 -63 -60 -55 -52 -50 -48 -47 -47 -46 -45 -42 -38 -35 -35 -36 -39 -41 -42 -42 -40 -38 -36 -34 -33 -31 -29 -25 -23 -27 -31 -32 -32 -33 -36 -35 -34 -31 -30 -30 -31 -33 -34 -33 -30 -28 -22 -21 -21 -20 -20 -19 -20 -21 -24 -26 -28 -29 -29 -28 -28 -28 -28 -28 -27 -25 -25 -24 -23 -21 -19 -17 -16 -17 -17 -17 -16 -15 -14 -13 -12 -12 -13 -15 -17 -18 -18 -16 -14 -13 -15 -18 -20 -20 -18 -16 -15 -14 -14 -14 -15 -17 -19 -22 -23 -24 -24 -24 -24 -24 -24 -23 -20 -19 -18 -19 -21 -24 -26 -28 -28 -28 -27 -27 -28 -31 -29 -27 -27 -29 -29 -31 -32 -34 -33 -30 -28 -27 -28 -28 -27 -26 -24 -24 -24 -26 -28 -31 -35 -37 -35 -30 -21 -17 -16 -16 -16 -17 -18 -19 -21 -23 -25 -26 -27 -29 -29 -29 -29 -28 -27 -28 -29 -31 -29 -27 -24 -23 -23 -27 -32 -36 -38 -31 -22 -16 -15 -15 -14 -14 -13 -11 -10 -9 -9 -10 -11 -12 -14 -16 -18 -20 -21 -23 -23 -22 -22 -22 -22 -22 -22 -23 -24 -27 -28 -29 -27 -25 -26 -26 -26 -27 -28 -29 -31 -33 -32 -31 -32 -33 -34 -35 -35 -33 -30 -27 -26 -26 -26 -26 -28 -30 -33 -37 -39 -39 -40 -41 -42 -41 -40 -38 -35 -33 -32 -31 -30 -29 -29 -29 -30 -31 -33 -36 -38 -39 -38 -37 -37 -38 -40 -43 -44 -45 -48 -49 -44 -38 -34 -35 -37 -41 -46 -50 -49 -45 -41 -38 -38 -39 -39 -39 -39 -41 -42 -40 -35 -34 -37 -40 -42 -46 -51 -53 -51 -50 -51 -53 -54 -53 -53 -53 -54 -55 -55 -56 -57 -58 -58 -57 -56 -55 -55 -55 -55 -55 -57 -58 -60 -60 -61 -60 -59 -61 -62 -62 -60 -60 -61 -62 -63 -63 -64 -64 -63 -61 -59 -56 -53 -50 -49 -51 -53 -54 -53 -52 -51 -50 -49 -51 -55 -58 -57 -55 -55 -55 -54 -53 -52 -52 -53 -54 -53 -52 -52 -52 -53 -55 -58 -61 -63 -63 -62 -60 -57 -58 -57 -56 -56 -56 -55 -55 -56 -60 -64 -65 -65 -64 -64 -62 -60 -58 -59 -58 -56 -52 -49 -51 -56 -62 -66 -67 -66 -64 -61 -57 -53 -50 -48 -47 -47 -46 -44 -41 -37 -35 -35 -36 -38 -39 -40 -40 -38 -36 -34 -32 -31 -30 -28 -27 -28 -32 -34 -34 -34 -34 -36 -36 -35 -33 -31 -31 -32 -33 -33 -32 -30 -29 -23 -22 -21 -20 -20 -20 -20 -21 -22 -25 -27 -28 -29 -28 -28 -28 -28 -27 -26 -26 -25 -25 -24 -22 -20 -18 -18 -18 -18 -18 -18 -17 -15 -14 -13 -12 -13 -15 -16 -15 -14 -12 -11 -12 -15 -19 -21 -21 -21 -21 -21 -21 -21 -20 -20 -22 -25 -28 -29 -28 -28 -27 -26 -26 -26 -25 -24 -22 -22 -22 -23 -25 -26 -28 -28 -28 -27 -27 -27 -28 -27 -27 -28 -30 -30 -31 -34 -36 -36 -32 -30 -29 -30 -31 -30 -28 -25 -24 -25 -26 -29 -32 -37 -41 -40 -34 -22 -15 -13 -15 -16 -16 -17 -18 -20 -24 -26 -28 -29 -30 -30 -29 -28 -28 -28 -29 -30 -29 -25 -23 -22 -23 -23 -27 -29 -29 -28 -23 -17 -14 -14 -14 -14 -13 -12 -11 -10 -9 -9 -9 -10 -11 -13 -16 -18 -19 -21 -23 -25 -26 -27 -28 -28 -28 -27 -28 -28 -30 -30 -29 -27 -26 -26 -26 -26 -25 -27 -29 -30 -30 -29 -29 -31 -33 -35 -37 -36 -33 -29 -27 -26 -26 -25 -26 -27 -29 -31 -34 -36 -38 -39 -40 -42 -42 -41 -40 -38 -36 -34 -33 -32 -31 -30 -30 -31 -32 -35 -38 -41 -42 -41 -39 -37 -36 -37 -39 -42 -45 -48 -47 -40 -34 -30 -31 -33 -38 -44 -48 -50 -49 -46 -41 -40 -42 -44 -45 -44 -43 -41 -40 -37 -37 -38 -39 -41 -46 -51 -52 -51 -50 -50 -51 -52 -53 -54 -55 -56 -56 -57 -57 -58 -58 -58 -56 -55 -55 -56 -56 -57 -58 -59 -60 -61 -62 -63 -63 -63 -64 -64 -63 -60 -60 -61 -62 -63 -64 -64 -64 -63 -62 -61 -60 -59 -57 -56 -55 -55 -55 -54 -53 -53 -53 -52 -52 -55 -58 -57 -56 -56 -56 -56 -54 -54 -53 -53 -54 -54 -53 -53 -53 -53 -54 -56 -59 -62 -61 -60 -58 -57 -56 -56 -56 -56 -56 -56 -55 -56 -60 -64 -66 -66 -66 -65 -62 -58 -54 -53 -54 -52 -49 -47 -47 -51 -57 -64 -66 -66 -64 -61 -57 -54 -51 -48 -47 -47 -46 -45 -42 -38 -36 -35 -35 -36 -37 -38 -38 -36 -34 -33 -31 -29 -28 -27 -27 -28 -31 -33 -34 -35 -36 -36 -36 -35 -34 -31 -31 -32 -33 -32 -30 -29 -29 -24 -23 -22 -21 -21 -21 -20 -20 -20 -22 -25 -26 -27 -27 -28 -29 -29 -28 -26 -26 -26 -25 -24 -22 -21 -19 -19 -19 -20 -20 -18 -17 -16 -15 -14 -13 -14 -14 -14 -12 -10 -9 -9 -11 -15 -17 -19 -20 -21 -22 -24 -25 -26 -25 -24 -24 -27 -33 -34 -33 -31 -29 -27 -26 -26 -26 -27 -27 -27 -28 -27 -27 -28 -29 -30 -30 -29 -27 -26 -25 -25 -26 -28 -29 -29 -31 -33 -36 -36 -33 -31 -30 -31 -32 -31 -29 -27 -26 -26 -28 -29 -31 -36 -40 -41 -37 -25 -17 -14 -14 -16 -17 -17 -18 -21 -26 -30 -32 -31 -30 -29 -28 -27 -28 -31 -32 -30 -25 -21 -19 -19 -20 -22 -26 -27 -25 -22 -16 -13 -13 -14 -14 -14 -13 -12 -10 -9 -9 -9 -10 -11 -12 -13 -15 -16 -18 -20 -23 -26 -29 -32 -34 -35 -34 -33 -32 -31 -32 -31 -29 -26 -24 -24 -23 -23 -24 -26 -28 -29 -29 -28 -28 -30 -32 -35 -38 -38 -35 -31 -28 -27 -27 -27 -27 -28 -29 -30 -32 -34 -36 -38 -41 -42 -43 -42 -41 -40 -39 -37 -36 -34 -33 -32 -32 -32 -33 -36 -40 -43 -45 -45 -43 -41 -39 -38 -37 -39 -41 -44 -45 -42 -38 -33 -29 -30 -35 -41 -47 -51 -52 -49 -44 -42 -45 -49 -52 -51 -48 -45 -43 -41 -40 -40 -40 -40 -44 -47 -49 -50 -49 -50 -51 -52 -54 -56 -58 -58 -58 -58 -59 -59 -58 -57 -55 -54 -54 -55 -56 -58 -59 -61 -62 -63 -65 -66 -66 -65 -64 -63 -62 -61 -61 -61 -61 -63 -63 -63 -63 -63 -63 -63 -63 -63 -62 -61 -59 -58 -57 -56 -55 -55 -56 -55 -55 -56 -56 -56 -55 -56 -57 -56 -55 -55 -56 -55 -55 -55 -55 -54 -53 -53 -54 -55 -56 -58 -59 -59 -58 -57 -56 -56 -56 -56 -56 -56 -56 -57 -61 -65 -68 -69 -68 -66 -61 -55 -50 -49 -50 -49 -48 -47 -48 -52 -56 -59 -61 -61 -61 -60 -56 -54 -52 -49 -47 -47 -46 -45 -43 -39 -37 -35 -35 -35 -37 -37 -36 -34 -33 -32 -30 -28 -28 -27 -27 -27 -29 -31 -33 -34 -35 -36 -36 -36 -34 -31 -31 -31 -32 -30 -30 -30 -31 -24 -23 -22 -22 -22 -21 -20 -19 -18 -20 -22 -24 -25 -25 -27 -28 -29 -29 -27 -27 -26 -25 -24 -23 -22 -21 -21 -21 -22 -21 -19 -17 -16 -16 -15 -14 -13 -12 -11 -9 -7 -6 -6 -9 -13 -15 -17 -19 -19 -20 -22 -25 -27 -28 -26 -24 -25 -31 -35 -35 -33 -31 -27 -25 -25 -26 -28 -29 -30 -30 -30 -30 -32 -33 -34 -34 -31 -27 -24 -23 -24 -26 -28 -30 -30 -31 -31 -32 -33 -33 -32 -31 -30 -30 -31 -31 -30 -30 -30 -30 -30 -30 -34 -37 -37 -34 -27 -21 -18 -17 -17 -17 -18 -20 -23 -27 -31 -33 -33 -29 -25 -25 -26 -30 -34 -34 -30 -24 -20 -18 -17 -17 -17 -21 -26 -28 -24 -17 -14 -13 -13 -14 -15 -14 -13 -10 -8 -8 -9 -10 -12 -12 -13 -13 -14 -16 -19 -22 -27 -31 -35 -38 -40 -39 -38 -36 -34 -33 -30 -28 -26 -23 -22 -21 -21 -22 -24 -26 -27 -28 -27 -28 -30 -33 -35 -37 -36 -35 -33 -31 -29 -29 -29 -29 -30 -31 -31 -32 -33 -36 -38 -41 -43 -44 -43 -43 -42 -41 -40 -38 -37 -35 -34 -34 -34 -35 -38 -42 -45 -47 -46 -45 -44 -43 -40 -38 -38 -40 -44 -49 -51 -50 -44 -37 -35 -39 -45 -51 -53 -52 -50 -46 -45 -48 -52 -56 -57 -54 -51 -49 -46 -43 -41 -41 -42 -44 -45 -46 -48 -50 -51 -53 -55 -58 -59 -60 -59 -59 -59 -59 -59 -57 -56 -56 -55 -55 -55 -57 -59 -61 -62 -64 -65 -66 -66 -67 -65 -64 -63 -63 -62 -61 -61 -61 -62 -63 -63 -63 -62 -63 -63 -64 -64 -64 -64 -62 -61 -60 -57 -55 -56 -58 -59 -59 -58 -55 -55 -55 -56 -57 -57 -56 -57 -57 -57 -57 -57 -56 -56 -54 -53 -53 -54 -55 -57 -58 -59 -60 -59 -58 -57 -56 -56 -56 -55 -56 -58 -62 -65 -67 -68 -68 -64 -58 -51 -47 -47 -47 -47 -46 -48 -51 -55 -58 -57 -57 -56 -55 -55 -55 -55 -54 -51 -49 -48 -46 -44 -42 -39 -37 -35 -35 -36 -36 -36 -35 -34 -33 -31 -29 -28 -28 -28 -27 -27 -29 -31 -33 -34 -34 -35 -36 -36 -35 -32 -30 -30 -29 -28 -29 -31 -34