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 3 6 10 14 18 24 33 47 63 71 61 21 4 0 0 0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 10 10 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 8 10 13 16 17 16 13 10 8 7 6 4 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 3 4 5 8 10 14 18 25 32 41 50 57 62 66 69 72 76 76 75 74 76 82 90 98 104 108 114 124 129 126 115 103 96 93 87 83 81 81 81 78 76 75 77 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 9 12 17 23 33 45 56 58 44 10 2 0 0 1 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 10 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 1 1 2 2 3 5 8 11 15 17 17 14 11 9 7 6 5 4 3 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 7 9 11 15 21 29 38 46 53 59 63 66 70 72 74 75 72 71 73 78 84 90 98 110 120 124 120 108 99 95 91 85 76 69 67 65 62 61 63 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 8 10 15 22 29 39 44 40 24 4 1 0 1 3 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 10 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 7 11 14 16 15 12 9 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 9 12 18 25 34 42 50 56 60 63 68 74 79 78 73 69 66 67 71 79 90 105 117 122 115 105 97 92 87 78 68 63 58 55 54 55 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 7 11 17 24 29 32 29 18 6 1 0 3 6 7 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 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 2 6 9 12 14 12 9 6 5 4 3 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 4 5 6 9 15 22 31 40 46 52 56 63 70 79 81 80 75 68 63 62 65 72 85 101 115 118 112 104 96 91 87 79 70 62 58 56 56 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 7 11 15 21 26 26 22 13 6 4 6 10 10 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 13 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 3 7 10 10 9 6 3 2 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 3 3 4 7 12 20 30 37 43 48 55 64 74 79 81 80 76 70 66 63 63 69 80 97 110 113 109 103 98 93 87 81 74 69 67 65 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 7 11 17 23 27 27 21 13 9 8 9 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 9 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 7 6 4 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 6 11 20 28 34 40 47 56 65 72 77 79 79 78 76 73 69 66 66 74 90 103 108 107 102 98 93 89 86 82 80 77 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 11 16 21 25 26 23 17 13 11 8 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 2 3 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 11 18 25 31 37 45 54 62 68 73 76 78 80 81 80 75 66 61 70 84 97 104 104 100 95 91 90 90 88 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 12 18 20 21 20 19 18 17 12 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 10 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 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 1 4 9 16 22 28 34 42 50 58 65 70 74 77 81 84 83 77 64 60 66 79 92 98 98 94 89 87 86 87 87 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 7 14 18 18 16 13 14 18 17 12 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 14 14 8 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 8 14 19 25 31 38 46 54 62 66 71 76 81 84 83 75 65 60 64 74 85 90 90 86 83 81 81 84 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 8 13 16 15 12 10 12 15 14 7 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 6 17 16 11 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 3 6 11 16 22 28 35 43 51 57 62 68 74 80 82 81 75 66 59 60 70 77 82 82 80 78 77 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 8 11 12 12 10 10 12 12 8 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 8 16 14 11 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 1 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 9 14 20 26 32 40 47 52 58 65 73 78 80 78 73 65 59 60 65 71 75 76 76 74 76 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 7 9 10 10 11 12 13 13 8 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 8 9 9 9 9 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 1 3 5 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 7 8 8 7 4 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 7 12 17 23 30 37 44 50 56 64 71 76 77 76 70 64 60 59 62 66 70 71 70 71 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 8 10 11 12 15 18 18 12 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 5 5 7 9 9 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 3 6 8 8 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 2 6 9 12 13 14 14 13 10 6 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 9 15 22 29 36 43 49 56 64 70 74 75 73 69 64 60 58 59 62 64 65 66 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 8 10 12 16 20 22 20 10 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 4 7 8 8 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 3 8 12 12 7 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 4 3 1 0 0 0 0 2 5 9 13 15 16 18 18 17 14 9 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 8 14 22 29 36 42 48 56 63 69 72 72 71 67 63 59 56 57 58 59 61 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 5 10 13 17 22 23 19 8 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 8 8 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 9 8 4 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 4 4 3 1 0 0 0 2 4 8 12 15 16 18 19 20 19 16 11 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 8 14 21 27 33 40 47 55 62 67 69 69 68 65 60 55 53 53 54 57 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 17 20 20 15 7 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 6 6 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 1 2 3 3 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 5 4 3 1 0 0 1 3 6 10 13 15 16 18 20 20 20 16 10 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 8 13 18 23 30 37 45 53 59 62 64 65 64 61 56 52 50 51 53 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 10 13 14 13 10 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 5 4 3 1 0 1 2 4 7 10 12 14 16 18 20 22 20 16 9 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 7 10 14 20 26 34 42 48 53 56 59 61 61 57 53 51 51 53 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 6 6 5 5 6 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 4 2 0 0 1 3 5 7 9 11 14 16 19 22 23 21 16 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 8 11 17 23 31 37 41 46 50 55 58 56 55 53 53 55 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 1 0 1 4 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 5 5 3 2 0 0 1 2 4 5 7 10 12 15 17 20 24 25 22 16 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 4 7 10 15 21 27 31 35 40 46 51 54 54 54 55 57 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 3 1 0 0 1 2 4 5 7 9 12 14 15 18 22 24 25 22 13 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 5 6 10 15 21 25 28 30 36 43 48 51 53 54 56 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 1 2 3 5 7 9 12 13 14 16 19 22 25 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 1 3 4 6 8 12 18 23 26 26 28 34 40 45 49 52 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 5 6 9 11 13 13 14 16 20 23 25 22 14 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 6 7 11 16 22 24 24 25 28 32 38 44 48 51 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 2 3 4 6 8 11 12 12 13 15 18 22 24 23 18 10 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 6 7 8 11 16 19 21 21 22 24 27 31 37 44 48 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 2 4 5 7 9 11 12 12 13 16 20 24 24 21 14 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 6 8 10 12 15 17 18 19 20 22 24 27 32 40 45 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 6 7 10 11 12 12 14 19 23 26 25 20 12 4 1 0 0 0 0 0 0 0 0 0 2 2 1 1 0 0 1 2 3 4 6 7 9 12 14 14 15 16 18 19 21 23 26 30 36 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 6 8 10 11 12 14 18 22 26 28 26 19 11 5 2 0 0 0 0 0 0 0 1 4 4 4 3 2 1 2 3 4 5 7 8 11 13 15 15 16 18 20 22 24 26 28 31 36 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 5 7 9 11 12 14 17 21 25 29 31 29 23 16 9 3 1 0 0 0 0 0 2 5 7 8 7 5 4 4 4 5 7 8 11 14 15 16 18 19 23 26 28 30 31 33 35 39 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 8 10 12 14 16 19 23 28 32 35 34 30 23 15 8 5 3 2 2 3 5 8 10 12 13 12 8 6 6 7 9 12 15 16 17 17 19 22 26 29 32 35 37 39 40 44 47 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 7 9 12 14 16 18 22 26 31 36 39 40 38 32 24 18 13 10 9 10 11 13 14 16 17 16 14 11 10 11 13 16 19 20 20 21 23 25 28 31 35 39 42 44 45 48 51 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 8 10 12 15 18 20 24 28 34 40 45 49 49 44 37 31 26 22 20 20 19 19 19 19 18 17 16 16 17 19 22 24 26 28 30 32 33 35 38 41 45 48 50 52 54 56 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 8 10 13 16 20 23 27 32 38 44 52 57 57 56 51 45 39 35 31 28 26 24 22 20 20 20 20 22 24 27 32 36 39 42 45 46 48 51 53 56 59 61 63 65 66 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 6 8 10 13 17 21 25 29 34 40 47 53 57 60 61 61 59 53 47 42 38 34 31 28 26 24 23 23 25 29 34 40 46 51 55 58 60 62 64 66 68 70 72 73 71 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 12 17 22 25 29 34 38 43 47 51 55 59 66 66 65 62 59 55 51 47 43 40 36 33 32 33 35 38 43 49 56 62 66 67 69 71 72 73 74 74 72 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 7 11 15 20 23 26 30 33 35 38 42 47 55 60 63 68 72 74 72 70 66 63 59 55 51 48 46 44 45 49 55 61 66 69 70 71 72 72 72 70 65 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 5 8 12 15 19 22 25 27 29 30 34 39 43 46 51 56 61 65 70 73 74 74 72 70 67 65 62 62 64 67 70 72 71 70 70 71 72 72 69 64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 6 8 11 15 19 22 25 26 27 28 31 33 35 37 40 43 48 53 58 63 67 69 70 70 70 72 74 77 78 76 75 73 72 73 74 76 76 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 6 8 11 15 20 23 24 25 26 27 27 27 28 30 32 36 40 44 46 47 50 54 57 61 64 67 68 67 64 64 65 69 75 80 85 88 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 3 6 8 11 16 20 21 22 23 24 24 24 25 27 29 31 32 33 32 33 35 36 39 42 46 48 46 44 44 48 53 60 65 73 81 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 6 7 9 12 15 17 20 21 22 23 24 25 26 26 27 27 27 26 25 27 29 30 31 29 27 28 31 36 41 45 48 52 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 4 4 5 7 10 13 16 18 20 21 21 21 21 21 21 22 22 23 23 23 23 23 22 20 20 22 26 31 32 33 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 3 4 6 9 12 14 16 16 16 16 16 16 17 18 18 19 20 20 20 19 18 18 19 22 24 26 26 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 4 6 8 10 11 11 11 12 12 13 13 14 15 16 17 18 18 18 18 18 18 18 20 20 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 2 3 4 6 7 7 8 8 9 9 10 11 12 13 14 16 17 17 16 14 13 13 14 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 3 3 4 5 5 6 7 8 9 10 10 11 11 11 10 10 9 10 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 2 3 4 5 5 6 6 7 7 7 8 8 8 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 4 5 5 6 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 3 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 24 23 21 16 11 9 12 20 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 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 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 6 6 6 6 6 7 7 8 8 9 9 9 9 9 9 9 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 12 12 12 12 12 13 13 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 25 24 22 19 14 12 13 19 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 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 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 nan nan nan nan nan nan nan nan 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 7 7 8 8 9 9 9 9 9 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 25 24 23 21 18 16 17 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 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 6 7 7 7 8 8 8 9 9 9 9 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 25 24 22 20 19 19 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 21 21 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 7 7 7 8 8 8 9 9 9 10 10 10 10 10 11 11 10 10 10 11 11 11 11 11 11 11 11 12 12 12 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 25 24 23 22 21 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 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 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 7 7 8 8 8 9 9 9 9 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 25 24 23 22 22 23 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 7 8 8 8 8 9 9 9 9 10 10 10 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 13 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 26 25 24 24 23 23 24 24 24 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 8 8 8 8 9 9 9 9 10 10 10 10 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 26 25 25 25 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 8 8 9 9 9 9 10 10 10 10 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 25 25 25 25 25 25 25 24 24 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 9 9 9 9 9 9 10 10 10 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 26 26 26 26 26 25 25 25 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 22 22 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 9 9 9 9 10 10 10 10 10 11 11 11 11 12 11 12 12 12 12 12 12 12 12 11 11 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 26 26 26 26 26 26 25 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 22 22 22 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 10 10 10 10 10 11 11 11 11 11 11 12 12 12 12 12 12 11 11 11 11 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 26 26 26 26 26 26 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 10 10 10 10 10 10 11 11 11 11 11 11 12 11 11 11 11 11 11 11 11 11 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 27 27 26 26 26 26 26 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 5 5 5 6 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 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 27 27 26 26 26 26 26 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 4 5 5 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 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 10 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 26 25 25 25 26 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 3 4 4 4 5 5 6 6 7 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 10 10 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 25 25 25 25 25 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 3 3 4 4 4 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 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 10 10 10 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 2 3 3 3 4 5 6 7 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 11 11 11 11 11 11 11 12 11 11 11 11 11 11 10 10 10 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 2 2 2 3 4 5 6 7 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 11 11 11 11 12 12 12 11 11 11 11 11 11 10 10 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 2 2 2 2 3 5 6 8 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 11 11 12 12 12 12 12 11 11 11 11 11 10 10 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 3 3 3 3 2 3 5 7 8 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 12 12 12 12 12 11 11 11 11 11 10 10 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 6 5 6 5 4 2 3 6 8 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 12 12 12 12 12 11 11 11 11 11 11 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 10 10 9 8 5 3 4 7 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 12 12 12 12 12 12 12 11 11 11 11 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 21 18 16 15 13 11 8 3 5 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 12 12 12 12 12 12 12 11 11 11 11 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 23 21 20 18 17 15 10 3 5 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 12 12 12 12 12 12 12 12 11 11 11 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 23 22 21 20 19 16 9 12 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 11 12 12 12 12 12 12 12 12 12 11 11 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 25 25 24 23 22 22 22 23 23 20 19 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 12 12 12 12 12 12 12 12 12 12 12 12 11 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 26 25 25 24 24 24 24 25 27 23 21 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 26 26 26 25 25 25 25 25 26 26 24 23 20 nan nan nan nan nan nan nan nan 13 13 13 13 nan nan nan nan nan 13 13 13 12 12 12 12 12 12 12 12 12 12 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 26 26 26 26 25 25 25 25 26 26 26 24 22 20 18 17 nan nan 14 14 14 14 14 14 14 13 13 13 13 13 13 13 13 12 12 12 12 12 12 12 12 12 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 27 27 26 26 26 26 25 25 26 26 26 27 25 24 21 19 18 17 16 16 15 15 15 15 15 14 14 14 14 14 14 13 13 13 12 12 12 12 12 12 12 12 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 27 27 26 26 26 26 26 26 26 26 27 26 26 25 23 21 20 19 18 18 17 17 17 16 16 15 15 14 14 14 14 13 13 12 12 12 12 12 12 12 12 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 27 26 26 26 26 26 26 26 26 26 26 26 26 25 23 22 21 20 19 19 18 18 17 16 16 15 15 14 14 14 13 13 12 12 12 12 12 12 12 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 27 26 26 26 26 26 26 26 26 26 26 26 26 25 24 23 21 20 20 19 19 18 17 17 16 15 15 15 14 14 13 13 12 12 12 12 12 12 12 12 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 27 26 26 26 26 26 26 26 26 26 26 26 26 25 25 24 22 21 20 19 18 17 17 16 16 16 15 15 15 14 14 13 13 12 12 12 12 13 13 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 26 26 26 26 26 26 25 25 25 25 25 25 25 25 25 25 21 17 14 15 16 16 16 16 16 16 15 15 15 14 14 13 13 12 12 13 13 13 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 26 26 26 26 25 25 25 25 25 24 24 24 23 22 21 17 8 8 10 11 13 15 16 16 16 16 16 15 14 13 12 12 12 12 12 12 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 26 26 26 25 25 25 24 24 23 23 22 22 21 19 17 15 10 3 5 7 8 8 12 15 17 16 13 11 11 10 10 10 11 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 26 26 25 25 24 24 23 23 22 21 20 19 18 16 15 15 15 13 11 6 1 5 7 3 4 5 5 6 6 7 8 9 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 25 25 24 24 23 22 22 21 19 18 17 16 15 15 16 16 16 16 15 14 10 6 5 5 5 5 5 5 5 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 24 24 23 22 22 20 19 18 17 16 16 16 16 16 16 15 14 12 9 7 6 6 7 7 7 6 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 23 23 22 21 20 19 18 17 17 17 16 16 16 16 15 13 11 9 8 8 8 9 8 8 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 22 21 20 20 19 18 18 17 17 16 16 16 15 13 12 10 10 10 10 10 9 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 18 17 17 16 16 16 15 14 13 13 12 11 11 11 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 14 nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 36 32 23 10 356 346 358 17 32 nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 3 3 3 4 4 4 4 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 143 142 142 140 138 135 131 127 124 122 120 120 119 119 117 117 116 116 116 115 114 114 113 113 112 112 113 114 115 114 112 110 110 109 110 108 107 107 106 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 38 34 28 16 5 356 1 15 29 nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 3 4 4 4 4 4 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 142 140 139 137 133 130 127 124 121 119 119 119 117 116 115 115 115 115 115 115 114 113 113 112 113 114 116 115 114 112 111 111 110 110 109 109 109 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 39 35 29 21 12 6 9 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 4 4 5 5 5 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 140 139 135 133 129 126 123 121 120 119 118 116 116 114 114 114 114 115 114 114 114 113 113 113 114 115 115 114 113 112 111 110 111 111 111 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 37 32 27 20 15 15 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 5 5 5 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 136 134 131 128 126 123 122 120 119 117 116 115 114 113 113 113 113 114 114 114 113 113 113 114 114 114 114 112 111 110 111 111 112 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 37 33 28 23 20 23 28 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 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 134 132 130 128 125 124 122 120 119 117 116 114 113 112 112 112 112 113 113 113 113 112 113 113 113 113 112 112 111 110 110 111 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 39 35 29 25 25 27 30 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 131 130 128 127 125 124 122 120 118 117 115 113 112 112 112 111 111 112 113 113 112 113 112 112 112 112 112 111 110 110 111 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 42 38 34 30 28 28 30 30 30 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 128 127 127 126 125 124 122 120 118 116 115 113 112 111 111 110 110 111 112 112 112 112 112 112 112 112 111 111 111 111 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 41 39 36 34 32 31 31 31 31 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 125 124 124 124 122 121 119 117 116 113 112 111 110 110 109 110 111 112 112 112 112 111 111 112 112 112 113 112 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 39 39 38 37 36 35 34 33 32 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 124 123 123 122 121 120 118 117 115 113 112 110 110 109 109 110 111 112 112 112 112 112 112 113 114 115 115 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 39 40 40 40 39 37 36 34 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 121 122 121 121 120 118 117 116 114 112 111 110 109 109 110 110 112 112 112 112 112 113 114 115 116 117 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 42 43 43 42 41 39 37 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 13 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 120 119 119 118 117 116 115 113 112 111 109 109 110 110 111 112 112 112 112 113 115 116 117 118 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 46 45 45 44 42 39 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 118 118 117 117 116 115 113 112 111 110 109 110 110 111 112 113 113 113 114 116 117 118 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 52 49 47 45 43 41 40 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 128 128 126 125 124 124 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 117 117 116 115 114 113 111 110 109 109 110 111 111 113 114 114 115 116 118 119 120 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 54 48 45 42 41 41 40 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 132 131 128 127 125 124 123 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 116 115 114 114 113 112 110 109 109 109 110 111 112 114 115 116 117 119 120 121 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 44 40 38 39 39 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 144 139 135 131 130 127 124 122 120 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 116 114 114 113 112 110 110 109 109 110 111 112 114 115 117 118 120 121 122 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 38 35 35 37 38 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 159 147 142 137 132 129 124 120 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 114 114 113 112 110 110 109 109 109 110 111 113 115 116 118 120 122 123 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 33 34 36 37 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 172 160 151 143 137 129 123 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 114 113 112 110 110 109 108 108 109 110 112 114 116 117 120 121 122 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 189 178 167 156 143 131 123 118 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 112 110 109 108 108 108 108 109 110 112 114 116 118 120 121 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 214 209 199 172 149 132 122 114 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 110 109 108 107 107 108 108 109 112 113 115 117 119 120 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 252 252 250 238 202 155 129 118 112 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 107 106 106 107 107 109 111 112 114 115 117 119 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 286 281 280 277 266 228 155 125 112 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 107 106 105 106 107 108 109 111 113 114 116 118 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 311 302 300 297 293 282 244 143 116 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 107 106 105 105 106 107 108 110 112 113 115 116 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 336 326 319 314 310 304 293 259 122 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 108 106 105 104 105 106 107 109 111 112 114 115 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 341 336 331 325 321 315 306 311 91 93 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 108 107 105 104 104 105 106 108 109 111 112 114 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 346 342 338 334 331 328 323 347 64 78 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 108 108 107 106 105 105 105 105 106 108 109 111 112 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 352 349 346 343 341 340 341 347 2 52 66 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 107 107 107 107 107 107 105 105 104 105 106 108 109 110 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 354 352 350 348 347 347 349 354 8 38 59 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 104 105 106 107 107 107 107 107 106 105 104 105 106 107 108 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 355 353 352 351 351 353 358 11 32 54 67 nan nan nan nan nan nan nan nan 99 99 99 99 nan nan nan nan nan 101 101 103 104 105 106 107 107 107 107 105 104 104 105 105 107 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 357 355 355 354 354 355 1 12 29 50 60 68 76 83 nan nan 93 94 95 95 95 96 96 98 99 99 99 99 99 101 102 103 104 106 107 107 106 105 104 104 104 104 104 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 0 360 359 358 357 357 355 356 358 3 13 27 40 52 62 71 78 82 85 87 88 89 90 91 93 94 95 96 96 97 97 99 100 102 104 105 106 107 106 106 105 104 104 103 103 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 0 360 359 358 357 357 360 5 13 22 32 43 54 64 70 75 78 80 82 83 84 86 88 90 92 94 95 96 97 99 101 102 104 106 107 107 107 106 104 104 103 102 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 2 1 1 360 359 358 359 1 5 11 17 26 36 47 56 63 68 72 75 77 78 81 83 85 88 90 92 94 96 97 99 101 103 105 107 108 107 107 105 104 103 102 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 360 2 4 8 13 19 29 41 51 59 64 69 72 75 77 80 83 85 87 89 91 93 94 96 98 101 103 105 107 107 106 105 104 103 102 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 2 2 2 1 1 0 0 1 2 4 7 12 21 31 42 53 60 64 70 76 80 83 84 86 87 88 89 90 92 94 96 98 101 104 105 105 104 103 102 101 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 2 2 2 2 1 0 360 360 1 2 5 9 13 18 25 39 55 68 80 88 88 88 87 86 87 87 88 89 91 93 96 100 103 104 104 103 102 101 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 3 3 3 1 360 359 358 358 357 356 356 357 358 357 351 338 293 97 94 94 94 90 88 86 86 85 86 88 94 99 103 106 107 106 104 103 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 3 3 1 360 358 356 354 352 349 348 346 343 339 333 325 318 298 259 114 88 83 92 93 88 83 88 99 107 113 116 117 116 112 108 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 2 1 359 357 355 352 349 346 343 340 336 331 325 320 316 315 312 307 298 285 357 51 42 74 132 147 151 152 150 144 133 122 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 357 354 351 348 345 341 337 332 326 320 317 315 314 315 316 315 315 313 308 287 260 234 221 221 223 220 206 176 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 354 351 348 345 341 337 331 325 321 318 316 315 314 314 314 313 309 297 281 264 254 253 256 257 254 245 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 348 345 342 337 332 327 324 321 319 318 316 315 314 311 303 292 280 271 269 271 272 270 264 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 345 341 338 334 330 327 324 322 320 318 316 314 310 304 296 289 284 283 282 280 276 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 325 322 320 318 317 314 311 308 303 298 295 292 289 286 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 318 316 314 311 307 nan nan nan 293 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan 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 -4 -4 -3 -2 -2 -1 -2 -2 -3 -4 -5 -5 -5 -5 -6 -6 -5 -4 -5 -6 -6 -5 -2 4 11 18 22 22 19 14 9 5 1 -3 -8 -14 -18 -20 -20 -20 -20 -20 -20 -20 -20 -21 -20 -19 -17 -12 -8 -6 -13 -16 -16 -15 -15 -16 -18 -19 -21 -23 -25 -25 -21 -5 13 21 11 -13 -13 -9 -8 -10 -11 -11 -10 -9 -8 -8 -9 -11 -13 -14 -13 -13 -13 -15 -16 -12 -6 -4 -5 -8 -11 -10 -6 -1 2 5 5 5 5 5 4 4 5 5 6 7 7 8 9 9 10 10 11 11 11 11 11 10 10 10 10 10 10 9 8 7 7 8 10 12 14 16 17 16 15 14 13 12 10 9 9 9 9 9 8 7 6 5 6 7 8 10 10 9 8 6 6 7 7 8 8 9 9 9 9 9 9 8 8 7 7 8 8 8 8 8 8 9 9 9 9 9 9 9 8 8 8 8 9 9 10 11 11 11 11 11 11 11 11 11 11 11 11 10 10 9 8 8 8 8 8 8 8 7 7 8 8 8 8 8 8 8 8 7 7 6 6 5 5 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 5 5 5 4 3 2 2 2 2 2 2 2 2 2 2 2 2 1 1 -0 -1 -1 -1 -1 -0 -0 -0 1 2 3 4 6 8 10 12 12 12 12 11 11 11 12 12 11 10 10 9 8 7 6 6 6 5 5 5 4 3 3 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 -0 -1 -1 -1 -2 -2 -2 -2 -1 -1 0 1 2 2 2 1 1 2 1 1 1 -0 -1 -2 -2 -1 -1 0 1 2 3 3 4 4 5 5 6 7 8 8 9 9 9 9 9 9 10 9 8 7 6 5 4 4 4 3 2 2 2 2 1 0 -1 -2 -3 -5 -6 -6 -6 -6 -6 -7 -7 -5 -4 -3 -3 -4 -6 -7 -6 -1 -1 -1 -1 -1 -1 -2 -3 -4 -5 -6 -6 -6 -6 -5 -5 -4 -2 -3 -4 -4 -2 2 8 14 20 22 20 17 12 8 3 -2 -6 -11 -15 -18 -19 -20 -20 -20 -21 -21 -21 -21 -21 -21 -21 -19 -14 -8 -1 -3 -9 -13 -14 -15 -16 -17 -19 -20 -22 -24 -26 -24 -14 2 11 7 -10 -13 -10 -10 -12 -13 -12 -10 -8 -8 -9 -11 -13 -13 -13 -12 -12 -14 -16 -16 -11 -5 -4 -7 -11 -12 -10 -4 2 5 6 5 5 5 4 4 4 4 5 6 6 7 8 9 9 10 10 11 11 11 10 9 9 9 9 10 11 11 10 9 8 8 10 12 14 16 17 16 16 14 13 12 11 10 10 10 9 9 8 7 6 6 6 7 9 10 10 10 8 7 6 7 8 8 9 9 9 9 9 9 9 8 8 7 7 7 8 8 8 8 8 9 9 10 10 11 11 11 11 11 10 9 9 9 10 10 11 12 12 12 12 12 12 12 12 12 12 12 11 11 10 10 10 9 9 9 9 8 9 9 9 9 9 9 9 9 9 8 8 7 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5 4 3 3 2 3 3 3 3 3 3 3 3 3 3 3 2 2 1 1 0 0 0 1 1 1 1 2 3 4 5 7 9 11 12 12 12 11 11 12 12 12 12 12 11 12 11 10 9 8 7 7 6 5 5 4 3 2 2 2 2 1 1 1 2 2 2 2 2 2 2 3 3 3 3 2 1 0 -0 -1 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 -0 0 0 1 1 1 1 1 1 -0 -1 -1 -1 -1 -1 -0 0 1 2 3 3 4 4 5 6 6 7 7 8 8 8 8 9 9 10 9 8 7 6 4 3 3 3 3 2 2 1 1 0 -0 -1 -2 -3 -4 -5 -6 -7 -7 -7 -7 -7 -6 -5 -5 -7 -8 -8 -7 3 2 2 1 0 -1 -2 -3 -5 -6 -6 -6 -6 -6 -5 -4 -3 -0 -1 -2 -1 1 6 12 16 19 18 16 15 12 8 2 -4 -9 -12 -15 -17 -18 -19 -20 -21 -21 -21 -20 -19 -19 -21 -22 -22 -19 -13 -3 6 5 -2 -10 -15 -17 -17 -18 -19 -21 -23 -24 -23 -17 -8 -1 -3 -12 -14 -12 -13 -15 -16 -14 -11 -9 -8 -9 -11 -13 -14 -13 -12 -13 -15 -15 -14 -10 -6 -5 -9 -12 -11 -8 -2 4 6 6 5 5 4 4 4 4 4 5 5 6 7 7 8 9 9 10 10 9 9 8 8 8 8 9 10 11 11 10 9 9 9 11 13 15 15 16 15 14 13 12 12 11 11 10 10 9 8 7 6 6 7 8 9 11 11 10 8 7 7 7 8 8 9 9 9 9 9 9 9 9 8 7 7 8 8 8 9 9 9 9 9 10 11 12 12 13 13 13 13 12 10 10 9 10 10 11 12 12 13 13 13 13 13 13 13 13 12 12 12 12 11 11 10 10 10 9 9 10 10 10 10 10 9 9 9 8 8 7 7 6 6 6 6 6 6 6 6 6 6 7 7 6 6 6 6 6 6 6 6 5 5 4 3 3 3 4 4 5 5 5 4 4 4 4 4 4 3 3 3 2 1 1 2 2 3 3 3 2 3 3 5 6 8 10 10 11 11 11 11 12 12 12 12 12 12 12 13 12 11 10 9 9 8 7 6 5 4 3 3 2 2 2 2 2 2 2 2 2 2 2 3 3 4 5 5 5 4 2 1 -1 -2 -2 -3 -3 -3 -4 -4 -5 -5 -5 -5 -5 -4 -4 -3 -2 -1 -1 -0 0 1 1 1 1 1 0 -0 -1 -1 -1 -0 0 1 1 2 2 3 3 4 5 5 6 7 7 7 8 8 9 9 9 9 8 6 5 4 3 3 3 3 2 1 1 0 -0 -1 -2 -2 -3 -4 -5 -6 -7 -7 -7 -7 -6 -6 -7 -8 -9 -8 -5 4 3 2 1 1 -0 -1 -3 -4 -5 -6 -6 -6 -6 -6 -5 -2 0 0 -1 -0 2 7 12 15 15 13 12 13 13 9 2 -5 -10 -12 -14 -16 -17 -18 -19 -21 -20 -18 -16 -14 -15 -19 -22 -24 -23 -18 -8 5 13 13 2 -12 -19 -18 -17 -18 -20 -22 -23 -22 -19 -15 -12 -12 -16 -17 -15 -16 -18 -18 -17 -13 -9 -8 -8 -10 -12 -12 -11 -12 -14 -15 -14 -11 -9 -6 -6 -9 -11 -10 -6 -0 4 6 5 5 5 4 4 4 4 4 5 5 6 6 6 7 8 8 8 8 7 6 6 7 8 9 10 10 10 9 9 8 9 10 12 13 14 14 14 14 13 13 12 12 11 11 10 9 8 7 6 7 8 9 10 11 11 10 8 7 7 8 8 9 9 9 10 10 10 10 9 9 9 8 8 8 8 9 9 9 9 9 10 10 11 12 13 14 14 15 14 13 12 10 10 9 10 10 11 11 12 13 13 14 14 14 14 14 14 14 13 13 13 12 12 11 11 11 11 11 11 10 10 10 10 10 9 8 8 7 7 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 6 6 5 5 5 6 6 6 6 5 5 5 4 4 4 4 4 4 4 3 2 2 2 3 4 5 5 4 4 4 4 6 7 8 9 9 10 10 11 11 12 12 12 12 12 12 13 13 13 12 11 10 9 8 7 6 5 4 4 3 3 2 2 2 2 3 2 2 2 2 3 3 4 5 5 6 6 5 5 3 1 -1 -3 -4 -4 -4 -5 -5 -6 -6 -7 -7 -7 -7 -6 -6 -5 -4 -3 -2 -1 -1 -0 0 1 1 1 1 0 -0 -0 -0 -0 0 0 1 1 1 2 3 3 4 5 6 7 7 8 8 8 8 9 8 8 7 6 4 4 3 3 3 3 2 1 0 -0 -1 -1 -2 -2 -3 -4 -5 -6 -6 -6 -5 -6 -6 -7 -8 -8 -6 -3 4 2 1 0 -1 -1 -2 -3 -4 -5 -5 -5 -6 -6 -6 -5 -2 0 0 -1 -0 2 5 9 11 11 9 9 10 11 8 1 -6 -11 -13 -14 -16 -17 -19 -20 -20 -18 -12 -6 -5 -10 -17 -21 -23 -24 -20 -10 7 16 20 13 -3 -20 -20 -18 -18 -19 -20 -21 -22 -22 -21 -19 -18 -19 -20 -19 -18 -18 -18 -16 -12 -9 -8 -9 -10 -11 -10 -10 -11 -14 -15 -13 -8 -6 -6 -7 -9 -10 -8 -3 1 4 5 5 5 4 4 4 4 4 4 4 5 5 5 6 6 7 6 6 5 4 4 6 7 9 10 9 9 8 7 7 7 8 10 12 13 14 14 13 13 12 12 12 11 11 10 9 8 7 6 7 8 10 11 11 11 9 8 7 8 8 9 9 9 9 9 10 10 10 10 10 10 9 9 9 9 9 10 10 10 10 10 11 11 12 13 14 14 15 14 14 12 11 10 9 9 9 9 10 10 11 12 13 13 14 14 14 14 14 14 14 14 14 14 13 13 13 13 12 12 12 11 11 11 11 10 9 9 8 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 7 8 8 8 8 7 6 5 4 4 4 4 4 4 4 4 4 3 2 2 3 5 6 6 6 5 5 5 5 5 6 7 7 8 10 10 11 12 12 12 12 12 12 13 13 14 13 12 11 11 10 9 8 7 6 5 5 4 3 3 3 3 3 3 3 2 2 3 3 4 5 5 6 6 6 6 6 6 5 3 0 -1 -3 -4 -5 -5 -6 -7 -8 -8 -8 -8 -8 -7 -7 -6 -5 -4 -3 -2 -2 -1 -0 0 1 1 1 1 1 0 0 0 0 0 0 0 1 1 2 3 4 5 6 7 7 8 8 8 8 8 8 7 6 5 5 4 4 4 3 3 2 1 1 -0 -1 -1 -2 -2 -2 -3 -4 -4 -4 -4 -4 -5 -6 -6 -5 -3 1 3 1 -0 -1 -2 -3 -4 -5 -5 -5 -6 -6 -6 -7 -7 -6 -3 -1 0 -1 -1 0 1 4 6 6 6 6 7 7 4 -1 -7 -12 -14 -16 -17 -19 -20 -21 -21 -16 -5 3 4 -4 -14 -18 -20 -19 -13 -1 12 17 18 13 1 -15 -21 -20 -18 -18 -18 -19 -21 -22 -23 -23 -22 -21 -21 -19 -18 -17 -16 -14 -10 -8 -8 -9 -10 -10 -9 -9 -11 -14 -15 -13 -9 -7 -7 -8 -9 -10 -7 -2 1 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 4 3 3 3 5 8 9 10 9 8 7 7 6 6 7 9 12 14 15 15 14 13 12 11 11 11 10 9 8 7 7 7 7 9 10 11 11 10 9 7 7 8 9 9 9 9 9 9 9 10 10 10 11 10 10 10 9 10 10 10 11 11 11 11 11 12 12 13 13 13 14 13 13 12 11 10 10 9 9 9 8 9 9 10 11 12 13 14 14 15 15 15 15 15 15 15 15 15 15 14 14 14 14 13 13 12 12 12 11 11 10 9 9 9 8 8 9 9 9 9 9 9 10 10 9 9 9 9 8 8 8 8 9 9 9 9 9 10 10 10 9 8 7 6 5 4 4 4 4 4 4 4 4 3 3 2 2 4 6 7 7 6 5 5 5 5 5 5 5 7 9 10 11 12 12 12 12 12 12 13 13 13 13 13 12 12 11 11 10 9 8 7 6 5 4 4 3 3 4 4 3 3 3 3 3 4 5 5 6 6 6 6 6 7 7 6 6 6 4 2 -0 -1 -2 -4 -6 -7 -8 -9 -9 -9 -8 -8 -7 -6 -6 -5 -4 -3 -2 -2 -1 -0 0 0 1 1 1 1 1 1 1 0 0 0 0 1 1 2 4 5 6 7 8 7 7 7 7 7 7 7 6 6 5 5 4 4 3 3 2 1 1 0 -1 -1 -1 -1 -1 -2 -2 -2 -3 -3 -3 -3 -3 -2 0 3 1 -1 -2 -3 -4 -5 -6 -6 -7 -7 -7 -8 -7 -7 -7 -6 -3 -2 -2 -2 -3 -2 -2 -1 1 2 3 4 4 3 0 -4 -9 -13 -16 -18 -19 -21 -22 -22 -22 -17 -4 4 4 -3 -11 -14 -14 -9 -1 8 12 8 5 2 -2 -8 -15 -19 -19 -18 -17 -17 -19 -21 -22 -22 -22 -20 -20 -19 -17 -16 -14 -12 -8 -7 -8 -10 -10 -9 -8 -9 -11 -13 -14 -12 -10 -9 -8 -8 -7 -10 -8 -3 0 2 2 3 4 4 5 5 4 4 3 3 3 3 4 4 4 3 2 2 3 5 8 10 10 10 9 8 7 6 5 6 7 11 14 15 15 14 13 11 10 9 9 8 8 7 7 7 7 8 9 10 11 10 9 8 7 7 8 9 10 9 9 8 8 8 9 9 10 11 11 11 10 10 10 11 11 11 11 11 11 12 12 12 12 12 12 12 12 11 11 10 10 10 9 9 8 8 8 8 9 10 11 11 12 13 14 15 15 15 15 15 16 16 16 16 16 16 15 15 15 15 14 14 13 13 12 12 12 11 11 11 10 10 10 10 10 10 10 10 10 11 10 10 10 9 9 9 9 9 9 10 10 10 11 11 11 10 9 8 7 7 6 6 5 5 5 5 4 4 4 3 3 2 3 5 6 7 7 6 5 5 5 5 5 5 6 7 9 11 11 12 12 12 12 12 13 13 13 13 13 13 12 12 12 11 11 10 9 8 7 6 5 4 4 4 4 4 4 3 3 3 4 5 5 6 6 6 6 7 7 7 7 7 7 7 6 6 5 4 2 1 -2 -5 -8 -9 -9 -9 -9 -8 -8 -7 -7 -6 -5 -4 -4 -3 -2 -2 -1 -0 0 1 1 1 2 2 2 1 1 1 0 0 1 1 2 3 5 6 7 7 7 7 7 7 7 7 7 7 6 6 5 5 4 4 3 2 2 1 1 0 0 1 1 0 -0 -1 -1 -1 -1 -1 -1 -0 1 4 -1 -3 -4 -5 -6 -7 -8 -8 -9 -9 -9 -10 -10 -9 -8 -6 -3 -3 -3 -4 -5 -5 -5 -4 -2 -1 1 3 4 2 -1 -6 -11 -15 -17 -19 -21 -21 -22 -22 -23 -19 -10 -3 -1 -4 -8 -8 -6 -0 7 12 10 1 -5 -9 -9 -7 -5 -12 -17 -19 -18 -17 -18 -19 -20 -20 -20 -19 -18 -18 -18 -16 -14 -11 -9 -9 -10 -10 -10 -8 -8 -10 -11 -12 -11 -11 -11 -11 -9 -7 -7 -10 -7 -3 -0 1 2 3 4 5 5 5 4 3 3 3 3 3 4 4 3 2 2 3 5 8 10 11 10 9 8 7 6 5 5 6 9 13 15 15 14 12 10 9 8 7 6 6 6 6 7 7 8 9 9 9 9 8 7 6 6 8 10 10 9 8 7 7 7 8 9 9 10 10 10 11 11 11 11 11 11 11 11 12 12 12 12 12 12 11 11 10 10 9 9 9 9 9 9 8 8 7 7 8 8 9 10 11 12 13 13 14 15 15 15 15 16 16 16 16 16 16 16 16 16 16 15 15 15 14 14 13 13 13 12 12 11 11 10 10 10 10 10 11 11 11 11 11 10 10 10 10 10 10 10 11 11 11 11 11 11 10 10 9 9 8 8 7 7 6 5 5 4 4 4 3 3 3 4 6 7 7 6 6 5 5 5 5 5 6 6 8 9 10 11 12 12 12 13 13 13 13 13 13 13 13 13 12 12 12 12 11 10 9 7 6 5 5 5 5 5 4 4 4 4 4 5 6 6 6 7 7 7 8 8 8 8 8 8 8 8 7 7 7 6 5 3 -1 -6 -8 -9 -9 -9 -8 -8 -8 -7 -7 -6 -5 -5 -4 -3 -3 -2 -1 -1 -0 0 1 1 2 2 2 2 1 1 1 1 1 1 2 3 5 6 7 7 7 7 7 7 8 8 8 7 7 6 6 5 4 4 3 3 2 2 1 1 2 2 2 1 0 -0 -1 -1 -1 -1 -0 1 3 -3 -5 -6 -6 -7 -8 -9 -10 -10 -11 -11 -11 -11 -10 -9 -6 -4 -3 -4 -4 -5 -6 -6 -6 -4 -1 2 4 5 2 -3 -8 -13 -16 -19 -20 -21 -21 -22 -22 -22 -21 -15 -9 -5 -4 -4 -3 -1 4 10 13 8 -3 -11 -16 -16 -13 -6 -4 -9 -17 -21 -19 -17 -18 -19 -19 -18 -17 -17 -18 -18 -17 -15 -13 -11 -11 -11 -10 -9 -8 -9 -11 -11 -10 -9 -10 -12 -11 -10 -8 -8 -9 -6 -2 -0 1 1 3 4 5 5 5 4 3 3 3 4 4 4 4 3 3 3 5 7 9 11 10 10 9 8 6 5 4 5 8 11 14 14 13 11 9 8 7 6 5 4 4 5 6 7 8 8 8 8 8 7 6 6 6 8 9 10 8 7 6 6 6 7 8 9 10 10 10 10 11 11 11 11 11 11 11 11 12 12 12 12 11 11 10 9 8 8 8 8 8 8 8 8 7 6 6 7 7 7 8 9 10 11 12 13 13 14 15 15 15 16 16 16 16 17 16 16 16 16 16 16 15 15 15 15 14 14 14 13 13 12 12 11 11 10 10 10 11 11 11 11 11 11 10 10 10 11 11 11 11 12 12 11 11 11 10 10 10 10 10 9 9 8 7 6 5 5 4 4 4 4 4 5 6 6 7 6 6 6 6 6 6 6 7 7 8 9 10 11 12 12 13 13 13 13 14 14 13 13 13 13 13 13 13 12 12 11 9 8 6 6 5 5 5 5 5 4 4 5 5 6 6 7 7 7 8 8 9 9 10 10 9 9 9 9 9 9 8 8 7 6 2 -5 -7 -8 -9 -9 -9 -9 -9 -8 -8 -7 -7 -6 -5 -5 -4 -3 -2 -2 -1 -1 -0 1 1 1 2 2 2 1 1 1 1 1 1 2 3 4 5 6 6 7 7 8 8 8 8 8 8 7 7 6 5 5 4 3 3 2 2 2 2 3 2 2 1 0 -1 -1 -1 -1 -1 0 1 -4 -5 -6 -7 -7 -8 -9 -9 -11 -11 -12 -12 -11 -10 -9 -8 -6 -4 -4 -4 -5 -6 -8 -8 -5 -1 2 4 3 0 -6 -11 -15 -18 -20 -21 -21 -21 -21 -21 -21 -20 -17 -12 -6 -2 1 -1 -0 3 8 10 5 -6 -14 -19 -21 -20 -15 -5 1 -8 -20 -22 -18 -18 -18 -18 -17 -16 -15 -16 -16 -16 -16 -15 -14 -13 -12 -10 -8 -8 -10 -10 -10 -9 -9 -10 -11 -11 -10 -10 -10 -9 -3 -1 0 1 1 2 4 5 5 4 3 3 3 4 5 5 5 5 4 4 5 6 8 9 10 9 9 8 7 5 3 4 6 9 11 12 12 10 9 7 6 5 4 3 4 5 6 7 8 8 8 7 6 6 6 5 6 7 9 9 8 6 5 5 5 6 8 9 10 10 9 9 10 11 11 11 11 11 11 11 11 11 11 11 11 10 10 9 8 7 7 7 7 7 7 7 6 5 5 5 6 6 6 7 8 9 10 11 12 13 13 14 15 15 16 16 17 17 17 17 17 16 16 16 16 16 15 15 15 15 15 15 14 14 13 13 12 12 12 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 11 11 11 11 12 12 11 11 11 10 9 8 7 6 6 6 5 5 5 5 5 6 7 7 7 7 7 7 7 7 7 7 7 7 8 9 11 12 12 13 13 13 14 14 14 14 14 14 14 13 13 13 13 12 11 10 8 7 6 6 6 6 5 5 5 5 6 7 7 8 8 8 9 9 10 10 11 11 11 11 10 10 10 10 10 9 9 8 7 4 -3 -6 -8 -9 -10 -11 -11 -11 -10 -10 -9 -8 -7 -7 -6 -5 -4 -4 -3 -2 -2 -1 -1 -0 0 1 1 1 2 2 2 2 2 2 1 2 3 4 5 6 6 7 7 8 8 8 8 8 8 7 7 6 5 5 4 3 3 3 3 3 2 2 2 1 0 -1 -1 -1 -1 -1 -0 -0 -4 -5 -6 -6 -7 -8 -9 -10 -11 -12 -13 -13 -11 -10 -9 -8 -7 -6 -6 -5 -6 -8 -9 -9 -5 -2 1 2 1 -3 -9 -14 -17 -19 -20 -20 -20 -21 -21 -21 -20 -17 -14 -11 -5 1 5 1 -2 -1 2 3 -1 -9 -16 -20 -21 -21 -20 -11 0 -1 -14 -26 -20 -18 -18 -18 -17 -16 -14 -13 -13 -14 -15 -16 -15 -13 -11 -9 -9 -10 -11 -11 -9 -9 -10 -10 -10 -10 -10 -11 -10 -8 -2 -1 -0 -0 1 2 4 5 5 4 3 3 4 5 6 6 6 6 5 5 5 6 7 8 8 8 8 7 5 3 3 4 6 8 10 10 9 8 7 6 5 4 3 4 5 7 8 8 8 7 6 6 6 6 6 6 7 8 8 7 6 5 5 5 6 8 9 10 10 9 9 9 10 11 11 11 11 11 11 11 10 9 9 9 10 9 9 8 7 7 7 7 7 6 6 5 4 4 4 4 4 5 5 6 7 7 9 10 11 12 13 14 15 15 16 17 17 17 18 18 17 17 17 16 16 16 16 16 16 16 16 15 15 15 14 14 14 13 13 13 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 12 12 11 11 10 9 9 8 8 7 7 6 6 5 6 6 7 7 7 7 7 7 7 7 7 7 7 7 8 9 11 12 12 13 13 14 14 14 14 15 15 14 14 14 13 13 13 13 12 11 9 8 7 7 7 6 6 5 5 6 7 8 9 9 10 10 10 10 11 11 12 12 12 12 12 11 11 11 10 10 9 9 8 6 1 -3 -5 -7 -10 -12 -12 -12 -12 -12 -11 -10 -9 -8 -7 -7 -6 -5 -5 -4 -4 -3 -3 -2 -1 -1 0 1 1 2 2 3 3 3 2 1 2 3 4 5 5 6 7 8 8 8 9 9 8 8 7 6 5 5 4 4 3 3 3 3 2 2 2 1 -0 -1 -1 -1 -1 -1 -1 -1 -6 -7 -7 -8 -9 -10 -10 -11 -12 -13 -14 -14 -13 -11 -10 -9 -8 -7 -6 -6 -7 -9 -10 -8 -5 -2 -0 -1 -3 -7 -13 -17 -19 -20 -19 -19 -19 -20 -21 -21 -19 -15 -11 -7 -3 1 5 3 -1 -4 -5 -7 -10 -13 -17 -20 -21 -21 -19 -15 -12 -11 -17 -25 -23 -19 -17 -17 -17 -15 -13 -11 -11 -12 -14 -15 -15 -12 -10 -9 -11 -13 -13 -11 -10 -10 -10 -9 -9 -10 -11 -10 -7 -6 -2 -2 -1 -1 1 3 4 4 4 3 3 4 5 6 6 6 6 6 6 5 5 5 5 5 6 7 7 6 5 3 3 4 5 6 7 8 8 7 7 6 5 4 4 5 7 9 9 8 7 6 6 6 6 7 7 7 8 8 7 6 5 5 5 6 8 10 10 10 9 9 9 9 10 11 11 11 11 11 10 9 9 8 8 8 8 8 8 7 7 7 7 7 6 6 5 4 3 3 3 3 3 3 4 5 6 6 7 9 10 11 12 13 14 15 16 17 18 18 18 18 18 18 18 17 17 17 17 17 17 17 17 17 16 16 16 16 15 15 14 14 14 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 13 13 12 12 11 11 10 10 9 9 8 7 7 6 7 7 8 8 8 8 8 7 7 7 7 7 7 8 9 10 11 12 12 13 14 14 15 15 15 15 15 15 14 14 14 14 14 13 13 12 10 9 8 7 7 7 6 6 6 6 7 9 9 10 11 11 11 11 12 12 13 13 13 13 12 12 12 11 11 10 10 9 8 8 7 7 5 2 -3 -10 -13 -13 -13 -13 -12 -12 -11 -10 -9 -8 -8 -7 -7 -7 -6 -6 -5 -4 -3 -3 -2 -1 0 1 2 2 3 3 3 2 2 2 3 4 5 5 6 7 8 8 8 8 8 8 7 6 6 5 5 4 4 3 3 2 2 1 1 0 -1 -1 -2 -2 -2 -1 -1 -2 -8 -8 -8 -9 -10 -11 -12 -12 -13 -13 -14 -14 -14 -12 -12 -12 -11 -9 -7 -7 -7 -8 -9 -6 -3 -2 -2 -3 -6 -11 -16 -19 -20 -19 -18 -18 -18 -19 -21 -22 -21 -16 -10 -6 -3 -1 0 1 1 -2 -8 -14 -17 -18 -19 -20 -20 -20 -19 -18 -19 -20 -21 -22 -23 -21 -18 -17 -16 -14 -12 -10 -10 -11 -13 -14 -13 -11 -10 -11 -13 -13 -12 -11 -11 -11 -10 -9 -9 -11 -11 -9 -6 -6 -3 -2 -2 0 2 4 4 4 3 3 4 4 5 6 6 6 6 6 6 5 5 4 4 4 5 6 6 6 5 5 4 4 4 5 6 8 8 8 7 6 5 5 6 7 9 9 8 7 6 6 6 7 8 8 8 8 8 7 6 5 5 5 6 7 10 11 11 10 9 9 9 10 10 11 11 11 10 9 9 8 7 7 7 8 7 7 7 7 7 7 7 7 6 6 5 4 3 3 2 2 2 3 3 4 5 5 6 7 8 10 11 13 14 15 16 17 18 18 18 19 19 19 18 18 18 18 18 18 18 18 18 18 17 17 17 16 16 16 16 15 15 15 14 14 14 14 14 14 13 13 13 13 13 14 14 14 15 15 15 15 15 15 14 14 14 14 13 13 12 11 11 10 9 9 8 8 8 8 8 8 8 8 8 8 7 7 7 7 8 9 10 10 11 12 13 13 14 15 15 15 16 16 16 15 15 14 14 14 14 14 13 12 11 10 9 8 7 7 6 6 6 6 7 8 9 10 10 11 11 12 12 12 13 13 13 13 13 13 12 12 11 11 10 10 9 9 9 10 10 11 11 -2 -9 -13 -13 -13 -13 -12 -11 -10 -9 -9 -9 -9 -9 -9 -9 -8 -7 -7 -6 -5 -4 -3 -2 -0 1 2 2 3 3 3 2 2 2 3 4 4 5 6 7 8 8 8 8 7 7 6 6 5 5 4 4 3 3 2 1 1 -0 -1 -1 -2 -2 -2 -2 -2 -2 -2 -11 -10 -10 -10 -11 -11 -12 -13 -13 -14 -14 -14 -13 -13 -13 -14 -14 -12 -10 -8 -8 -8 -7 -5 -3 -2 -2 -4 -8 -13 -17 -19 -20 -19 -17 -17 -18 -20 -22 -23 -23 -19 -13 -7 -4 -3 -3 -2 0 1 -1 -8 -19 -21 -21 -20 -20 -20 -20 -21 -23 -23 -23 -22 -23 -23 -20 -18 -16 -14 -11 -9 -10 -11 -13 -14 -13 -12 -11 -12 -13 -12 -11 -11 -11 -10 -9 -9 -10 -11 -9 -7 -6 -8 -4 -2 -1 1 3 3 3 2 2 3 4 5 5 5 5 5 5 5 5 5 5 4 3 3 4 5 6 6 6 6 6 5 6 7 8 9 9 8 7 6 5 5 7 8 9 8 7 6 6 7 8 10 10 10 9 8 8 7 6 5 5 5 7 9 11 11 10 9 9 9 9 10 10 10 10 9 8 8 7 7 6 6 7 7 7 6 6 6 7 7 7 7 7 6 5 4 3 3 2 2 2 2 3 3 4 5 5 6 7 9 10 12 13 14 15 16 17 18 18 19 19 19 19 19 19 18 18 19 19 19 18 18 18 18 17 17 17 17 17 16 16 16 16 15 15 15 15 14 14 14 14 14 14 15 15 15 15 15 15 15 15 15 15 15 15 15 15 14 13 13 12 12 11 10 10 9 9 9 9 9 9 9 8 8 8 7 7 8 9 10 10 11 12 12 13 14 14 15 16 16 16 16 16 16 15 15 14 14 14 14 14 13 12 10 9 8 7 7 6 6 6 6 7 8 9 9 10 10 11 12 12 13 13 13 14 14 13 13 13 12 12 12 12 11 11 11 11 11 12 12 11 8 -1 -8 -11 -12 -12 -11 -10 -10 -9 -9 -9 -10 -10 -10 -10 -10 -10 -9 -8 -7 -6 -5 -4 -2 -1 0 2 2 3 3 3 2 2 2 3 3 4 5 6 7 7 7 7 7 6 6 6 5 4 4 3 3 2 1 0 -0 -1 -1 -2 -2 -2 -3 -3 -2 -2 -3 -16 -14 -13 -12 -12 -12 -13 -13 -14 -14 -13 -13 -13 -13 -14 -15 -15 -14 -12 -11 -10 -8 -7 -5 -3 -2 -3 -6 -10 -15 -18 -19 -19 -18 -17 -17 -19 -21 -22 -23 -24 -23 -19 -12 -8 -6 -5 -3 -1 1 2 -2 -13 -21 -22 -21 -20 -20 -21 -22 -23 -24 -24 -24 -25 -24 -21 -19 -17 -15 -12 -10 -10 -11 -13 -15 -15 -14 -13 -13 -12 -11 -11 -11 -11 -10 -9 -10 -11 -12 -9 -8 -8 -9 -3 -1 0 1 2 2 2 2 2 3 4 5 5 5 4 4 4 5 5 5 5 5 4 4 4 4 5 6 7 7 8 8 9 10 11 10 9 7 6 5 5 6 7 8 8 7 5 6 7 8 10 10 10 9 9 8 8 7 6 5 5 6 8 10 11 11 10 9 9 10 10 10 10 10 9 8 7 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 6 5 5 4 3 3 3 2 2 2 3 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 18 19 19 19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 17 17 17 17 17 16 16 16 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 15 15 14 14 13 13 12 11 11 10 10 10 9 9 9 9 9 9 8 8 8 9 10 11 12 13 13 13 14 15 16 16 16 16 17 17 17 16 15 15 14 14 14 14 13 12 11 10 9 8 7 6 6 6 6 7 8 8 9 9 10 11 12 12 13 13 14 14 14 14 14 14 14 13 13 13 13 13 13 13 13 13 13 12 10 7 2 -3 -6 -6 -6 -6 -7 -7 -8 -9 -9 -10 -11 -11 -11 -11 -11 -10 -9 -9 -8 -6 -5 -3 -2 0 1 3 3 3 2 2 2 2 3 3 4 5 6 6 6 6 6 6 5 5 5 4 3 2 2 1 0 -1 -1 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -21 -18 -16 -15 -14 -14 -14 -14 -14 -14 -13 -12 -12 -13 -14 -15 -15 -15 -14 -13 -11 -10 -8 -7 -5 -4 -5 -8 -13 -17 -19 -20 -19 -18 -18 -19 -20 -21 -23 -24 -24 -24 -23 -18 -12 -7 -6 -5 -4 -3 -2 -4 -11 -19 -21 -21 -21 -21 -21 -21 -22 -23 -24 -25 -25 -24 -21 -19 -18 -16 -14 -12 -11 -12 -13 -15 -16 -16 -14 -13 -11 -11 -12 -12 -11 -10 -10 -11 -12 -12 -11 -9 -9 -9 -3 -1 0 1 1 1 0 1 2 3 4 5 4 4 4 4 4 4 4 5 5 5 5 4 4 4 4 5 6 8 9 11 12 12 12 10 8 7 5 5 5 6 7 7 6 5 5 6 7 8 9 9 8 8 8 9 8 7 6 6 6 7 9 11 11 10 9 9 10 10 10 10 9 8 7 6 5 5 5 5 6 6 6 6 5 5 6 6 6 7 7 7 7 6 6 5 5 4 4 3 3 3 3 3 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 18 19 19 19 19 19 19 20 20 20 20 20 19 19 19 19 19 18 18 18 18 18 17 17 17 16 16 16 16 16 16 16 16 16 16 16 16 17 17 17 17 17 17 17 17 17 17 17 16 16 16 15 14 14 13 12 12 11 11 10 10 10 10 10 10 9 9 9 10 11 12 13 13 14 14 14 15 16 16 16 17 17 17 17 17 16 15 15 15 15 14 14 13 12 10 9 8 8 7 7 7 7 7 8 8 9 9 10 11 12 12 13 14 14 14 15 15 15 15 15 15 15 15 14 14 14 14 14 14 14 14 13 12 10 8 7 6 5 3 0 -2 -4 -6 -8 -9 -10 -11 -11 -11 -11 -11 -11 -10 -10 -9 -8 -6 -4 -2 -0 1 2 3 2 2 2 2 2 2 2 3 4 5 5 5 5 5 5 4 4 3 2 2 1 -0 -1 -2 -2 -2 -3 -3 -3 -3 -4 -4 -4 -4 -4 -22 -19 -17 -16 -16 -16 -16 -16 -16 -15 -13 -13 -13 -13 -14 -14 -15 -15 -15 -14 -12 -11 -10 -9 -7 -6 -7 -11 -16 -20 -21 -21 -20 -19 -19 -20 -21 -22 -23 -24 -24 -24 -24 -22 -17 -10 -7 -6 -7 -7 -8 -9 -12 -17 -20 -21 -21 -21 -20 -20 -21 -22 -23 -24 -25 -23 -21 -19 -18 -17 -16 -14 -13 -12 -12 -14 -15 -15 -13 -12 -11 -11 -12 -12 -11 -11 -11 -12 -12 -12 -12 -10 -9 -8 -3 -1 -1 -1 -1 -1 -0 1 2 3 4 4 4 4 3 4 4 4 4 5 5 6 6 5 4 4 4 4 6 7 10 11 12 12 11 9 8 6 5 5 6 7 7 6 5 4 5 6 7 7 6 6 6 7 8 8 8 6 6 6 7 9 10 11 11 10 9 10 10 10 10 10 8 7 6 5 5 5 5 6 6 6 6 5 5 5 6 6 6 6 6 7 7 6 6 6 6 5 4 4 3 3 3 3 4 5 5 6 7 8 9 10 11 11 12 13 14 15 16 17 17 18 18 19 19 19 19 20 20 20 20 20 20 20 20 20 19 19 19 18 18 18 18 18 18 17 17 17 16 16 16 16 16 16 16 16 17 17 17 18 18 18 18 18 18 18 18 18 18 17 17 16 16 15 15 14 13 13 12 12 11 11 11 11 11 10 10 10 10 11 12 14 14 14 14 14 15 16 17 17 17 17 18 18 18 17 16 15 15 15 15 14 14 13 11 10 9 8 8 8 8 8 8 8 8 9 9 10 11 12 12 13 13 14 14 15 15 15 15 16 16 16 16 15 15 15 15 15 16 16 16 16 15 15 14 13 13 13 13 11 8 3 -1 -4 -7 -9 -10 -11 -11 -11 -11 -11 -11 -11 -11 -10 -9 -7 -5 -3 -1 1 2 2 2 2 2 2 1 1 2 3 4 4 5 4 4 4 4 3 2 2 1 -0 -1 -2 -2 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -21 -18 -17 -16 -16 -16 -17 -18 -18 -17 -16 -15 -14 -13 -13 -14 -15 -16 -16 -15 -13 -12 -11 -11 -8 -8 -10 -14 -19 -22 -23 -22 -20 -19 -19 -20 -22 -23 -23 -23 -23 -23 -24 -23 -20 -15 -10 -9 -10 -12 -13 -14 -16 -18 -19 -20 -21 -20 -20 -19 -20 -21 -22 -23 -23 -22 -21 -19 -18 -16 -15 -14 -13 -12 -11 -12 -13 -13 -12 -11 -11 -12 -12 -12 -12 -12 -13 -12 -12 -13 -13 -12 -10 -8 -3 -2 -2 -2 -2 -1 -0 1 2 3 3 4 4 4 4 4 4 4 4 5 5 6 6 5 5 4 3 4 5 7 9 10 11 11 10 8 7 6 5 6 7 7 6 5 4 4 5 6 6 5 4 4 6 7 8 8 7 6 6 7 8 9 10 11 10 10 9 10 10 10 9 9 7 6 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 4 4 4 4 4 4 5 6 7 8 9 9 10 11 11 12 12 13 14 14 15 16 16 17 17 18 18 19 19 20 20 20 20 21 20 20 20 20 19 19 19 19 19 19 18 18 18 18 17 17 17 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 19 19 18 18 18 18 17 17 16 16 15 15 14 14 13 13 12 12 12 11 11 10 11 11 13 14 14 14 14 15 16 17 17 17 17 17 18 19 19 18 17 16 16 16 16 15 15 14 13 11 10 9 9 8 8 8 8 9 9 9 10 10 11 12 12 12 13 13 14 14 15 15 15 16 16 16 16 15 15 15 15 16 17 17 18 18 18 18 17 17 16 16 16 16 15 12 7 1 -4 -7 -9 -10 -10 -10 -10 -11 -11 -12 -12 -12 -11 -9 -7 -5 -3 -1 0 1 1 2 2 2 2 1 1 1 2 3 4 4 3 3 3 2 2 1 0 -1 -1 -2 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -22 -20 -18 -16 -16 -16 -16 -18 -18 -18 -17 -17 -16 -15 -14 -14 -15 -16 -16 -16 -14 -13 -12 -11 -9 -10 -13 -17 -21 -24 -23 -22 -20 -19 -20 -21 -22 -23 -23 -23 -23 -23 -23 -23 -22 -19 -16 -13 -13 -14 -16 -18 -19 -20 -20 -21 -20 -20 -19 -19 -19 -20 -21 -21 -22 -22 -22 -20 -18 -16 -14 -13 -12 -12 -12 -12 -13 -12 -11 -11 -11 -12 -11 -11 -12 -12 -13 -12 -12 -13 -14 -13 -10 -7 -4 -3 -3 -2 -2 -1 -0 1 2 2 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 4 4 4 5 6 7 8 8 8 8 7 7 6 7 7 7 6 5 4 4 5 6 5 4 3 3 5 6 7 7 6 6 5 6 7 8 10 10 10 10 9 9 9 9 9 8 7 6 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 5 4 4 4 4 5 6 6 7 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 17 17 18 19 19 20 20 20 21 21 20 20 20 20 19 19 19 19 19 19 19 18 18 18 18 18 18 18 17 17 17 17 17 18 18 18 18 18 19 19 19 19 19 19 19 19 19 19 18 18 18 17 17 17 16 16 15 15 14 13 13 12 12 11 11 12 13 14 14 15 15 15 16 17 17 17 17 18 19 20 20 19 18 17 16 16 16 16 16 15 14 12 11 10 9 9 9 9 9 9 10 10 10 11 11 11 12 12 12 12 13 13 13 14 14 15 15 15 15 15 15 15 15 16 17 18 19 19 20 20 19 19 18 18 18 18 18 17 15 10 3 -4 -8 -10 -10 -10 -9 -9 -10 -11 -12 -13 -13 -12 -10 -8 -5 -3 -2 -1 0 1 2 2 2 1 1 1 1 2 3 3 3 2 2 2 2 1 0 -1 -1 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -22 -21 -19 -17 -16 -15 -15 -16 -16 -16 -16 -17 -17 -16 -15 -15 -16 -16 -16 -16 -15 -14 -13 -12 -11 -12 -15 -19 -22 -24 -23 -21 -19 -19 -20 -22 -23 -23 -23 -23 -23 -23 -23 -23 -23 -23 -21 -19 -16 -16 -18 -21 -22 -22 -22 -21 -20 -20 -19 -18 -18 -19 -19 -19 -20 -21 -22 -21 -19 -16 -14 -13 -13 -13 -13 -12 -12 -12 -12 -12 -12 -11 -11 -11 -12 -12 -12 -11 -11 -13 -13 -12 -9 -6 -3 -2 -2 -2 -1 -1 -0 0 1 2 3 4 4 4 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 5 6 5 5 5 6 6 7 8 8 8 7 6 4 4 5 6 6 4 3 3 4 6 8 7 7 6 6 6 7 8 8 9 9 9 9 9 8 8 8 7 7 6 6 5 5 5 6 6 6 6 7 7 6 6 6 6 6 6 7 7 7 7 6 7 7 7 6 6 6 5 5 4 4 5 5 6 6 7 8 8 9 10 10 11 11 11 11 12 12 12 13 13 14 14 15 16 17 17 18 19 19 20 20 20 20 20 20 20 19 19 19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19 20 20 20 19 19 19 19 19 19 18 18 17 17 16 15 14 14 13 13 13 13 13 14 15 15 15 15 16 17 17 18 18 18 19 20 20 21 20 19 18 17 17 17 17 17 16 15 13 12 11 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 12 12 12 13 13 13 14 14 14 14 15 15 16 17 18 19 20 21 21 21 21 20 19 19 19 19 18 18 16 14 7 -3 -7 -9 -9 -8 -8 -8 -9 -11 -13 -14 -13 -12 -10 -8 -6 -4 -3 -1 0 1 2 2 1 1 0 1 1 2 2 2 2 2 2 1 1 0 -0 -1 -2 -3 -3 -3 -4 -3 -3 -3 -3 -3 -3 -4 -4 -21 -19 -19 -17 -16 -15 -14 -13 -12 -11 -12 -13 -15 -16 -16 -16 -17 -17 -16 -16 -16 -15 -15 -14 -14 -16 -18 -20 -22 -23 -21 -19 -18 -19 -21 -23 -24 -24 -24 -24 -23 -23 -23 -23 -23 -24 -24 -23 -21 -20 -21 -24 -26 -25 -24 -22 -21 -20 -18 -18 -17 -17 -17 -18 -19 -21 -22 -22 -20 -19 -17 -16 -15 -15 -14 -12 -11 -11 -12 -12 -12 -11 -11 -11 -12 -12 -12 -12 -12 -13 -15 -15 -14 -9 -3 -2 -1 -1 -1 -1 -0 0 1 2 3 4 4 5 5 5 4 4 3 3 3 3 4 4 5 5 5 5 5 4 4 3 3 3 4 6 7 9 9 8 6 5 5 6 7 7 5 4 3 4 6 7 8 7 6 6 6 7 7 7 7 7 7 8 8 8 7 6 6 6 6 5 5 5 5 5 5 6 6 6 7 7 7 6 6 6 7 7 7 7 7 7 7 7 7 7 7 6 6 6 5 5 5 5 5 5 6 6 7 8 8 9 10 10 10 11 11 11 12 12 12 12 13 13 14 15 15 16 17 18 18 19 19 20 20 20 19 19 20 20 20 20 19 19 19 20 20 20 20 20 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 19 18 17 16 16 15 15 15 14 14 14 15 15 16 16 15 16 16 17 18 18 19 19 20 20 21 21 21 20 19 18 18 18 18 18 17 16 14 13 12 11 11 11 10 10 11 11 11 11 11 11 12 11 11 11 11 11 11 11 11 12 12 12 13 13 13 14 14 15 16 17 18 19 20 21 21 22 21 21 20 20 19 19 19 19 18 18 16 11 2 -4 -6 -6 -5 -5 -6 -8 -11 -14 -15 -14 -12 -10 -8 -6 -5 -3 -1 0 1 1 1 1 0 0 1 1 1 2 2 2 1 1 1 1 0 -1 -1 -2 -3 -3 -3 -3 -2 -2 -2 -3 -3 -3 -4 -21 -20 -19 -19 -17 -16 -14 -12 -9 -7 -7 -9 -11 -13 -14 -16 -17 -17 -16 -15 -15 -15 -16 -16 -17 -18 -20 -22 -22 -21 -19 -17 -17 -18 -21 -23 -25 -26 -25 -25 -24 -23 -23 -23 -23 -23 -24 -24 -24 -24 -25 -27 -29 -29 -27 -25 -23 -20 -19 -18 -17 -16 -15 -16 -17 -19 -21 -22 -23 -22 -21 -19 -18 -17 -15 -13 -11 -12 -12 -12 -11 -11 -11 -12 -12 -12 -12 -12 -13 -14 -16 -16 -15 -10 -3 -1 -1 -0 -0 -0 -0 1 1 2 3 4 4 4 4 4 3 3 3 2 2 3 3 3 4 4 4 5 4 4 3 2 2 2 3 5 7 8 8 7 6 6 7 7 7 6 4 3 4 5 7 7 7 7 7 7 8 8 7 6 5 5 6 7 8 7 5 4 4 5 5 4 4 4 5 5 5 5 6 6 7 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 6 6 6 5 5 5 5 5 5 5 6 6 7 8 9 9 10 10 11 11 11 12 12 12 13 13 13 14 15 15 16 17 17 18 18 18 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 20 19 18 17 17 16 16 16 16 16 17 17 17 17 16 16 16 17 18 18 19 19 20 21 21 21 22 21 21 20 19 19 18 18 18 17 16 15 14 12 12 11 11 11 11 11 11 11 11 11 12 12 11 11 11 10 10 10 10 11 11 11 12 12 12 12 13 14 15 15 16 17 18 19 20 21 22 22 21 21 20 20 20 20 20 19 19 19 17 15 10 3 -0 -0 -0 -1 -4 -8 -13 -16 -16 -14 -12 -10 -8 -6 -5 -3 -2 -1 -0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 -0 -1 -2 -2 -3 -2 -2 -2 -1 -2 -2 -3 -3 -4 -22 -21 -21 -20 -19 -18 -17 -14 -9 -6 -6 -7 -8 -10 -12 -14 -16 -16 -16 -15 -14 -15 -15 -16 -17 -18 -20 -21 -21 -20 -17 -16 -16 -18 -20 -23 -25 -26 -27 -26 -25 -24 -23 -23 -23 -23 -23 -24 -25 -26 -28 -30 -31 -32 -30 -28 -25 -23 -20 -19 -17 -16 -15 -15 -15 -17 -19 -22 -23 -25 -25 -23 -21 -19 -17 -14 -13 -14 -13 -12 -11 -11 -12 -12 -12 -12 -13 -13 -13 -13 -15 -16 -14 -9 -2 -1 -0 -0 -0 -0 0 0 1 2 2 3 3 3 3 2 2 2 1 1 2 2 2 2 2 3 3 3 3 3 3 2 2 3 4 5 6 7 6 6 6 7 7 7 6 4 4 4 4 5 6 6 6 7 7 8 8 7 6 4 3 3 5 7 6 5 3 3 3 3 3 4 4 4 5 4 5 5 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 8 7 7 7 7 6 6 6 6 5 5 5 4 4 4 5 5 6 7 7 8 9 9 10 10 11 11 12 12 13 13 13 14 14 15 15 16 16 17 17 18 18 18 19 19 20 20 20 20 20 20 21 21 21 21 21 21 21 21 20 20 20 20 20 21 21 21 21 21 21 21 21 21 20 20 21 21 21 21 21 21 22 22 22 22 21 20 19 19 18 18 18 18 18 19 19 20 19 18 17 17 17 18 18 19 19 20 21 21 22 22 22 22 21 21 20 19 19 18 18 17 16 15 14 13 12 12 12 12 12 12 11 11 11 12 12 12 12 11 11 11 10 10 10 10 11 11 11 11 11 12 13 13 14 15 16 17 18 19 20 21 22 22 22 21 21 20 20 20 20 20 20 20 20 19 18 15 12 9 7 6 4 -1 -8 -15 -17 -16 -14 -12 -10 -8 -6 -5 -3 -2 -1 -1 -0 -0 -0 -0 -0 -0 0 0 1 1 1 1 1 1 1 -0 -1 -1 -2 -2 -1 -1 -1 -1 -1 -2 -3 -3 -22 -21 -21 -20 -20 -19 -19 -18 -14 -11 -9 -9 -10 -10 -12 -13 -15 -15 -15 -14 -14 -14 -15 -16 -16 -17 -18 -19 -20 -19 -17 -16 -16 -17 -20 -22 -25 -26 -27 -27 -26 -25 -24 -24 -23 -23 -23 -23 -24 -26 -28 -30 -32 -34 -33 -31 -29 -26 -23 -20 -19 -17 -16 -15 -15 -15 -17 -19 -22 -25 -27 -26 -24 -21 -19 -16 -16 -15 -14 -13 -13 -13 -13 -12 -12 -12 -13 -13 -13 -13 -14 -15 -13 -8 -2 -1 -0 -0 -0 -0 -0 -0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 2 2 2 3 3 3 4 4 5 5 5 5 5 6 6 6 5 4 4 4 4 5 5 5 5 6 7 8 8 7 5 3 1 1 2 5 6 5 3 1 1 1 2 3 3 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 6 6 6 6 5 5 4 4 4 4 4 5 5 6 7 7 8 9 9 10 11 11 12 12 13 13 13 14 14 15 15 15 16 16 17 17 18 19 19 20 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 22 22 21 21 21 21 21 22 21 22 22 23 23 23 22 21 21 21 20 20 19 19 20 21 21 21 20 18 17 17 18 18 18 19 20 21 22 22 22 22 22 22 22 21 21 20 19 18 18 17 16 15 14 13 12 12 12 12 12 12 12 12 11 12 12 12 11 11 11 11 11 10 10 10 11 11 11 11 11 12 12 13 14 15 16 16 17 19 20 21 21 22 22 22 21 21 21 21 21 21 21 21 21 21 21 21 19 18 16 15 13 10 3 -6 -14 -18 -15 -13 -11 -9 -8 -6 -5 -4 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -0 0 1 1 1 1 1 1 0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -2 -3 -21 -20 -19 -19 -19 -19 -20 -20 -18 -15 -13 -13 -13 -13 -14 -14 -15 -15 -15 -14 -14 -14 -15 -16 -16 -16 -16 -18 -19 -19 -17 -16 -17 -18 -21 -23 -24 -26 -26 -26 -26 -26 -26 -25 -24 -24 -23 -23 -23 -24 -26 -29 -31 -34 -35 -34 -32 -29 -26 -22 -20 -19 -18 -17 -16 -15 -15 -17 -19 -22 -26 -27 -26 -24 -21 -19 -17 -16 -15 -15 -15 -16 -16 -14 -13 -12 -13 -13 -13 -14 -15 -15 -13 -8 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -2 -1 -1 -1 -1 -0 -0 0 1 1 2 2 3 3 3 3 3 4 4 5 5 5 5 5 5 4 4 4 4 4 4 5 5 5 6 7 7 7 5 3 1 -1 0 3 5 6 3 1 0 0 1 1 2 3 3 4 3 4 4 5 5 4 4 4 4 5 5 6 6 6 6 6 6 7 7 7 7 7 7 7 6 6 6 6 6 5 5 4 4 4 4 4 4 4 5 5 6 6 7 8 9 10 10 11 12 12 13 13 13 14 14 15 15 15 16 16 17 18 18 19 20 20 21 21 21 22 22 22 22 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 23 23 23 22 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 22 21 21 21 22 23 23 21 19 18 18 18 19 18 18 19 20 21 22 22 22 22 22 22 22 22 21 20 19 18 17 17 16 15 14 14 13 12 12 12 12 12 12 12 12 12 11 12 11 11 11 11 11 10 11 11 11 11 11 11 11 12 12 13 14 14 15 16 17 19 20 20 21 22 22 22 22 22 22 22 22 22 22 22 22 22 23 23 23 23 22 21 20 20 19 14 3 -10 -14 -13 -12 -10 -9 -8 -6 -5 -5 -4 -3 -2 -2 -2 -2 -2 -2 -2 -1 -1 -0 0 1 1 1 1 1 1 0 0 -0 -0 -0 -0 -1 -1 -2 -2 -20 -19 -18 -17 -18 -18 -20 -20 -20 -18 -16 -15 -14 -14 -14 -15 -15 -15 -15 -15 -15 -15 -15 -16 -16 -16 -16 -17 -18 -17 -17 -17 -18 -20 -22 -23 -24 -25 -25 -25 -26 -26 -26 -26 -26 -25 -24 -23 -23 -23 -25 -27 -29 -32 -35 -36 -35 -32 -29 -25 -23 -21 -21 -20 -18 -17 -16 -16 -17 -19 -22 -25 -26 -25 -23 -20 -17 -16 -16 -16 -17 -19 -19 -18 -15 -13 -12 -12 -13 -14 -16 -16 -14 -9 -3 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -3 -3 -3 -3 -2 -2 -1 -1 -0 0 1 1 2 2 3 2 2 2 2 3 4 5 6 5 5 4 4 4 4 4 4 4 5 5 6 7 7 7 6 4 1 -1 -1 1 4 6 5 3 1 0 -0 0 1 1 2 3 3 3 3 4 4 4 3 3 3 4 4 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 5 5 4 4 4 4 4 4 4 4 4 4 5 5 6 7 8 8 9 10 11 11 12 12 13 13 14 14 15 15 16 16 17 18 18 19 20 20 21 21 22 22 22 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 24 24 24 24 23 23 23 23 23 22 22 22 22 23 23 24 24 24 25 25 24 24 23 23 24 24 24 23 20 19 19 19 20 19 19 19 20 21 22 22 22 22 22 22 22 23 22 22 20 19 18 17 17 16 15 15 14 13 12 12 11 12 12 12 12 12 12 11 11 11 11 11 11 11 10 10 11 11 11 11 11 11 12 12 12 13 14 15 16 17 19 20 20 21 21 22 22 23 23 23 23 23 23 23 23 23 23 24 24 25 25 25 25 25 26 26 26 26 22 -3 -8 -10 -10 -10 -9 -8 -7 -7 -6 -5 -4 -3 -2 -2 -2 -2 -2 -2 -1 -1 -0 0 0 1 1 1 1 1 1 1 0 0 -0 -0 -1 -1 -2 -19 -19 -18 -17 -17 -17 -18 -19 -19 -19 -18 -17 -15 -14 -14 -14 -14 -15 -15 -15 -15 -15 -16 -16 -16 -16 -17 -17 -17 -17 -17 -18 -20 -22 -23 -24 -24 -24 -24 -24 -24 -25 -26 -26 -26 -26 -25 -24 -23 -23 -24 -25 -27 -30 -33 -36 -36 -35 -31 -27 -25 -24 -23 -22 -21 -19 -18 -17 -16 -17 -18 -21 -23 -24 -23 -21 -18 -17 -16 -17 -18 -20 -21 -19 -16 -12 -9 -9 -11 -13 -16 -17 -15 -11 -6 -3 -3 -4 -4 -4 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -5 -5 -4 -4 -4 -3 -3 -2 -2 -1 -0 1 2 2 2 2 1 1 0 0 1 3 4 5 5 5 4 4 4 4 4 4 5 5 5 6 7 7 6 5 3 0 -1 -1 2 5 6 5 3 2 1 0 0 1 1 2 2 2 2 3 3 3 2 2 2 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 5 5 6 6 7 8 9 9 10 10 11 12 12 13 13 14 15 15 16 16 17 18 19 19 20 21 22 22 23 23 23 23 23 23 23 23 24 24 24 25 25 25 25 25 25 25 25 24 24 24 24 24 24 24 24 23 23 22 22 23 23 24 25 26 26 26 26 25 24 24 25 26 26 24 22 20 20 20 21 21 20 19 19 20 21 22 22 22 23 23 23 23 23 23 22 21 19 18 17 17 16 15 15 14 13 12 12 11 11 12 12 12 12 12 12 11 11 11 11 11 11 10 10 11 11 11 11 12 11 11 12 12 13 14 15 16 17 18 19 20 21 21 22 22 23 23 24 24 24 24 24 24 24 25 25 25 26 27 27 27 28 29 29 30 30 30 25 7 -4 -8 -9 -10 -9 -9 -8 -7 -6 -5 -4 -3 -3 -3 -3 -3 -2 -2 -2 -1 -1 -0 0 1 1 1 2 2 1 1 1 0 -0 -1 -1 -2 -18 -18 -18 -17 -17 -17 -17 -17 -17 -18 -17 -17 -16 -14 -13 -13 -13 -13 -14 -14 -15 -15 -16 -16 -17 -17 -17 -17 -17 -17 -18 -19 -21 -23 -24 -24 -24 -24 -24 -23 -23 -23 -24 -25 -26 -26 -25 -24 -23 -23 -23 -24 -25 -28 -31 -34 -36 -36 -34 -30 -27 -25 -24 -23 -22 -21 -20 -19 -18 -17 -16 -17 -19 -21 -22 -21 -19 -17 -16 -17 -18 -20 -19 -15 -11 -10 -10 -11 -11 -12 -14 -16 -15 -14 -11 -7 -6 -5 -6 -6 -7 -7 -7 -8 -7 -7 -7 -7 -7 -7 -6 -6 -5 -4 -4 -4 -3 -3 -2 -1 -0 1 2 2 2 2 1 -0 -1 -1 -1 1 3 4 5 5 5 5 5 5 4 5 5 5 6 6 7 7 6 5 2 0 -1 0 3 6 7 6 4 2 1 1 1 1 2 2 2 2 2 2 2 2 1 1 2 2 3 3 3 3 2 2 2 2 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 7 7 8 9 9 10 10 11 12 12 13 13 14 14 15 16 17 17 18 19 20 21 21 22 23 23 24 24 24 24 24 24 24 24 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 24 24 24 23 23 23 23 24 25 26 27 27 27 27 26 26 26 27 27 26 24 22 21 22 23 23 21 20 20 20 21 22 22 22 23 23 23 23 24 24 23 22 21 20 19 17 17 16 16 15 15 14 13 12 11 11 12 12 12 12 12 12 12 11 11 11 11 11 11 10 11 11 11 12 12 11 11 11 11 12 12 14 15 16 17 18 19 20 20 21 22 23 23 24 24 24 24 24 24 25 25 26 27 27 28 28 29 29 30 31 32 33 33 32 25 12 -1 -6 -8 -9 -10 -9 -9 -7 -6 -5 -4 -4 -3 -3 -3 -3 -3 -2 -2 -2 -1 -0 0 1 1 2 2 2 1 1 0 -0 -1 -1 -2 -16 -17 -17 -17 -16 -16 -16 -16 -16 -16 -16 -15 -15 -14 -13 -12 -12 -12 -13 -13 -14 -15 -16 -16 -17 -17 -17 -17 -17 -18 -19 -20 -22 -23 -24 -24 -24 -24 -23 -23 -22 -22 -23 -24 -24 -25 -25 -24 -24 -23 -23 -24 -24 -26 -29 -32 -35 -36 -35 -32 -29 -27 -25 -24 -23 -22 -22 -21 -20 -18 -17 -16 -17 -18 -19 -20 -19 -18 -17 -17 -18 -19 -19 -17 -14 -12 -13 -16 -17 -16 -16 -15 -15 -15 -14 -10 -8 -7 -8 -8 -8 -9 -9 -9 -9 -9 -9 -8 -8 -8 -7 -6 -5 -5 -4 -4 -3 -3 -2 -1 -0 1 2 3 3 2 1 -0 -2 -2 -2 -1 0 2 4 5 6 6 5 5 5 5 5 5 6 6 7 7 6 4 2 0 -0 1 4 7 8 7 5 3 2 1 1 2 3 2 2 1 1 2 2 1 1 1 2 2 2 2 2 2 2 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 4 4 4 5 5 5 5 6 6 7 8 8 8 9 9 10 10 11 11 12 12 13 13 14 15 15 16 17 18 19 20 20 21 22 23 24 24 24 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 24 24 24 24 24 25 26 27 28 28 28 27 27 27 27 28 27 26 24 23 24 25 25 23 21 20 21 21 22 22 22 23 23 23 24 24 24 24 23 23 22 20 19 18 17 16 16 15 15 14 13 13 12 12 12 12 12 12 12 13 12 12 12 12 11 11 11 11 11 11 11 12 12 11 11 10 10 11 11 12 13 14 16 17 18 19 19 20 21 22 22 23 24 24 24 24 25 25 26 27 27 28 29 29 30 31 31 32 33 34 35 35 32 25 14 2 -4 -7 -9 -9 -9 -8 -8 -7 -6 -6 -5 -5 -4 -4 -4 -3 -3 -2 -2 -1 -0 0 1 1 2 2 1 1 0 -0 -1 -1 -1 -14 -15 -15 -15 -15 -16 -16 -16 -16 -16 -15 -15 -14 -13 -13 -12 -11 -11 -11 -12 -13 -14 -15 -15 -16 -16 -17 -17 -17 -18 -20 -21 -23 -24 -25 -25 -25 -24 -23 -22 -22 -21 -21 -21 -22 -23 -24 -24 -24 -24 -24 -24 -24 -25 -27 -30 -33 -34 -35 -33 -30 -28 -26 -25 -24 -23 -23 -22 -21 -20 -18 -17 -17 -17 -18 -19 -19 -19 -18 -18 -18 -18 -18 -19 -18 -16 -15 -17 -20 -22 -22 -20 -17 -17 -17 -12 -10 -9 -9 -9 -9 -9 -10 -10 -9 -9 -9 -9 -8 -8 -7 -6 -5 -5 -4 -4 -3 -3 -2 -1 -0 1 2 3 3 2 1 -0 -2 -3 -3 -3 -1 0 2 4 5 5 5 5 5 5 5 5 6 6 7 6 6 4 2 1 0 2 5 8 9 7 5 3 2 2 2 3 3 2 1 1 1 2 1 1 0 1 2 2 2 2 2 2 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 2 2 3 3 4 4 4 5 5 6 6 7 8 8 9 9 10 10 11 11 12 12 12 13 13 14 14 15 16 16 17 18 19 20 21 22 22 23 24 24 24 25 25 25 25 25 25 25 25 25 25 25 24 24 24 24 24 25 25 25 26 26 26 26 25 25 25 25 25 25 25 26 27 28 28 29 29 28 28 28 28 28 27 26 25 26 27 26 25 23 22 22 22 22 22 22 23 23 23 24 24 25 25 24 24 23 22 21 20 18 17 17 16 16 16 15 14 14 13 12 12 12 12 13 13 13 13 13 12 12 12 12 12 11 11 11 12 12 12 11 11 10 10 10 11 11 11 12 13 15 16 17 18 19 20 20 21 22 23 23 24 24 25 25 26 27 28 29 30 30 31 32 32 32 33 34 35 36 35 32 25 16 7 0 -4 -8 -9 -9 -9 -8 -8 -7 -7 -6 -6 -5 -5 -4 -4 -3 -2 -2 -1 -0 1 1 1 1 1 1 0 -0 -1 -1 -1 -12 -13 -13 -13 -14 -15 -16 -16 -17 -16 -16 -15 -15 -14 -13 -12 -11 -11 -11 -11 -12 -13 -14 -14 -15 -16 -16 -17 -17 -18 -19 -21 -23 -24 -25 -26 -26 -25 -23 -22 -21 -20 -20 -20 -20 -21 -22 -23 -24 -25 -25 -24 -24 -25 -26 -28 -30 -32 -33 -33 -31 -28 -26 -25 -24 -24 -24 -23 -22 -21 -20 -18 -18 -17 -18 -18 -19 -19 -19 -19 -18 -18 -20 -21 -22 -21 -20 -20 -20 -24 -26 -25 -22 -19 -19 -14 -11 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -8 -7 -6 -6 -5 -4 -4 -3 -3 -2 -2 -1 -0 1 1 2 2 2 1 0 -1 -2 -3 -3 -3 -2 0 2 3 4 4 4 4 4 5 5 6 6 7 7 6 4 2 1 1 3 6 9 9 7 4 2 1 2 3 4 3 2 1 1 2 2 1 0 0 1 2 2 2 2 2 2 2 2 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 2 3 3 4 4 4 5 6 6 7 8 9 9 10 10 11 11 12 12 12 12 13 13 14 15 15 16 16 17 18 19 20 21 21 22 23 23 24 24 24 25 25 25 26 26 26 25 25 25 24 24 24 24 24 24 24 25 25 26 26 26 26 26 26 26 26 26 26 27 27 28 28 29 29 29 29 29 29 28 28 27 26 27 27 27 26 24 23 22 23 23 23 22 23 23 24 24 25 25 25 25 24 24 23 22 21 20 19 18 17 17 16 16 16 16 15 14 13 13 13 13 13 14 14 14 13 13 13 13 13 13 12 12 12 12 12 12 12 12 11 11 11 11 10 10 11 12 13 15 16 17 18 18 19 20 20 21 22 23 24 25 26 26 27 28 30 31 32 32 33 33 33 33 34 35 36 37 36 32 26 19 12 5 -2 -6 -8 -8 -9 -8 -8 -8 -7 -7 -6 -6 -5 -4 -4 -3 -2 -1 -0 0 1 1 1 1 1 1 0 -0 -1 -1 -12 -11 -11 -12 -12 -13 -14 -15 -16 -16 -17 -16 -16 -15 -14 -13 -12 -11 -11 -11 -12 -12 -13 -13 -14 -15 -16 -16 -17 -18 -19 -20 -22 -24 -25 -26 -26 -25 -23 -22 -21 -20 -20 -20 -20 -20 -21 -22 -23 -24 -25 -25 -25 -24 -25 -26 -28 -30 -31 -31 -30 -28 -27 -26 -25 -24 -24 -24 -23 -22 -21 -20 -19 -18 -18 -18 -18 -18 -19 -19 -19 -20 -22 -24 -25 -25 -25 -23 -22 -25 -28 -28 -25 -21 -21 -17 -13 -11 -11 -10 -10 -10 -9 -9 -8 -8 -8 -8 -7 -6 -5 -5 -4 -3 -3 -2 -2 -2 -1 -1 -0 0 1 2 2 2 1 0 -1 -2 -2 -3 -3 -3 -1 -0 1 2 2 2 3 3 4 5 6 7 7 7 6 4 2 0 0 3 7 9 8 5 2 1 1 2 4 4 2 1 1 2 2 1 0 0 1 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 0 0 0 1 1 2 2 3 3 4 4 5 6 7 7 8 9 9 10 11 11 11 12 12 12 12 13 13 14 15 15 16 17 17 18 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 26 25 25 24 24 23 23 23 23 24 24 25 25 25 26 26 26 26 26 27 27 27 27 28 28 28 29 29 29 29 29 29 29 28 28 28 28 28 28 27 25 24 23 23 23 23 23 23 23 24 24 25 25 26 26 25 25 24 23 23 22 21 20 19 18 17 17 17 17 17 16 15 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 13 13 13 13 13 13 13 13 12 12 11 11 10 10 11 12 14 15 16 17 18 18 19 19 20 22 23 24 25 26 27 28 29 30 32 33 34 34 34 34 34 34 35 36 37 38 37 33 28 22 16 9 1 -3 -6 -7 -8 -8 -8 -8 -7 -7 -6 -6 -5 -4 -3 -2 -1 -0 -0 0 1 1 1 1 1 1 0 -1 -1 -11 -12 -11 -11 -11 -12 -13 -14 -15 -16 -16 -16 -16 -16 -15 -14 -13 -12 -12 -11 -12 -12 -13 -13 -14 -15 -16 -16 -17 -18 -19 -20 -21 -23 -24 -25 -25 -24 -23 -22 -21 -20 -20 -20 -19 -19 -20 -21 -22 -24 -25 -25 -25 -24 -24 -25 -26 -28 -29 -29 -28 -28 -27 -26 -25 -24 -25 -25 -24 -23 -22 -21 -20 -19 -19 -18 -18 -18 -18 -18 -19 -21 -23 -24 -25 -26 -26 -25 -25 -27 -29 -29 -27 -23 -21 -19 -14 -11 -10 -10 -10 -9 -9 -8 -7 -7 -7 -6 -5 -5 -4 -3 -3 -2 -2 -2 -1 -1 -1 -1 -0 0 1 1 1 1 1 0 -1 -1 -2 -2 -3 -3 -2 -1 0 1 1 1 1 2 3 5 6 7 8 8 7 4 1 -1 0 4 7 9 7 3 1 0 2 4 4 3 1 0 1 3 2 1 -0 0 1 2 2 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 2 2 2 3 3 4 5 5 6 7 7 8 8 9 10 10 11 11 11 12 12 12 13 13 14 15 16 16 17 18 18 19 19 20 20 21 21 21 22 22 23 24 25 25 25 25 25 25 25 24 24 23 23 23 23 23 24 24 24 25 25 26 26 26 27 27 27 28 28 28 28 28 29 29 30 30 29 29 29 29 29 29 29 29 28 26 25 24 24 23 23 23 23 24 24 25 25 25 26 26 26 26 25 24 24 23 22 21 21 20 19 18 18 18 18 18 17 16 16 15 15 15 15 15 15 14 14 14 14 15 15 15 15 15 14 14 14 14 14 14 14 14 13 12 11 11 11 11 12 13 15 16 17 17 18 18 19 20 21 22 24 25 27 27 28 29 30 32 34 35 35 35 35 35 35 35 36 37 39 39 38 35 32 27 21 13 5 -1 -5 -7 -8 -8 -8 -8 -7 -7 -6 -5 -4 -3 -2 -2 -1 -1 -0 0 1 1 1 0 0 -0 -1 -1 -11 -12 -12 -11 -11 -12 -12 -12 -13 -14 -15 -15 -15 -16 -16 -16 -15 -14 -13 -13 -13 -13 -13 -14 -15 -16 -16 -17 -17 -18 -19 -20 -21 -22 -23 -23 -23 -23 -23 -22 -21 -21 -20 -20 -19 -19 -19 -20 -21 -22 -23 -24 -24 -24 -24 -24 -25 -26 -27 -27 -27 -26 -26 -26 -25 -24 -24 -25 -24 -24 -23 -22 -21 -20 -20 -19 -18 -18 -18 -18 -20 -21 -22 -23 -23 -24 -25 -25 -25 -26 -28 -30 -29 -24 -19 -17 -14 -10 -9 -10 -9 -9 -8 -7 -6 -5 -5 -4 -3 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -0 0 1 1 1 1 0 -0 -1 -1 -1 -2 -2 -3 -2 -2 -1 0 1 0 0 1 3 5 7 8 9 8 6 3 -0 -1 1 4 7 8 5 2 1 2 4 5 3 1 -0 1 2 3 1 -1 -0 1 2 2 1 0 1 1 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 2 2 2 2 3 3 3 3 4 4 5 5 6 7 7 8 8 9 10 10 11 11 11 12 12 12 13 13 14 14 15 16 17 17 18 19 19 20 20 20 20 20 21 21 22 23 23 24 24 25 25 25 24 24 24 24 23 23 23 23 23 23 23 24 24 24 25 26 26 27 27 27 28 28 28 28 28 28 29 29 29 29 29 30 30 30 30 30 29 28 26 25 25 24 24 23 23 24 24 25 26 26 26 26 27 27 26 26 25 24 23 23 22 21 20 20 19 19 19 19 19 18 17 17 17 17 17 16 16 15 15 14 14 15 15 15 16 16 16 16 15 15 15 15 15 16 15 14 13 12 12 12 12 13 14 15 15 16 17 17 18 18 19 20 22 24 25 26 27 28 29 31 32 34 36 36 37 36 37 37 37 37 37 38 40 41 40 38 35 31 26 19 11 3 -4 -7 -8 -9 -9 -8 -7 -5 -4 -3 -3 -2 -2 -2 -1 -1 -1 -0 -0 -0 -0 -0 0 1 2 -12 -14 -14 -14 -13 -12 -12 -12 -12 -13 -13 -14 -14 -15 -16 -16 -17 -16 -15 -14 -14 -14 -15 -15 -16 -16 -17 -18 -18 -19 -20 -20 -21 -22 -22 -22 -22 -21 -21 -22 -21 -21 -20 -20 -19 -19 -19 -19 -20 -20 -21 -22 -23 -23 -23 -23 -24 -25 -26 -26 -26 -25 -25 -24 -24 -24 -23 -24 -24 -24 -24 -23 -22 -21 -20 -19 -19 -18 -18 -19 -21 -20 -19 -19 -21 -23 -23 -23 -23 -24 -26 -27 -26 -22 -17 -16 -13 -10 -7 -8 -8 -7 -6 -5 -4 -3 -2 -2 -1 -1 -0 -0 -0 -0 -1 -1 -1 -1 -1 -0 0 1 1 1 1 0 -0 -0 -1 -1 -1 -1 -1 -2 -2 -1 -1 0 0 0 -0 1 3 5 8 9 9 7 5 1 -2 -1 2 5 7 6 3 2 3 4 5 5 2 -0 0 2 3 1 -1 -1 1 2 3 1 -1 -1 0 1 2 2 2 2 3 3 3 3 4 3 3 3 4 3 3 3 4 4 4 4 4 4 4 5 5 5 6 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 15 16 17 18 19 19 20 20 20 20 20 20 21 21 22 22 22 23 23 23 24 24 24 24 24 24 24 24 23 23 23 23 23 23 23 23 24 24 25 25 26 27 27 27 27 27 27 27 27 28 28 29 29 30 30 31 31 31 30 29 28 28 27 26 26 24 24 24 25 26 26 27 27 27 28 28 28 27 27 26 25 24 23 23 22 21 21 20 20 20 20 19 19 18 18 19 19 19 18 17 16 15 15 14 15 15 16 16 17 17 17 16 16 16 16 16 17 16 16 15 14 13 13 13 14 14 15 16 16 17 17 18 18 19 20 21 23 24 26 27 28 29 30 32 34 36 37 38 38 38 38 38 38 38 38 39 41 42 42 41 38 36 32 28 24 20 14 3 -5 -6 -5 -6 -5 -4 -3 -2 -2 -1 -1 -2 -3 -3 -2 -2 -2 -1 0 2 4 5 -15 -16 -17 -16 -14 -14 -13 -13 -12 -12 -12 -13 -13 -14 -15 -16 -17 -17 -17 -17 -16 -15 -15 -16 -16 -17 -18 -18 -19 -20 -21 -21 -22 -22 -22 -22 -21 -20 -20 -21 -21 -21 -20 -19 -19 -19 -19 -19 -19 -19 -19 -20 -21 -22 -22 -23 -24 -24 -25 -26 -26 -25 -24 -23 -23 -23 -23 -23 -23 -24 -24 -24 -24 -22 -21 -20 -19 -19 -20 -21 -21 -20 -18 -19 -21 -23 -24 -23 -23 -23 -24 -24 -23 -20 -16 -16 -15 -11 -6 -6 -5 -5 -4 -3 -2 -1 -0 0 1 1 1 1 1 0 -0 -1 -1 -1 -0 0 1 1 1 1 1 0 -0 -0 -0 -0 -0 -0 -0 -1 -1 -1 -0 0 0 -0 -0 1 4 7 8 9 8 5 2 -1 -2 1 4 6 6 4 2 3 5 6 6 3 0 -0 1 2 2 -0 -1 0 2 3 2 -1 -2 -1 1 2 2 2 2 2 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 7 7 8 8 9 10 10 11 12 12 13 13 14 14 15 15 16 16 17 17 18 19 20 20 21 22 22 22 21 21 21 22 22 22 23 22 22 22 22 23 23 23 23 24 24 24 24 24 24 24 24 23 23 23 23 23 24 24 25 25 26 26 26 26 26 26 26 27 27 27 28 29 30 30 31 31 31 30 30 29 29 29 28 27 26 25 26 26 27 28 28 29 29 29 29 29 29 28 27 26 25 24 23 22 22 21 21 21 21 20 20 19 20 20 21 21 21 20 19 18 17 16 15 15 15 16 16 17 17 17 17 17 17 17 17 17 17 17 16 15 14 14 14 14 15 16 16 17 17 18 18 18 18 19 20 22 23 25 26 27 28 30 31 33 35 37 38 39 39 40 40 40 39 39 39 40 42 43 43 42 41 40 39 38 36 33 31 31 29 20 1 1 1 -1 -2 -2 -1 -2 -3 -6 -8 -7 -6 -4 -1 1 4 7 8 -16 -17 -17 -16 -15 -15 -15 -14 -13 -12 -12 -12 -12 -13 -14 -15 -16 -17 -18 -18 -18 -17 -16 -16 -16 -17 -17 -18 -19 -20 -21 -22 -22 -23 -23 -23 -22 -21 -20 -20 -20 -20 -19 -19 -19 -18 -18 -18 -18 -18 -18 -19 -20 -20 -21 -22 -22 -23 -24 -25 -25 -24 -24 -23 -23 -23 -23 -23 -23 -23 -24 -25 -25 -24 -23 -21 -20 -20 -20 -20 -20 -19 -19 -20 -20 -20 -21 -22 -23 -23 -22 -21 -21 -20 -17 -14 -12 -9 -4 -3 -3 -2 -2 -1 -0 1 1 2 3 3 3 3 2 1 0 -0 -0 -0 0 1 1 1 1 1 0 0 -0 -0 -0 0 0 0 0 0 0 0 0 1 0 -0 0 2 5 8 9 8 6 3 -0 -2 -0 3 6 6 4 3 3 6 7 6 4 1 -1 0 2 3 2 -0 0 2 3 2 -0 -2 -2 0 2 3 2 2 2 3 3 4 4 4 4 4 4 4 5 5 5 5 6 6 6 6 6 7 7 7 7 8 8 9 10 10 11 12 12 13 14 15 15 16 16 17 17 18 19 19 20 21 21 22 23 24 24 24 23 23 23 23 23 24 24 23 23 22 22 22 22 22 23 23 23 24 24 24 24 24 24 24 24 24 23 23 23 23 24 24 24 25 25 25 25 26 26 26 26 26 27 27 28 29 30 30 30 30 30 30 31 31 30 29 28 27 27 27 28 28 29 30 30 31 31 31 31 30 30 29 27 26 25 24 23 23 22 22 22 22 21 20 20 21 22 23 23 23 22 21 20 19 18 17 16 16 16 16 17 17 18 18 18 18 18 18 18 18 17 17 16 15 14 14 15 15 16 17 18 18 18 18 18 18 19 20 21 23 24 25 26 27 29 30 32 34 36 38 39 40 41 41 41 41 41 40 41 42 43 43 44 44 44 44 43 42 41 40 39 38 36 33 27 17 9 6 7 6 0 -6 -11 -13 -11 -9 -6 -2 1 5 7 8 -16 -17 -16 -15 -15 -15 -15 -15 -14 -12 -12 -11 -11 -12 -13 -14 -15 -17 -18 -19 -19 -18 -17 -17 -16 -17 -17 -17 -18 -19 -21 -21 -22 -23 -23 -23 -23 -22 -21 -20 -19 -19 -19 -19 -18 -18 -18 -18 -18 -18 -18 -18 -18 -19 -20 -20 -21 -22 -23 -23 -23 -23 -24 -24 -24 -23 -23 -23 -23 -23 -23 -25 -26 -26 -25 -23 -21 -21 -21 -21 -21 -20 -19 -18 -18 -18 -19 -20 -22 -23 -21 -20 -20 -20 -17 -12 -10 -8 -3 -1 -1 0 1 1 2 3 3 4 5 5 5 4 3 2 1 1 0 1 1 2 2 2 2 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 1 4 7 9 9 7 4 1 -1 0 4 6 6 4 3 3 6 7 7 5 2 -1 -0 2 3 3 2 1 2 3 3 1 -2 -3 -1 2 4 4 3 2 2 3 4 4 4 4 4 4 4 5 5 5 6 6 6 7 7 7 7 8 8 8 8 9 9 10 11 11 12 13 14 15 16 16 17 18 18 19 19 20 21 21 22 23 24 25 26 26 26 26 25 25 25 26 26 26 25 24 23 23 22 22 22 22 23 23 23 24 24 24 24 24 25 25 24 24 24 24 23 23 23 24 24 24 24 25 25 25 25 25 25 25 26 26 27 28 28 29 29 30 30 31 31 31 30 30 29 29 29 29 29 30 30 31 32 32 32 32 32 32 31 30 29 27 26 24 24 23 23 23 23 22 22 21 22 23 24 24 24 24 24 24 23 22 20 19 18 17 16 16 16 17 17 18 18 18 19 19 19 19 18 18 17 16 15 15 15 16 17 18 18 18 18 18 18 19 19 20 21 22 23 24 25 26 27 29 31 33 35 37 38 40 41 42 42 42 42 42 42 42 43 44 45 45 45 45 44 43 42 41 40 40 39 39 38 38 37 35 32 25 16 9 7 4 1 1 2 4 5 6 5 5 -16 -16 -15 -14 -14 -14 -15 -15 -14 -12 -12 -11 -11 -12 -12 -13 -14 -15 -17 -18 -19 -19 -19 -18 -17 -17 -17 -17 -17 -18 -19 -20 -21 -22 -23 -23 -23 -23 -22 -21 -20 -19 -18 -18 -18 -18 -17 -17 -17 -17 -17 -17 -18 -18 -18 -19 -19 -20 -22 -22 -23 -23 -24 -24 -24 -24 -23 -23 -23 -23 -23 -25 -27 -27 -25 -23 -22 -22 -22 -22 -22 -21 -19 -18 -17 -17 -18 -19 -21 -22 -22 -21 -20 -20 -16 -11 -10 -8 -5 0 1 2 2 3 3 4 5 5 6 6 6 5 4 3 2 1 1 1 2 2 2 2 2 2 1 1 0 0 1 1 1 1 2 2 2 2 2 2 1 0 2 5 8 9 9 6 3 1 2 4 7 6 4 3 3 5 8 8 6 3 0 -0 2 4 4 3 2 3 4 4 2 -1 -2 -1 2 4 5 4 2 2 3 4 4 4 4 4 4 4 5 5 5 5 6 6 7 7 7 8 8 8 9 9 9 10 10 11 12 12 13 14 15 16 17 18 19 19 20 20 21 22 22 23 24 25 26 27 28 28 28 28 28 28 28 28 28 27 26 25 25 24 24 24 23 23 23 24 24 24 24 24 24 25 25 25 24 24 24 24 23 23 23 23 24 24 24 25 25 25 25 25 24 25 25 25 26 26 26 27 28 29 29 30 30 30 30 30 30 30 30 30 30 30 31 32 33 33 34 34 34 33 33 32 31 29 27 25 24 24 24 24 24 23 22 22 24 25 25 25 25 26 26 26 26 25 23 22 20 19 18 17 16 17 17 18 19 19 19 20 20 20 19 18 18 17 16 15 15 16 17 18 18 19 19 19 19 19 20 20 21 23 23 24 24 25 26 28 30 32 33 35 37 38 39 41 42 42 43 43 43 44 44 45 45 45 45 45 44 43 42 40 39 39 39 39 40 41 41 42 42 41 39 38 34 24 15 12 11 12 14 14 13 9 -15 -15 -14 -12 -12 -13 -14 -15 -14 -13 -12 -12 -12 -12 -12 -12 -13 -14 -15 -16 -17 -18 -18 -18 -17 -17 -17 -16 -17 -18 -18 -19 -20 -21 -21 -22 -22 -23 -22 -21 -20 -19 -18 -18 -18 -17 -17 -17 -16 -16 -16 -17 -17 -17 -17 -18 -18 -19 -20 -21 -22 -23 -24 -24 -25 -25 -24 -24 -23 -23 -23 -25 -26 -26 -25 -23 -22 -22 -23 -23 -22 -21 -20 -18 -18 -18 -19 -19 -20 -22 -22 -22 -21 -19 -16 -11 -9 -8 -6 -0 2 3 3 4 4 5 6 6 7 7 6 5 4 3 2 1 1 2 2 3 3 3 3 2 2 1 1 1 1 1 1 2 2 3 3 3 3 2 2 1 3 5 8 9 8 6 4 4 5 7 7 5 3 3 6 8 9 7 4 2 1 3 6 6 5 4 3 4 4 3 1 -0 -0 2 4 5 5 3 1 2 3 5 5 4 3 3 4 4 5 5 5 6 6 7 7 7 7 8 8 9 9 10 10 11 11 12 13 13 14 15 16 17 18 19 20 20 21 22 22 23 24 25 26 26 27 28 29 30 30 30 30 30 30 30 29 28 27 27 27 27 26 26 25 25 25 25 24 24 24 24 24 24 24 24 24 24 24 24 23 23 23 23 24 24 25 25 25 25 25 25 24 24 24 24 24 24 25 25 26 27 28 28 29 29 29 29 30 30 30 30 30 31 32 33 33 34 34 34 35 35 34 33 32 30 28 26 26 25 25 25 24 24 23 24 25 26 26 26 26 27 28 28 28 27 26 25 23 22 20 18 17 17 17 18 19 20 20 21 21 21 20 19 18 17 16 16 15 16 17 17 18 18 18 19 19 19 20 20 22 23 23 24 24 25 26 27 29 30 32 34 35 36 37 38 40 41 42 43 44 44 44 44 45 45 46 45 45 44 42 41 39 38 38 39 40 41 42 42 42 41 40 37 33 27 20 17 17 18 20 21 21 19 -14 -14 -13 -12 -12 -13 -13 -14 -13 -12 -13 -13 -13 -12 -11 -11 -12 -12 -14 -15 -15 -16 -16 -17 -17 -16 -16 -16 -17 -17 -18 -18 -19 -20 -20 -20 -21 -21 -21 -21 -21 -20 -19 -18 -17 -17 -17 -16 -16 -16 -16 -16 -16 -17 -17 -17 -17 -18 -19 -20 -21 -22 -24 -24 -25 -25 -25 -25 -25 -24 -24 -24 -25 -25 -24 -24 -23 -23 -23 -23 -22 -21 -20 -20 -19 -20 -20 -20 -20 -21 -21 -21 -21 -20 -17 -13 -9 -8 -8 -4 1 2 3 4 4 5 6 6 7 6 6 5 4 3 2 1 1 1 2 3 4 4 4 3 2 1 1 1 2 2 2 2 3 3 4 4 4 3 3 2 3 5 7 8 8 7 7 7 8 7 5 3 4 6 9 10 8 5 3 3 5 8 8 7 5 4 4 4 4 3 2 2 3 5 6 5 3 1 1 2 4 5 5 3 3 3 4 5 5 5 6 6 6 7 7 7 8 8 9 9 10 10 11 11 12 13 13 14 14 15 16 17 18 19 20 21 22 23 23 24 25 26 27 27 28 29 30 30 30 30 31 31 31 30 30 29 29 29 29 29 28 27 27 26 26 26 26 25 25 25 25 25 25 24 24 24 24 24 24 23 23 24 24 25 26 26 26 26 26 25 25 24 23 23 23 23 23 23 24 25 26 26 27 27 28 28 29 29 30 30 30 31 32 33 33 34 34 35 36 36 36 35 33 31 29 28 27 26 26 25 24 24 24 25 26 27 27 27 28 28 29 29 29 29 28 27 26 24 23 21 19 18 18 18 19 20 21 22 22 22 21 20 19 18 17 16 16 16 17 17 18 18 18 19 19 19 20 20 22 23 23 24 24 25 25 27 28 29 31 32 33 34 34 35 37 38 40 41 42 43 43 43 43 43 44 44 45 44 43 41 40 38 38 38 39 40 41 41 41 41 40 37 33 28 23 20 20 22 24 25 26 25 -14 -14 -13 -13 -14 -14 -14 -13 -12 -11 -12 -12 -12 -12 -11 -10 -11 -12 -13 -13 -14 -15 -15 -16 -16 -16 -16 -16 -16 -17 -17 -18 -18 -18 -19 -19 -19 -19 -19 -20 -20 -20 -20 -19 -18 -17 -16 -15 -15 -15 -15 -15 -16 -16 -16 -16 -17 -17 -18 -19 -20 -21 -23 -24 -25 -25 -26 -27 -26 -26 -25 -24 -24 -24 -24 -25 -25 -25 -24 -23 -22 -22 -21 -21 -21 -21 -20 -20 -19 -20 -20 -21 -21 -20 -20 -18 -13 -11 -13 -11 -2 1 2 2 3 4 5 5 6 5 4 3 3 2 1 0 0 1 2 3 4 5 4 3 2 2 2 2 2 2 2 3 4 4 4 5 5 4 4 3 4 5 6 8 9 9 10 9 8 6 3 3 6 9 10 9 6 4 4 6 9 10 8 6 4 3 4 4 4 3 3 4 5 6 5 4 1 -0 1 4 6 6 4 2 2 3 4 5 5 5 6 6 6 7 7 7 8 8 9 10 10 11 11 12 12 13 13 14 14 15 16 17 18 19 20 20 22 23 24 25 26 27 28 28 29 29 30 30 30 30 31 31 31 30 30 30 30 31 30 30 29 29 28 28 27 27 27 26 26 26 25 25 25 25 25 25 25 24 24 24 24 25 25 26 27 27 27 27 27 27 26 25 24 23 22 22 22 22 23 23 24 24 25 26 26 27 28 28 29 29 30 31 31 32 33 34 35 36 37 37 37 36 34 32 31 29 28 27 26 25 25 25 25 26 27 28 28 28 29 29 30 30 31 31 30 29 28 27 25 23 22 20 19 19 19 20 21 22 23 23 22 22 21 19 18 17 16 16 17 17 17 18 18 19 19 19 20 20 21 22 23 24 24 25 26 27 28 29 30 31 31 32 32 33 34 35 36 38 39 41 41 41 41 41 41 41 42 42 42 41 40 38 37 37 37 38 39 39 40 39 39 38 35 31 27 25 25 26 28 30 30 30 -13 -13 -13 -14 -15 -15 -14 -12 -11 -10 -11 -11 -11 -11 -10 -10 -11 -12 -13 -13 -13 -14 -15 -15 -15 -16 -16 -16 -16 -16 -16 -17 -17 -17 -18 -18 -17 -17 -17 -18 -19 -19 -20 -19 -18 -16 -15 -15 -14 -14 -14 -14 -15 -15 -15 -16 -16 -17 -17 -18 -18 -20 -21 -23 -24 -25 -27 -28 -28 -28 -27 -25 -25 -24 -24 -25 -26 -27 -26 -25 -24 -23 -23 -22 -21 -22 -23 -23 -22 -21 -22 -23 -22 -19 -18 -18 -15 -13 -14 -15 -6 -1 1 1 2 3 3 4 4 3 3 2 1 0 -0 -1 -0 1 2 4 5 5 5 4 3 2 3 3 3 3 3 4 4 5 5 5 5 5 5 4 4 5 6 8 10 11 11 10 7 4 3 5 8 10 10 7 4 4 5 8 10 9 7 5 4 3 3 3 3 4 4 5 6 6 4 2 -0 -0 2 5 6 5 3 1 2 3 4 4 4 4 5 6 6 6 7 7 8 8 9 10 10 11 11 12 12 12 13 13 14 15 15 16 17 18 19 20 21 22 24 25 26 27 28 29 29 30 30 30 30 30 30 31 31 31 31 32 32 32 31 31 30 30 30 29 29 28 28 27 27 27 27 27 27 27 26 26 26 26 26 26 26 26 27 27 28 28 28 29 28 28 27 26 24 23 22 22 22 22 22 22 23 23 24 25 25 26 27 28 28 29 29 30 31 32 33 35 36 37 38 38 38 37 35 34 32 31 30 29 27 26 25 25 26 27 28 28 28 29 29 30 31 31 31 31 31 31 30 29 27 26 24 22 21 20 20 20 21 22 23 23 23 23 22 20 19 18 17 17 17 17 18 18 18 19 19 19 19 20 21 22 23 24 25 25 26 27 28 29 30 30 31 31 31 31 32 33 34 35 36 37 38 39 39 38 38 38 38 38 38 38 37 37 36 35 35 35 36 36 37 37 37 37 36 34 32 31 30 31 32 34 34 34 -12 -12 -12 -13 -14 -15 -14 -12 -10 -10 -10 -10 -10 -10 -9 -10 -11 -12 -13 -13 -13 -14 -14 -15 -15 -16 -16 -16 -16 -16 -16 -17 -17 -17 -17 -17 -16 -16 -16 -16 -17 -17 -18 -18 -17 -16 -15 -14 -13 -13 -13 -13 -14 -14 -15 -15 -15 -16 -16 -17 -17 -19 -20 -21 -23 -25 -26 -28 -29 -30 -30 -28 -26 -25 -25 -26 -27 -27 -27 -26 -25 -25 -25 -24 -24 -24 -24 -24 -24 -25 -27 -27 -25 -21 -18 -19 -20 -19 -17 -18 -11 -4 -1 -1 -0 1 2 2 2 2 1 0 -1 -1 -2 -1 -0 1 3 4 5 5 5 4 3 3 4 4 3 4 4 5 5 5 5 5 5 5 5 4 4 5 6 9 11 12 11 8 5 3 4 7 10 10 8 5 3 5 7 9 9 7 5 4 3 3 3 3 3 4 4 5 6 5 3 1 -0 1 4 6 6 4 2 0 1 3 4 4 3 4 4 5 5 6 6 7 7 8 9 9 10 10 11 11 12 12 12 13 13 14 15 15 16 17 18 19 20 22 23 24 25 26 28 28 29 29 29 29 30 30 30 31 31 32 33 33 33 33 32 32 32 32 31 31 30 30 29 29 28 28 28 28 28 28 28 27 27 27 27 28 28 28 29 29 29 30 30 30 30 29 28 27 26 24 23 23 22 22 22 22 23 23 24 24 25 26 26 27 28 28 29 30 31 32 33 35 36 38 38 39 38 37 36 35 34 33 31 30 28 27 26 26 27 27 28 28 28 29 30 31 31 31 32 32 32 32 31 30 29 27 26 24 23 22 21 21 22 22 23 24 24 24 23 22 20 19 18 17 17 18 18 18 19 19 19 19 20 20 21 22 23 24 25 26 27 28 29 29 30 30 30 30 30 31 31 31 32 33 34 35 35 36 36 37 36 36 36 36 36 36 35 34 33 33 32 32 33 34 34 35 35 35 35 34 34 34 34 35 36 37 37 37 -11 -11 -11 -11 -12 -13 -14 -12 -10 -9 -9 -9 -9 -9 -9 -10 -11 -12 -13 -14 -14 -14 -14 -14 -15 -15 -15 -16 -16 -16 -16 -16 -16 -17 -17 -16 -16 -16 -16 -15 -15 -15 -16 -16 -16 -16 -15 -13 -13 -12 -12 -13 -13 -14 -15 -15 -15 -15 -15 -16 -17 -18 -19 -21 -22 -24 -26 -28 -30 -32 -32 -30 -29 -28 -28 -27 -27 -26 -26 -26 -26 -26 -26 -26 -26 -26 -26 -26 -27 -28 -30 -31 -29 -24 -20 -20 -22 -22 -19 -17 -13 -8 -4 -2 -2 -1 0 1 0 -0 -1 -2 -2 -3 -3 -2 -1 1 3 4 5 5 5 4 4 4 4 4 4 5 5 6 6 6 6 5 5 5 5 5 4 5 7 9 11 11 9 7 4 4 6 9 10 8 5 3 4 6 8 9 8 6 4 4 3 3 2 2 2 3 4 5 5 3 1 0 0 2 5 6 4 2 0 -0 1 2 3 2 2 3 4 4 5 5 6 7 7 8 8 9 10 10 11 11 11 11 12 12 13 13 14 14 15 16 17 18 20 21 22 23 24 25 27 27 28 29 29 30 30 30 31 31 32 33 34 34 34 34 34 34 34 33 33 33 32 31 31 30 30 30 30 30 30 30 30 29 29 29 30 30 30 30 31 31 31 31 31 31 31 31 30 29 27 26 24 24 23 23 23 23 23 24 24 24 25 25 26 27 27 28 29 30 31 32 33 35 36 37 38 38 38 38 37 37 36 35 33 31 29 28 27 27 27 28 28 28 29 29 30 31 31 32 32 32 32 32 32 31 30 29 27 26 25 24 23 22 22 22 23 23 24 24 23 22 21 20 19 18 18 18 19 19 19 19 19 19 20 20 21 22 24 25 26 27 28 29 29 30 30 31 31 30 30 31 31 31 31 32 32 32 33 34 35 35 36 35 35 35 35 35 34 33 32 31 30 30 31 31 32 33 33 33 33 34 34 34 35 36 37 38 38 38 -10 -10 -10 -10 -9 -11 -12 -12 -10 -8 -8 -8 -8 -8 -9 -10 -11 -12 -13 -13 -14 -14 -14 -14 -15 -15 -15 -16 -16 -16 -16 -16 -16 -16 -16 -16 -16 -16 -16 -15 -15 -14 -14 -14 -15 -14 -13 -12 -11 -11 -11 -12 -13 -14 -14 -14 -14 -14 -14 -15 -16 -17 -19 -21 -23 -25 -27 -29 -31 -33 -33 -32 -31 -31 -31 -30 -28 -26 -26 -26 -27 -27 -27 -27 -27 -27 -28 -28 -28 -29 -32 -34 -34 -30 -25 -25 -27 -27 -24 -19 -16 -13 -8 -3 -2 -2 -1 -1 -1 -2 -2 -3 -4 -4 -4 -3 -1 1 2 4 5 5 5 5 5 5 5 5 5 6 7 7 7 6 6 6 5 5 5 4 4 5 6 9 10 9 7 5 5 6 8 9 8 6 4 3 5 7 8 7 6 5 4 4 3 3 2 2 2 3 4 4 4 2 1 0 1 4 5 5 3 0 -1 -1 1 2 2 1 1 2 3 4 4 5 6 7 7 8 8 9 10 10 10 11 11 11 11 12 12 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 30 31 32 32 33 34 35 35 35 35 35 36 36 36 35 35 34 34 33 33 33 32 32 32 32 32 32 32 32 32 32 32 32 32 32 33 33 33 33 33 33 32 31 30 29 27 26 25 24 24 24 24 24 24 25 25 25 25 26 27 28 29 30 31 32 33 33 34 36 37 37 38 38 38 38 38 37 36 34 32 31 29 29 28 28 28 28 28 29 29 30 31 32 32 32 32 32 32 32 31 31 30 29 27 27 26 25 24 23 23 23 23 24 24 24 23 22 21 20 19 19 19 19 19 19 19 19 19 20 20 21 22 24 25 26 27 28 29 30 30 31 31 31 31 31 31 31 31 31 31 31 31 32 33 34 35 35 35 35 35 35 35 34 34 33 31 30 29 29 30 31 31 32 32 32 32 33 33 34 35 36 37 38 38 -10 -10 -10 -8 -8 -9 -10 -10 -9 -7 -7 -8 -8 -9 -10 -11 -11 -12 -12 -13 -13 -14 -14 -15 -15 -14 -14 -15 -16 -16 -16 -16 -16 -16 -17 -17 -17 -16 -16 -16 -15 -14 -13 -13 -13 -12 -11 -11 -10 -9 -10 -11 -12 -13 -13 -14 -14 -14 -14 -14 -15 -17 -19 -21 -23 -25 -27 -29 -31 -32 -33 -32 -33 -33 -33 -32 -31 -29 -28 -28 -29 -29 -29 -28 -28 -28 -29 -29 -28 -30 -33 -36 -37 -34 -32 -30 -31 -31 -29 -24 -21 -16 -11 -5 -3 -3 -2 -2 -2 -3 -4 -5 -5 -5 -5 -3 -1 1 2 3 4 5 5 6 6 6 6 6 6 7 7 7 7 6 6 6 5 5 4 3 3 3 5 7 7 6 5 5 6 7 8 7 6 4 4 5 6 7 6 5 4 4 4 4 3 2 1 1 2 3 3 4 3 2 1 1 2 4 5 3 1 -2 -2 -1 1 1 0 -0 1 2 3 4 4 5 6 7 8 8 9 10 10 11 11 11 11 11 11 11 12 12 13 13 14 15 17 18 19 20 20 21 22 23 24 25 26 27 29 30 31 31 32 33 34 35 35 35 36 37 37 38 37 37 37 36 36 36 36 35 35 35 34 34 34 34 34 34 34 34 33 33 33 33 34 34 35 35 35 35 35 34 33 32 30 28 27 26 26 25 25 25 25 25 25 25 25 26 27 27 29 30 31 32 33 33 34 34 35 36 37 37 37 38 38 39 38 38 36 34 32 31 30 29 29 28 28 29 29 30 30 31 32 32 32 32 32 32 32 32 31 31 30 29 28 27 26 25 24 23 23 23 23 23 24 23 23 21 20 20 19 19 20 20 20 19 19 19 20 20 21 22 23 24 26 27 28 29 30 31 31 31 31 31 31 31 31 31 31 31 31 31 31 32 33 35 36 36 36 36 35 35 35 35 34 33 31 30 29 29 30 30 31 31 31 32 32 32 33 34 35 36 36 37 -9 -10 -9 -8 -7 -8 -9 -9 -8 -7 -7 -9 -10 -10 -11 -11 -12 -12 -12 -12 -12 -13 -13 -14 -14 -14 -14 -14 -15 -16 -16 -16 -16 -16 -16 -16 -16 -16 -16 -16 -15 -14 -12 -11 -10 -10 -10 -9 -9 -9 -10 -11 -12 -12 -13 -13 -13 -13 -14 -14 -15 -16 -18 -20 -23 -25 -27 -28 -30 -31 -32 -32 -33 -34 -34 -34 -34 -32 -31 -31 -31 -32 -32 -31 -30 -30 -30 -29 -29 -30 -34 -38 -39 -37 -35 -33 -32 -31 -31 -29 -25 -20 -15 -9 -5 -4 -3 -3 -3 -4 -5 -6 -6 -6 -5 -3 -1 0 2 3 4 5 5 6 6 6 6 6 7 8 8 8 7 6 6 5 5 5 4 2 1 2 3 4 5 4 4 5 6 6 6 5 5 4 5 5 5 5 4 3 3 4 4 3 2 2 1 1 2 3 4 4 3 2 1 2 3 5 4 1 -1 -3 -2 0 1 0 -0 -0 1 2 3 4 5 6 7 8 9 9 10 11 11 11 11 11 11 11 11 12 12 12 13 13 14 16 17 18 18 19 20 21 22 23 24 25 26 27 28 29 31 32 33 34 35 35 36 36 37 38 39 39 38 38 38 38 38 38 38 37 37 37 37 36 36 36 36 36 36 35 35 34 34 34 34 35 36 36 37 37 36 36 34 33 31 30 29 27 27 26 26 26 26 26 26 26 26 27 28 29 30 31 32 33 34 34 35 35 35 36 36 36 37 37 38 39 39 38 37 36 34 33 31 30 29 29 29 29 30 30 31 32 32 32 32 32 32 32 32 32 32 31 31 30 29 29 28 27 26 25 24 23 23 23 23 23 23 22 22 21 20 20 20 20 20 20 20 20 20 20 21 21 22 23 25 26 27 29 30 31 31 31 31 31 32 32 32 32 32 32 31 31 32 32 34 35 36 37 37 36 36 35 35 35 35 34 33 31 31 30 30 30 31 31 31 32 32 32 33 34 34 35 36 36 -9 -10 -9 -8 -8 -9 -9 -9 -8 -8 -9 -10 -11 -11 -11 -12 -12 -12 -12 -12 -12 -12 -13 -13 -13 -13 -13 -13 -14 -14 -15 -16 -17 -16 -16 -16 -15 -15 -15 -15 -14 -13 -11 -9 -9 -9 -9 -9 -9 -9 -10 -11 -11 -11 -12 -13 -13 -13 -14 -14 -15 -16 -18 -20 -22 -24 -25 -27 -29 -30 -31 -32 -34 -35 -35 -36 -36 -35 -34 -34 -34 -34 -34 -33 -33 -32 -31 -30 -30 -33 -37 -40 -40 -39 -37 -33 -30 -28 -28 -28 -26 -23 -20 -15 -9 -5 -4 -4 -5 -6 -7 -7 -7 -6 -5 -3 -1 0 2 3 4 5 6 6 6 6 7 7 8 8 8 7 7 6 6 5 5 4 3 1 0 1 2 3 3 4 4 4 5 5 4 4 4 4 4 4 3 2 2 2 2 3 3 2 2 1 1 2 3 4 5 4 3 2 2 3 4 4 2 -1 -2 -2 -0 2 1 0 -0 1 2 3 4 5 6 7 8 9 10 10 11 12 12 12 12 12 12 12 12 12 12 13 13 14 15 16 17 18 19 19 20 21 22 23 24 25 26 27 28 29 30 32 33 34 35 35 36 37 38 39 39 39 39 39 39 39 39 39 39 39 39 39 38 38 38 38 38 38 37 36 36 35 35 35 35 36 37 37 38 38 38 37 35 34 33 32 30 29 28 28 27 27 27 27 27 27 28 28 29 30 31 32 33 34 35 35 36 36 36 36 35 35 36 37 38 38 39 39 38 37 36 34 32 31 30 30 30 30 30 31 32 32 33 33 32 32 32 32 32 32 32 32 32 31 31 30 29 28 27 26 25 24 24 23 23 23 23 23 22 22 22 21 20 20 20 20 21 20 20 20 20 21 22 23 24 25 26 28 30 31 31 32 32 32 32 32 32 32 32 32 33 33 33 33 34 35 37 37 38 37 36 35 35 35 35 35 34 34 33 32 31 31 32 32 32 32 32 33 33 34 35 35 36 37 -8 -9 -9 -9 -10 -11 -11 -10 -9 -9 -10 -11 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -13 -14 -16 -17 -16 -16 -15 -15 -14 -14 -13 -12 -11 -9 -8 -8 -8 -9 -9 -9 -10 -10 -10 -10 -11 -11 -12 -13 -13 -14 -15 -16 -17 -18 -19 -21 -23 -24 -25 -27 -29 -30 -32 -34 -35 -36 -37 -37 -36 -35 -35 -35 -36 -36 -36 -35 -34 -33 -32 -33 -37 -40 -41 -39 -38 -37 -33 -29 -25 -24 -25 -25 -23 -19 -16 -12 -7 -5 -6 -7 -7 -8 -7 -7 -6 -4 -2 -1 1 2 3 4 5 6 6 6 7 7 7 8 8 8 7 6 5 5 5 5 4 2 1 0 0 1 2 3 3 3 3 3 3 3 3 3 3 3 2 1 -0 -0 0 1 2 2 1 1 1 1 2 4 5 6 5 4 3 3 3 4 3 1 -1 -2 0 2 2 1 1 1 2 4 4 5 6 7 8 9 10 11 11 12 12 12 12 12 12 12 12 12 12 12 13 14 15 16 16 17 18 19 20 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 39 38 38 39 39 39 40 40 40 40 40 40 40 40 39 39 39 38 37 37 36 36 35 36 36 36 37 38 39 39 38 37 36 35 34 33 32 31 30 29 29 29 29 29 29 29 30 30 31 32 32 33 33 34 35 36 36 37 37 36 36 35 35 36 36 38 39 39 39 38 37 35 33 32 31 31 31 31 32 32 33 33 33 33 33 33 33 33 33 33 33 33 33 32 32 31 30 29 29 28 27 26 25 24 24 23 23 23 23 23 23 22 21 21 21 21 21 21 21 21 20 21 21 22 23 24 26 27 29 30 31 32 33 33 33 33 33 33 33 33 34 34 34 34 35 36 37 37 38 37 36 35 35 35 35 36 36 36 35 34 33 33 33 33 33 33 33 33 34 34 35 36 36 37 -8 -9 -9 -9 -11 -12 -11 -10 -9 -10 -11 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12 -11 -11 -12 -13 -15 -16 -16 -16 -15 -14 -13 -12 -11 -10 -9 -8 -8 -8 -8 -9 -9 -10 -9 -9 -9 -10 -10 -11 -12 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -25 -27 -29 -32 -33 -35 -36 -37 -38 -38 -38 -38 -37 -37 -36 -36 -36 -36 -36 -36 -36 -39 -41 -41 -38 -36 -35 -32 -28 -24 -22 -23 -26 -25 -22 -18 -13 -10 -7 -7 -8 -8 -8 -7 -6 -5 -3 -2 -0 1 2 3 4 5 6 6 6 7 7 8 8 8 7 6 5 5 5 5 4 4 3 2 1 1 2 2 3 3 3 3 2 2 2 2 2 2 2 0 -1 -1 -1 -1 -0 1 1 1 1 1 2 3 5 6 7 6 5 4 3 4 4 2 0 -0 1 3 4 3 2 2 3 4 5 6 7 8 8 9 10 11 11 12 13 13 13 12 12 12 12 12 12 12 13 13 14 15 16 17 17 18 19 20 21 22 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 38 38 38 38 38 38 39 39 40 40 40 40 40 40 40 40 39 39 38 37 37 36 36 36 36 37 37 38 38 39 39 38 38 37 37 36 35 34 33 33 32 32 31 31 31 31 31 32 32 33 33 33 33 34 34 35 36 37 37 37 37 36 36 35 35 36 37 38 39 39 39 37 36 34 33 33 32 32 33 33 34 34 34 34 34 34 34 34 33 33 33 34 34 34 33 32 32 31 30 30 29 28 28 27 26 25 24 24 24 24 24 24 24 23 22 21 22 22 22 22 22 21 21 22 22 23 24 25 26 28 30 31 33 34 34 34 34 33 33 33 34 34 35 35 35 35 36 36 37 37 37 36 36 36 36 36 36 37 37 37 36 35 34 34 34 33 33 33 33 34 34 35 36 36 37 -9 -9 -9 -10 -11 -11 -10 -10 -10 -12 -13 -13 -12 -12 -12 -12 -12 -12 -12 -11 -11 -11 -11 -11 -12 -12 -12 -11 -11 -11 -12 -14 -15 -15 -15 -14 -13 -11 -10 -8 -8 -8 -8 -8 -8 -8 -9 -9 -8 -8 -8 -9 -10 -10 -11 -11 -12 -13 -14 -15 -16 -17 -18 -19 -19 -19 -20 -21 -23 -25 -28 -30 -33 -35 -36 -37 -38 -39 -39 -39 -38 -37 -36 -36 -36 -38 -40 -41 -40 -40 -40 -39 -36 -33 -31 -28 -25 -23 -23 -27 -30 -26 -23 -22 -23 -20 -14 -10 -8 -8 -7 -6 -5 -4 -2 -1 0 2 3 4 4 5 5 6 6 6 7 8 8 7 7 6 5 5 5 5 4 4 3 3 2 2 2 2 3 3 2 2 2 2 1 2 2 1 0 -1 -2 -2 -2 -2 -1 -0 0 0 1 1 2 4 6 7 8 7 5 4 3 3 3 2 2 2 4 5 5 4 4 4 5 6 7 7 8 9 9 10 10 11 12 13 13 13 13 12 12 12 12 12 12 12 13 14 15 15 16 17 17 18 19 20 21 22 23 23 24 25 26 27 27 28 29 30 31 32 33 34 35 36 36 36 36 36 37 37 37 38 39 39 40 40 40 40 40 40 39 39 39 38 37 37 36 36 36 37 37 38 39 39 39 38 38 38 38 38 37 36 36 35 35 35 34 34 34 33 33 33 33 34 34 34 34 34 34 35 35 36 37 37 37 37 37 37 36 36 36 37 37 38 39 38 37 36 35 34 34 34 34 34 35 36 36 36 35 35 35 35 35 34 34 34 35 35 35 34 33 32 32 31 30 30 29 29 28 28 27 26 25 25 25 25 25 25 24 23 23 23 23 23 24 23 23 23 23 23 23 24 25 26 27 29 31 32 34 35 35 35 34 34 34 34 35 35 35 35 35 36 36 36 36 36 36 36 36 36 36 37 37 38 38 37 37 36 35 34 34 33 33 33 33 34 34 35 36 37 -10 -10 -11 -11 -11 -11 -10 -10 -11 -13 -14 -13 -13 -12 -12 -12 -12 -12 -11 -11 -11 -11 -11 -11 -11 -11 -12 -11 -11 -11 -12 -13 -14 -14 -13 -13 -11 -9 -7 -7 -8 -9 -9 -8 -7 -7 -7 -7 -6 -7 -8 -9 -10 -10 -10 -10 -11 -13 -14 -15 -16 -17 -18 -18 -19 -19 -19 -21 -22 -25 -27 -30 -32 -34 -36 -37 -38 -39 -40 -40 -40 -38 -37 -37 -38 -39 -41 -43 -41 -37 -34 -33 -32 -30 -29 -27 -25 -24 -27 -32 -33 -27 -21 -20 -23 -25 -21 -14 -9 -8 -7 -5 -4 -3 -2 -1 1 2 4 4 4 4 5 6 6 7 7 7 7 7 6 5 4 4 5 5 4 4 4 4 3 3 3 2 2 3 2 2 2 2 1 1 1 1 -0 -1 -2 -2 -2 -2 -1 -1 -0 0 1 2 3 4 6 7 8 7 5 4 4 4 4 3 4 5 6 6 6 5 5 6 7 7 8 9 9 10 10 11 11 12 12 13 13 13 13 12 12 12 12 12 12 13 14 14 15 16 16 17 17 18 19 20 21 22 22 23 24 25 25 26 27 28 28 29 30 31 32 33 33 34 34 34 34 35 35 35 36 37 38 39 39 40 40 40 40 39 39 39 38 38 38 37 37 37 37 37 38 38 39 39 38 38 38 38 38 38 38 38 37 37 37 37 37 37 36 36 35 35 35 35 35 35 35 35 35 35 35 36 36 37 37 37 38 37 37 37 37 37 38 38 38 38 37 36 36 35 35 35 35 36 37 37 37 37 37 36 36 36 36 35 36 36 36 36 36 35 34 33 32 32 31 31 30 30 30 29 29 28 27 26 25 25 26 26 26 25 24 24 24 24 25 25 25 24 24 24 24 25 25 25 26 28 30 32 34 35 35 35 35 34 34 34 35 35 35 35 35 35 36 36 36 36 36 36 36 36 36 37 37 38 38 38 37 36 36 35 34 34 33 33 33 33 34 35 36 37 -11 -12 -12 -13 -12 -11 -10 -10 -11 -14 -15 -14 -13 -12 -12 -12 -12 -11 -11 -10 -10 -10 -10 -10 -10 -11 -11 -11 -10 -10 -11 -12 -13 -13 -12 -11 -9 -7 -6 -7 -9 -10 -10 -8 -7 -6 -5 -4 -4 -6 -8 -9 -9 -9 -8 -9 -11 -12 -14 -15 -16 -17 -18 -18 -19 -19 -19 -20 -22 -24 -27 -30 -32 -35 -37 -38 -38 -38 -39 -40 -39 -39 -38 -39 -40 -40 -41 -41 -40 -38 -36 -35 -33 -32 -33 -32 -30 -28 -31 -35 -36 -32 -27 -23 -24 -27 -23 -16 -10 -8 -7 -5 -4 -3 -2 -0 1 3 4 4 4 4 5 5 6 7 7 7 7 7 6 5 4 4 5 5 5 4 4 4 4 3 3 3 3 3 3 2 2 2 2 1 1 0 -0 -1 -2 -2 -2 -2 -2 -1 -1 -0 0 1 3 5 6 7 7 7 5 5 4 5 5 6 7 7 7 7 6 6 6 7 8 9 9 10 10 11 11 12 12 12 13 13 13 13 13 13 12 12 12 12 13 14 14 15 16 17 17 17 18 19 20 20 21 22 22 23 23 24 25 25 26 26 27 28 29 29 30 31 31 31 32 32 32 33 33 34 35 36 37 38 38 39 39 39 39 39 39 38 38 38 37 37 37 37 37 37 38 38 39 38 38 38 38 38 38 38 38 38 38 38 38 39 39 39 38 38 37 37 37 36 36 36 36 36 36 36 36 36 36 37 37 37 38 38 38 38 38 38 38 38 38 37 37 36 36 36 36 36 37 38 38 38 38 38 38 38 37 37 36 36 37 37 37 37 37 36 35 34 34 33 32 32 31 31 31 30 30 29 28 27 26 26 26 26 27 26 26 25 25 25 25 26 26 26 26 25 25 25 25 25 26 27 29 31 33 34 35 36 35 35 34 34 34 34 35 35 35 35 35 36 36 36 36 36 36 36 36 36 37 37 38 38 38 37 36 36 35 34 34 33 33 33 34 35 36 37 -12 -13 -14 -14 -13 -12 -10 -9 -11 -14 -16 -16 -14 -12 -12 -12 -11 -11 -10 -10 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -11 -12 -12 -12 -11 -9 -8 -6 -6 -8 -9 -10 -9 -8 -5 -3 -2 -2 -4 -6 -7 -7 -7 -7 -7 -8 -10 -12 -13 -14 -16 -17 -17 -18 -18 -19 -20 -21 -22 -23 -26 -29 -32 -35 -37 -38 -38 -37 -38 -39 -40 -40 -41 -41 -41 -41 -41 -41 -41 -42 -42 -40 -39 -37 -38 -37 -34 -32 -33 -35 -37 -37 -35 -32 -29 -29 -25 -20 -14 -10 -7 -6 -5 -3 -2 -0 2 3 4 4 3 3 4 5 6 7 7 7 7 6 6 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 3 3 2 2 1 1 1 1 -0 -1 -2 -2 -1 -1 -1 -2 -1 -1 0 1 3 5 6 7 7 7 6 6 6 6 7 8 9 9 8 8 7 7 8 8 9 10 10 11 11 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 14 14 15 16 17 17 18 18 19 20 20 21 21 22 22 23 23 24 24 25 25 25 26 26 27 28 28 29 29 29 30 30 31 31 32 33 33 35 36 36 37 38 38 38 38 38 38 38 37 37 37 37 36 36 37 37 37 38 38 38 38 38 38 38 38 38 38 38 39 39 39 39 40 40 40 39 39 38 38 37 37 37 37 37 37 37 37 37 36 37 37 38 38 39 39 39 39 39 39 39 38 37 37 37 37 37 37 38 38 39 40 40 40 40 40 39 38 37 37 37 37 38 38 38 38 37 37 36 35 34 34 33 33 32 32 31 31 30 30 29 28 27 27 27 27 27 27 27 26 26 26 27 27 28 27 27 26 26 26 26 26 27 29 30 32 34 35 35 35 35 34 34 34 34 34 35 35 35 35 36 36 36 37 37 36 36 36 36 36 37 37 38 38 38 37 36 36 35 35 34 34 34 34 35 36 36 -13 -14 -15 -14 -14 -12 -11 -11 -12 -15 -18 -18 -16 -13 -12 -12 -12 -11 -11 -10 -10 -10 -10 -10 -10 -10 -11 -11 -11 -11 -12 -12 -12 -11 -10 -8 -7 -6 -7 -8 -9 -9 -8 -5 -3 -1 -0 -1 -3 -4 -5 -5 -4 -4 -5 -7 -9 -11 -12 -14 -15 -16 -16 -17 -18 -19 -20 -22 -22 -23 -25 -28 -31 -34 -36 -37 -37 -36 -37 -39 -41 -43 -43 -43 -42 -42 -42 -42 -43 -43 -43 -43 -42 -41 -39 -38 -35 -33 -32 -32 -35 -38 -40 -40 -36 -34 -30 -25 -21 -15 -9 -7 -6 -4 -2 0 2 4 4 4 3 3 4 5 6 7 7 7 7 7 6 5 5 5 4 4 4 4 4 4 4 4 5 5 4 4 3 3 2 1 1 1 1 1 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 1 3 4 6 7 8 8 8 8 8 8 9 10 10 10 9 8 8 8 9 10 10 11 11 12 12 12 13 13 13 13 13 13 13 14 14 14 13 13 14 14 15 15 16 17 18 18 19 19 20 21 21 22 22 22 23 23 23 23 24 24 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 32 33 34 35 35 36 37 37 37 38 37 37 37 37 36 36 36 36 36 36 36 36 37 37 37 38 38 38 38 38 38 38 38 39 39 39 40 40 40 40 40 40 39 39 38 38 38 38 38 38 38 38 37 37 37 37 38 39 39 40 39 39 39 39 39 38 38 38 38 38 38 38 39 40 40 41 41 42 42 41 40 39 38 37 37 38 39 39 39 39 39 38 37 37 36 36 35 34 33 33 32 32 31 31 30 29 28 27 27 27 28 28 28 28 28 28 28 28 29 29 28 27 26 26 26 27 28 29 30 32 33 34 35 35 35 34 33 33 33 34 34 35 35 36 36 36 36 37 37 37 36 36 36 36 36 37 37 38 38 37 37 37 36 36 35 35 34 34 35 35 36 -13 -14 -14 -14 -13 -12 -12 -13 -14 -16 -17 -18 -17 -15 -13 -13 -12 -12 -11 -11 -11 -10 -9 -9 -9 -10 -11 -11 -12 -12 -12 -12 -12 -11 -9 -7 -6 -6 -7 -8 -8 -8 -6 -3 -1 1 1 -0 -2 -2 -2 -2 -2 -2 -4 -6 -8 -10 -12 -13 -14 -15 -15 -16 -18 -19 -21 -22 -23 -23 -24 -26 -29 -31 -33 -35 -36 -36 -38 -40 -43 -45 -45 -44 -44 -43 -44 -44 -44 -44 -43 -43 -43 -41 -39 -37 -34 -32 -30 -30 -33 -38 -41 -43 -42 -40 -37 -33 -28 -21 -11 -8 -6 -4 -2 1 3 4 4 4 3 4 4 5 6 7 7 8 7 7 6 6 5 5 4 4 4 3 3 4 4 5 5 5 5 5 4 3 2 2 2 3 3 2 1 -1 -1 -2 -1 -1 -0 -0 -0 0 1 2 3 5 6 8 9 10 10 9 10 10 11 12 11 10 9 8 9 10 10 11 11 12 12 12 13 13 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 16 17 18 18 19 20 20 21 21 22 22 22 22 23 23 23 23 23 23 24 24 24 25 25 26 26 27 27 28 28 29 29 30 31 32 33 33 34 35 35 36 36 37 37 37 37 36 36 36 36 35 35 35 35 36 36 36 36 37 37 38 38 38 38 38 38 38 38 39 39 39 40 40 41 41 40 40 39 39 39 39 39 39 39 39 38 37 37 37 37 38 39 39 39 39 39 39 39 39 38 38 38 39 39 39 39 40 41 42 42 43 43 43 42 41 40 39 38 37 38 39 40 40 40 40 39 38 38 37 37 36 36 35 34 33 32 32 31 31 30 29 28 28 28 28 29 29 30 30 29 29 30 30 30 29 28 27 26 27 28 29 30 31 32 33 33 34 34 34 33 33 33 33 33 34 35 35 36 36 36 37 37 37 37 36 36 36 36 36 36 37 37 37 37 37 37 37 36 36 35 35 35 35 35 35 -13 -14 -14 -13 -13 -12 -13 -14 -14 -15 -16 -17 -17 -16 -15 -14 -13 -13 -12 -12 -11 -10 -9 -9 -9 -10 -10 -11 -12 -12 -12 -12 -11 -10 -9 -7 -7 -7 -7 -8 -8 -7 -5 -2 -0 0 0 0 0 0 0 0 0 -1 -3 -5 -7 -10 -12 -13 -13 -14 -15 -16 -17 -19 -21 -22 -23 -23 -23 -25 -27 -28 -30 -32 -34 -36 -38 -41 -43 -45 -45 -46 -46 -46 -46 -46 -45 -44 -43 -43 -42 -40 -38 -37 -36 -34 -32 -30 -32 -35 -39 -44 -46 -44 -42 -38 -32 -23 -14 -9 -6 -4 -2 1 3 4 4 4 4 4 4 5 6 6 7 8 8 7 7 6 6 5 5 4 3 3 3 3 4 5 5 6 6 6 5 4 3 3 3 4 4 3 1 -0 -1 -2 -1 -1 0 1 1 1 2 3 4 5 7 9 10 11 11 11 11 12 13 13 12 10 9 9 10 11 12 12 12 12 12 13 13 14 14 14 14 14 14 14 14 14 14 14 14 15 15 16 16 17 18 19 19 20 20 21 21 22 22 22 22 22 22 23 23 23 23 23 23 24 24 25 25 26 26 27 27 28 29 29 30 30 31 32 33 34 34 35 35 36 36 37 37 37 36 36 36 36 35 35 35 35 35 35 35 36 36 37 37 37 38 38 38 38 38 38 38 38 39 39 40 40 41 41 40 40 40 39 39 39 39 39 39 39 38 38 37 37 38 38 39 39 39 39 39 39 38 38 38 38 39 39 39 40 40 41 42 43 43 44 44 44 43 42 41 40 38 38 38 39 40 41 41 40 40 39 39 38 38 38 37 36 35 34 33 33 32 32 31 30 29 29 28 28 29 30 31 31 31 31 32 32 32 31 29 28 27 27 28 30 31 32 32 33 33 33 33 33 33 32 32 32 32 33 34 35 36 36 36 37 37 37 37 37 36 36 36 36 36 36 37 37 37 37 37 37 37 37 36 36 36 35 35 35 -13 -13 -13 -13 -13 -12 -13 -14 -14 -14 -14 -14 -15 -16 -16 -15 -14 -14 -13 -13 -12 -11 -10 -9 -9 -9 -10 -11 -11 -12 -12 -11 -11 -10 -9 -8 -7 -7 -7 -7 -7 -6 -5 -3 -2 -2 -1 0 1 2 2 2 1 -0 -2 -4 -7 -10 -13 -14 -14 -14 -15 -16 -17 -18 -20 -21 -22 -22 -22 -23 -24 -26 -28 -30 -32 -35 -39 -42 -44 -45 -46 -47 -48 -48 -48 -47 -46 -45 -44 -43 -41 -40 -39 -38 -37 -35 -32 -30 -32 -34 -37 -41 -46 -46 -43 -38 -33 -27 -22 -14 -7 -3 -1 1 3 4 5 5 5 5 5 5 5 6 7 8 8 8 7 7 6 6 5 5 4 3 3 3 4 4 5 6 6 6 6 5 4 4 4 4 4 3 2 0 -1 -2 -2 -1 1 2 2 3 3 4 5 6 8 9 11 12 12 12 13 13 13 13 12 10 10 10 11 12 13 13 13 13 13 13 13 14 14 14 14 15 15 15 15 15 15 15 15 15 16 17 18 18 19 19 20 20 21 21 21 21 21 21 21 22 22 22 22 22 22 23 23 24 24 25 25 26 27 27 28 29 29 30 30 31 32 33 33 34 35 35 36 36 36 37 37 36 36 36 36 36 35 35 35 35 35 35 35 35 36 36 36 37 37 37 37 38 38 38 38 38 38 39 39 40 40 40 40 40 40 40 40 40 40 40 40 39 38 38 38 38 38 39 39 39 38 38 38 38 38 38 38 38 39 39 40 40 41 42 43 44 44 45 45 45 44 43 42 41 40 39 39 39 40 40 41 41 40 40 40 39 39 38 38 37 36 35 34 34 33 33 33 32 31 30 29 29 30 31 31 32 32 33 33 33 33 33 31 30 28 28 29 30 31 32 32 32 32 32 32 32 32 32 31 31 32 32 33 34 35 36 36 37 37 37 37 37 36 37 37 36 36 36 36 36 37 37 37 37 37 37 37 37 36 36 35 35 -13 -13 -14 -13 -13 -12 -12 -13 -13 -12 -12 -12 -13 -14 -15 -15 -14 -13 -13 -13 -13 -13 -11 -10 -10 -10 -10 -11 -11 -12 -12 -11 -11 -10 -9 -8 -8 -7 -7 -7 -7 -6 -4 -3 -4 -4 -3 -0 2 3 4 3 1 -1 -3 -5 -8 -12 -15 -16 -16 -15 -15 -15 -16 -17 -19 -19 -20 -21 -21 -22 -23 -25 -27 -29 -33 -36 -40 -42 -44 -45 -46 -48 -48 -48 -48 -48 -48 -47 -46 -44 -43 -41 -40 -40 -39 -37 -35 -34 -36 -37 -37 -39 -43 -45 -43 -40 -36 -32 -26 -20 -12 -5 -0 2 3 4 5 5 5 5 5 5 6 6 8 9 9 9 8 7 7 6 6 6 5 4 4 4 4 4 5 5 6 6 6 6 5 5 4 4 3 3 2 1 -0 -1 -1 -1 1 2 3 4 5 5 6 7 8 10 12 13 13 13 13 13 13 13 12 10 10 10 12 13 14 13 13 12 12 13 13 13 14 14 15 15 15 15 15 15 15 15 16 16 17 18 19 19 20 20 20 20 21 21 20 20 20 20 20 21 21 21 21 21 22 22 23 24 24 25 26 27 27 28 29 29 30 30 31 32 32 33 34 34 35 35 36 36 36 36 36 36 36 36 35 35 35 35 35 35 35 35 35 35 35 36 36 36 36 37 37 37 37 37 37 37 38 38 39 39 40 40 40 40 41 41 41 41 41 41 40 39 39 38 38 39 39 39 38 38 38 37 37 37 37 38 38 38 39 39 40 40 41 42 43 44 45 46 46 46 45 44 43 42 41 40 40 40 40 40 41 41 41 41 40 40 39 39 38 37 37 36 35 35 34 34 34 33 32 32 31 31 31 31 32 32 33 34 34 35 35 35 34 33 31 29 29 29 31 32 32 32 32 31 31 31 30 30 30 31 31 31 32 33 34 35 36 37 37 37 37 37 37 37 37 37 36 36 36 36 36 37 37 37 37 37 37 37 37 37 36 35 -13 -13 -14 -14 -13 -12 -12 -12 -12 -11 -11 -11 -11 -12 -13 -14 -14 -13 -13 -13 -14 -14 -13 -12 -11 -11 -10 -11 -11 -12 -12 -12 -11 -10 -9 -8 -8 -8 -8 -9 -8 -7 -6 -6 -7 -5 -2 1 3 3 1 -0 -2 -3 -4 -6 -10 -13 -15 -16 -17 -16 -16 -16 -16 -17 -18 -18 -19 -20 -21 -22 -23 -24 -26 -29 -34 -38 -41 -42 -44 -45 -47 -48 -48 -48 -48 -48 -48 -48 -47 -46 -44 -43 -42 -42 -41 -40 -39 -39 -41 -41 -40 -38 -41 -44 -43 -39 -34 -32 -26 -23 -18 -10 -2 2 3 4 5 5 5 6 6 6 6 7 9 10 11 11 10 8 7 7 7 7 6 6 5 4 4 4 4 5 5 6 6 6 6 5 4 3 3 2 2 2 1 -0 -1 -0 1 3 4 5 6 6 7 8 9 11 12 13 14 14 14 13 13 12 11 10 10 11 13 14 14 13 12 11 12 12 12 13 13 14 14 15 15 15 15 15 16 16 16 17 18 19 20 20 20 20 20 20 20 19 19 19 19 19 20 20 20 20 21 21 21 22 23 24 25 25 26 27 28 28 29 29 30 31 31 32 32 33 34 34 35 35 35 36 36 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 36 36 36 36 36 36 36 37 37 37 38 39 39 39 40 40 41 41 42 42 42 41 40 40 39 39 39 39 40 39 38 37 37 36 36 37 37 37 38 38 38 39 40 41 41 42 44 45 45 46 46 46 46 45 44 43 42 42 41 41 41 41 41 41 41 41 41 40 40 39 39 38 37 36 36 35 36 36 36 35 34 33 33 33 33 33 33 33 34 34 35 36 37 38 38 36 34 32 30 30 30 31 32 32 32 31 30 29 29 29 29 29 30 30 31 31 33 34 35 36 36 36 36 36 36 37 37 36 36 36 36 36 36 36 37 37 37 37 37 37 37 37 36 36 -13 -13 -13 -13 -13 -12 -12 -13 -12 -12 -11 -11 -11 -11 -12 -13 -15 -14 -13 -13 -15 -16 -16 -14 -12 -11 -11 -11 -11 -12 -12 -12 -11 -10 -10 -10 -10 -9 -9 -9 -9 -8 -8 -8 -7 -5 -3 -0 0 -2 -3 -4 -4 -4 -6 -8 -10 -12 -14 -15 -16 -16 -16 -16 -16 -17 -17 -18 -19 -20 -22 -23 -24 -24 -26 -30 -35 -39 -41 -43 -45 -46 -47 -47 -47 -47 -47 -47 -47 -47 -47 -47 -47 -46 -45 -45 -44 -44 -43 -43 -44 -44 -42 -40 -41 -43 -42 -37 -31 -30 -29 -27 -23 -17 -9 -1 3 4 5 5 5 6 6 6 7 9 10 11 12 12 12 10 9 8 8 7 7 7 6 5 5 4 4 4 4 5 5 5 5 5 4 3 3 3 3 3 2 1 0 1 2 3 5 6 7 8 8 9 10 12 13 13 14 14 14 13 13 12 11 10 10 12 14 14 13 11 10 10 11 11 11 12 12 13 14 15 15 15 15 15 16 16 17 18 19 20 20 19 19 19 19 19 18 18 18 18 18 18 19 19 19 20 20 21 21 22 23 23 24 25 26 27 27 28 28 29 29 30 31 31 32 32 33 33 34 34 35 35 34 34 34 34 34 34 34 34 34 34 34 35 35 35 34 34 34 34 34 34 35 35 35 35 35 35 35 36 36 37 37 38 38 39 39 40 40 41 41 41 41 41 40 40 40 40 40 40 40 39 38 37 36 35 36 36 37 37 37 38 39 39 40 41 42 43 44 45 45 46 46 46 46 46 45 44 43 43 42 42 42 41 41 41 41 42 41 41 40 40 39 38 37 37 36 36 37 37 37 37 36 35 35 34 34 34 34 35 35 35 36 37 38 39 40 40 38 36 33 31 31 31 31 32 31 31 29 28 27 27 27 28 28 28 29 30 31 33 34 35 35 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 37 36 36 36 37 37 36 36 -13 -13 -13 -13 -13 -13 -13 -13 -13 -13 -12 -12 -12 -12 -12 -13 -14 -14 -14 -14 -15 -17 -18 -17 -15 -13 -12 -12 -12 -12 -12 -12 -12 -12 -11 -11 -11 -11 -10 -10 -10 -10 -9 -8 -7 -5 -4 -3 -4 -6 -7 -7 -6 -5 -6 -7 -9 -11 -13 -14 -15 -16 -16 -16 -16 -16 -16 -17 -19 -21 -23 -24 -24 -25 -28 -32 -36 -39 -42 -44 -46 -47 -47 -47 -47 -46 -46 -46 -46 -46 -47 -47 -48 -48 -48 -48 -47 -46 -46 -45 -44 -43 -43 -42 -41 -41 -40 -34 -28 -27 -28 -28 -27 -23 -17 -10 -2 3 4 5 5 6 6 7 8 9 11 12 14 14 14 12 11 9 8 8 8 7 7 6 6 5 5 4 4 4 5 5 4 4 4 4 4 4 4 4 3 3 2 2 3 4 6 7 8 9 10 10 11 12 13 13 13 13 13 13 13 12 10 10 11 13 14 13 11 10 9 10 10 10 11 11 12 13 14 14 15 15 15 15 16 16 17 19 19 19 19 18 18 18 18 17 17 16 16 17 17 18 18 18 19 19 20 20 21 21 22 23 24 25 25 26 26 26 27 27 28 28 29 30 30 31 31 32 33 33 33 33 33 33 33 33 33 33 34 34 34 34 34 34 34 34 34 34 34 33 33 33 33 34 34 34 34 34 34 35 35 36 36 37 37 38 38 39 39 40 40 40 40 40 39 40 40 41 41 41 41 39 38 37 36 35 35 36 36 37 37 38 39 40 41 42 43 44 44 45 45 46 46 46 46 46 46 45 45 44 44 43 43 43 42 42 42 42 42 41 41 40 40 39 38 38 37 37 38 38 38 38 38 37 36 36 36 36 36 36 37 37 37 38 39 41 42 43 42 40 37 34 33 32 32 31 31 31 29 28 27 26 26 26 26 27 28 29 30 31 33 34 34 35 35 36 36 36 35 35 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 -13 -12 -12 -12 -13 -13 -13 -12 -12 -12 -12 -12 -12 -12 -13 -13 -13 -14 -15 -16 -16 -18 -18 -18 -17 -15 -14 -13 -13 -13 -13 -13 -13 -13 -13 -13 -13 -12 -11 -11 -11 -11 -10 -9 -7 -5 -5 -6 -7 -9 -9 -8 -7 -6 -5 -6 -8 -11 -12 -14 -15 -15 -15 -15 -15 -15 -16 -17 -19 -21 -22 -23 -24 -26 -30 -33 -37 -40 -43 -45 -47 -47 -47 -47 -46 -46 -46 -46 -46 -46 -46 -46 -47 -48 -49 -50 -49 -49 -48 -46 -44 -43 -42 -41 -39 -38 -37 -32 -28 -26 -26 -27 -28 -27 -25 -20 -11 -2 3 4 5 5 6 7 8 9 11 13 14 15 15 14 13 11 9 9 8 7 7 7 7 6 6 6 5 5 5 4 4 4 4 4 4 5 5 5 5 5 5 4 5 5 6 8 9 10 11 11 12 13 13 13 13 14 14 14 13 12 11 11 12 13 13 12 10 9 9 10 10 10 10 10 11 12 13 14 14 15 15 15 16 17 18 19 19 18 17 17 17 17 17 16 15 15 16 16 16 17 17 18 18 18 19 20 20 21 21 22 23 23 24 24 24 25 25 25 26 26 27 27 28 29 29 30 30 31 31 31 32 32 32 32 33 33 33 33 34 34 34 34 34 34 34 33 33 33 33 32 32 32 32 32 33 33 33 33 34 35 35 36 36 37 37 38 38 39 39 39 38 38 39 39 40 41 41 41 40 39 38 37 36 35 35 36 36 37 37 38 40 41 42 43 44 45 45 45 46 46 46 47 47 47 46 46 45 45 45 44 44 44 43 43 43 43 42 42 41 40 40 39 39 39 39 39 39 39 39 39 39 39 38 38 38 38 38 38 38 39 39 39 40 42 43 44 45 44 41 38 36 34 33 32 32 31 30 28 27 25 25 25 25 26 27 28 29 30 31 32 33 34 35 35 35 35 35 35 35 35 36 36 36 36 36 36 36 36 36 36 36 36 36 36 -14 -13 -12 -12 -12 -13 -13 -13 -13 -13 -13 -13 -13 -13 -13 -14 -15 -16 -17 -19 -19 -20 -20 -18 -17 -16 -15 -15 -14 -13 -13 -13 -13 -13 -14 -14 -14 -14 -13 -13 -13 -12 -11 -9 -7 -6 -6 -8 -9 -9 -9 -9 -8 -6 -5 -6 -8 -10 -12 -13 -14 -15 -15 -15 -15 -15 -16 -17 -19 -21 -22 -22 -24 -27 -31 -34 -36 -40 -43 -46 -47 -47 -47 -47 -47 -47 -47 -47 -47 -47 -46 -46 -45 -46 -47 -49 -50 -51 -50 -50 -47 -43 -41 -40 -39 -36 -33 -31 -30 -30 -29 -27 -26 -28 -29 -27 -21 -11 -3 3 4 5 6 6 7 9 10 12 14 15 16 16 14 13 11 9 8 8 7 7 7 7 7 8 7 7 7 6 4 4 3 4 4 5 6 6 7 7 7 6 6 6 7 8 9 10 11 12 13 13 14 14 14 14 14 14 13 12 12 12 13 13 13 11 10 9 9 10 10 10 10 10 11 12 13 14 14 14 15 15 16 18 19 18 17 16 16 16 17 16 16 15 14 15 15 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 22 22 23 23 23 23 24 24 25 25 26 27 27 28 28 29 29 30 30 31 31 32 32 32 33 33 34 34 34 34 34 33 33 33 32 32 31 31 31 31 31 31 32 32 33 33 34 35 35 36 36 37 37 37 37 37 37 37 38 38 39 39 40 40 40 39 39 38 37 36 36 36 36 36 37 38 39 40 42 43 44 45 46 46 46 46 46 46 47 47 47 47 47 46 46 45 45 45 45 45 44 44 43 43 42 41 41 40 40 40 40 40 40 40 40 40 40 40 40 40 39 39 39 39 40 40 40 41 41 41 42 44 45 46 46 44 41 38 36 35 34 33 32 31 30 28 26 24 24 24 25 26 27 28 29 30 31 32 33 34 34 34 34 34 34 34 34 35 35 36 36 36 36 37 37 37 37 36 36 36 36 -14 -13 -13 -12 -12 -13 -13 -13 -13 -14 -14 -14 -13 -13 -14 -15 -16 -18 -19 -21 -22 -23 -22 -20 -18 -17 -16 -15 -15 -14 -14 -13 -13 -13 -14 -14 -15 -15 -15 -15 -14 -13 -12 -9 -7 -7 -8 -9 -10 -9 -9 -9 -8 -7 -6 -6 -7 -9 -10 -11 -12 -13 -15 -16 -16 -16 -16 -17 -19 -20 -20 -22 -25 -28 -30 -33 -36 -40 -43 -45 -46 -46 -46 -46 -46 -46 -47 -47 -47 -47 -47 -46 -45 -43 -44 -45 -48 -51 -53 -53 -50 -45 -40 -38 -38 -36 -34 -35 -36 -37 -36 -32 -27 -24 -24 -26 -25 -21 -13 -4 2 4 5 6 7 8 9 11 13 15 16 16 16 14 12 11 9 8 7 7 7 8 8 9 10 10 9 8 7 5 4 4 4 6 7 7 8 8 8 8 7 7 7 8 9 11 11 12 13 14 15 15 15 15 15 15 14 13 13 13 13 14 13 11 10 9 10 10 10 10 10 11 11 12 13 13 14 14 15 16 17 18 18 17 15 15 15 16 16 15 14 14 14 14 14 14 15 15 15 16 16 17 17 17 18 18 18 19 20 20 20 20 20 20 20 20 21 21 21 22 22 23 24 24 25 25 26 27 28 28 29 30 30 31 32 32 33 33 33 33 33 33 33 32 32 31 31 30 30 30 30 30 30 31 31 32 33 34 34 35 36 36 36 36 36 36 36 36 37 37 38 38 39 39 39 39 38 38 37 37 37 36 36 37 37 38 39 40 41 43 44 45 46 47 47 46 46 46 46 46 47 47 47 47 47 47 46 46 46 45 45 45 45 44 43 42 42 41 41 41 41 41 41 40 40 41 41 41 41 41 41 41 41 41 41 41 42 42 42 43 43 43 44 45 46 46 45 43 40 37 36 35 34 34 33 31 29 27 25 24 24 24 25 26 27 28 29 30 31 32 33 33 34 33 33 33 33 33 34 34 35 36 36 37 37 37 38 37 37 37 37 36 -14 -13 -13 -12 -12 -12 -13 -13 -14 -14 -14 -14 -14 -15 -15 -16 -17 -18 -20 -21 -22 -23 -23 -22 -20 -18 -17 -16 -15 -15 -14 -13 -13 -13 -13 -14 -15 -16 -16 -16 -15 -14 -12 -10 -8 -8 -9 -10 -10 -9 -9 -9 -9 -8 -7 -7 -8 -8 -8 -9 -10 -11 -13 -14 -16 -17 -18 -18 -18 -18 -19 -21 -25 -27 -29 -32 -35 -39 -42 -44 -45 -45 -45 -46 -46 -46 -46 -46 -46 -46 -47 -46 -44 -43 -42 -43 -44 -47 -51 -54 -54 -52 -49 -46 -42 -37 -36 -37 -38 -36 -34 -34 -31 -26 -21 -22 -28 -29 -24 -15 -6 -0 3 5 6 8 9 10 12 14 15 16 16 15 14 12 11 9 8 8 8 8 9 10 11 12 12 12 11 8 6 5 5 6 7 8 9 9 9 9 8 8 8 8 9 10 11 12 14 15 15 16 16 16 16 16 15 14 13 13 14 13 12 11 10 10 10 10 10 10 11 11 11 12 13 13 14 14 15 17 18 18 16 15 14 14 15 15 15 14 13 13 13 14 14 14 14 14 15 15 15 15 15 16 16 16 17 17 18 18 18 17 17 17 18 18 18 18 18 19 19 20 21 21 22 23 24 24 25 26 27 27 28 29 30 31 32 32 32 32 32 32 32 31 31 30 29 29 29 29 29 29 29 30 31 32 32 33 34 35 36 36 36 36 36 36 36 36 37 37 38 38 38 39 38 38 38 37 37 37 37 37 37 37 38 39 39 41 42 43 45 46 47 47 47 47 46 46 46 46 46 46 47 47 47 47 47 46 46 46 46 46 45 45 44 43 43 42 42 42 42 42 41 41 41 41 41 42 42 42 42 42 42 42 42 42 43 43 44 44 45 45 45 46 47 47 46 43 41 38 36 36 35 35 34 33 31 29 27 25 25 25 25 26 26 27 28 29 30 32 32 33 33 33 33 32 32 32 32 33 34 35 35 36 37 37 38 38 38 38 37 37 -13 -13 -13 -13 -12 -12 -13 -13 -13 -14 -14 -15 -15 -16 -17 -17 -17 -18 -19 -20 -21 -22 -24 -24 -23 -20 -18 -16 -15 -15 -14 -13 -13 -13 -13 -14 -14 -16 -16 -17 -16 -15 -13 -12 -10 -10 -10 -10 -10 -10 -10 -10 -9 -7 -7 -8 -9 -9 -10 -9 -9 -10 -11 -14 -16 -18 -19 -19 -18 -18 -19 -23 -24 -25 -27 -31 -35 -38 -41 -43 -44 -44 -44 -44 -43 -43 -43 -42 -43 -45 -46 -46 -45 -43 -41 -41 -43 -45 -48 -51 -53 -54 -53 -51 -47 -42 -39 -38 -37 -37 -36 -35 -33 -30 -24 -19 -21 -24 -25 -24 -21 -14 -5 1 5 6 8 10 11 13 15 16 16 16 15 14 12 11 10 9 8 8 9 10 11 12 13 14 14 13 10 8 7 7 8 9 10 10 10 10 9 8 8 9 9 10 11 13 14 15 16 16 16 16 16 16 15 14 13 13 13 13 12 10 10 10 10 10 11 11 11 11 11 12 13 13 14 15 16 17 17 16 14 13 13 14 14 14 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 15 15 16 16 15 15 15 14 14 15 15 15 15 16 16 17 17 18 19 19 20 21 22 23 23 24 25 26 27 28 29 29 30 30 30 30 30 30 29 29 28 28 28 27 28 28 28 29 29 30 31 32 33 34 35 36 36 37 37 37 37 37 37 37 37 38 38 38 38 38 38 38 37 37 37 37 38 38 38 38 39 40 41 42 43 45 46 47 47 47 47 46 45 45 45 45 45 46 46 47 47 47 46 46 46 46 46 46 45 45 44 44 44 43 43 43 43 42 42 42 42 42 43 43 43 44 44 43 43 43 44 44 44 45 46 46 46 46 46 47 47 46 44 41 39 37 36 36 35 35 34 32 30 29 27 26 25 25 26 26 27 27 28 30 31 32 32 33 33 32 32 31 31 31 32 33 34 34 35 36 37 38 39 39 39 38 38 -13 -13 -13 -13 -13 -13 -13 -13 -13 -13 -14 -14 -15 -17 -18 -18 -18 -17 -18 -18 -19 -21 -23 -24 -23 -21 -18 -16 -15 -15 -14 -13 -13 -13 -13 -14 -14 -15 -16 -16 -16 -16 -15 -13 -12 -12 -12 -11 -11 -11 -12 -10 -9 -7 -6 -8 -10 -11 -11 -11 -11 -11 -12 -13 -15 -17 -18 -18 -17 -18 -20 -23 -22 -23 -26 -31 -35 -38 -40 -42 -43 -43 -42 -42 -42 -41 -41 -40 -40 -42 -44 -45 -46 -45 -44 -42 -42 -43 -45 -47 -50 -52 -53 -52 -49 -45 -41 -39 -37 -36 -35 -35 -34 -32 -29 -24 -20 -19 -19 -21 -23 -22 -16 -8 -1 4 6 8 10 12 14 15 16 16 15 14 13 12 10 9 9 9 9 10 11 12 13 15 16 16 14 12 9 8 9 10 11 11 11 10 10 10 9 9 9 10 12 14 15 16 16 16 16 16 16 16 15 14 13 12 12 12 11 10 9 10 10 10 10 10 10 11 11 12 13 14 15 16 17 17 16 14 13 13 13 13 13 12 12 12 12 13 13 13 13 13 13 13 13 13 13 12 12 12 13 13 13 13 13 12 12 12 11 11 12 12 12 13 13 14 14 15 16 16 17 18 19 20 20 21 22 22 23 24 25 26 27 28 28 29 29 28 28 28 27 27 26 26 26 26 26 27 27 28 29 30 32 33 34 35 36 37 38 38 38 38 38 38 38 38 39 39 39 39 39 38 38 38 38 38 38 38 39 39 39 39 39 40 41 42 44 45 46 46 46 46 45 44 43 43 43 44 45 45 46 46 46 46 46 45 45 45 46 46 46 46 45 45 45 44 44 44 43 43 43 43 43 44 44 45 45 45 45 45 44 44 45 45 46 46 47 46 46 46 47 47 47 45 43 40 38 37 37 36 35 34 33 31 30 28 27 26 26 26 26 26 27 28 29 30 31 32 32 32 32 32 31 31 31 31 32 33 33 34 35 36 37 38 39 39 39 38 -12 -12 -13 -13 -13 -13 -13 -13 -13 -13 -13 -14 -15 -16 -18 -19 -19 -18 -18 -18 -19 -20 -22 -23 -22 -20 -18 -16 -15 -14 -14 -14 -14 -14 -14 -14 -14 -14 -15 -16 -17 -17 -16 -15 -15 -14 -13 -12 -12 -13 -13 -11 -9 -7 -6 -7 -9 -11 -12 -13 -13 -13 -13 -13 -14 -14 -14 -14 -14 -16 -20 -21 -20 -22 -25 -30 -34 -38 -40 -41 -41 -41 -40 -40 -40 -40 -40 -40 -40 -40 -42 -44 -45 -47 -47 -46 -45 -45 -45 -45 -46 -48 -49 -50 -49 -46 -42 -40 -38 -36 -36 -35 -33 -32 -31 -29 -25 -21 -18 -17 -18 -20 -20 -16 -11 -4 1 5 8 11 12 14 14 15 15 14 13 12 11 10 9 8 9 9 10 11 13 14 16 16 16 15 13 11 11 12 12 13 12 12 11 11 10 10 11 12 13 15 16 16 15 15 15 16 16 15 13 12 11 11 11 11 10 9 9 10 10 10 10 10 10 10 11 13 14 15 16 16 16 15 14 13 12 12 12 12 11 10 11 12 13 13 12 12 12 12 13 12 12 12 11 11 11 11 11 12 11 11 10 9 9 9 9 9 9 9 10 10 11 12 12 13 14 15 16 16 17 18 18 19 20 20 21 22 23 24 25 26 26 27 27 26 26 26 25 25 25 24 25 25 25 25 26 27 28 29 30 32 34 35 36 38 38 39 39 39 39 39 39 39 40 39 39 39 39 39 39 39 39 39 39 39 39 39 39 38 38 39 39 40 41 42 43 44 44 44 43 42 42 41 41 42 43 44 45 46 46 46 45 45 45 45 45 46 46 47 47 46 46 46 45 45 45 44 44 44 45 45 46 46 46 46 46 46 45 45 45 45 46 46 46 46 46 46 47 47 47 46 44 41 40 38 38 37 36 34 33 32 31 29 28 28 27 27 26 26 26 27 28 29 30 31 32 32 32 31 31 30 30 31 31 32 33 34 35 36 37 38 39 39 39 39 -12 -12 -13 -13 -13 -13 -13 -13 -12 -12 -12 -13 -14 -15 -17 -18 -18 -18 -18 -19 -20 -21 -23 -23 -21 -18 -16 -15 -14 -14 -13 -14 -14 -14 -14 -14 -14 -15 -15 -16 -17 -17 -17 -17 -17 -16 -15 -14 -14 -14 -13 -12 -10 -8 -7 -7 -8 -10 -12 -14 -15 -15 -14 -14 -12 -11 -10 -10 -12 -16 -19 -19 -18 -21 -24 -28 -32 -36 -39 -40 -40 -40 -39 -39 -39 -40 -41 -41 -41 -41 -42 -43 -45 -47 -49 -50 -50 -49 -48 -46 -44 -44 -44 -46 -46 -45 -42 -40 -38 -38 -37 -35 -33 -31 -31 -32 -28 -23 -18 -15 -14 -14 -15 -17 -17 -14 -9 -2 3 7 10 12 13 13 13 13 13 12 11 10 9 8 8 9 10 11 12 14 15 16 16 16 15 13 13 14 14 15 15 14 13 12 11 12 12 13 14 15 15 15 14 14 15 15 15 13 12 10 10 10 10 9 9 9 9 9 10 9 9 9 10 11 12 13 14 15 16 16 16 14 13 12 12 12 11 10 10 10 11 12 13 12 12 12 12 12 12 11 11 11 10 10 10 10 10 9 9 8 7 6 6 6 6 7 7 7 8 9 9 10 10 11 12 13 14 14 15 16 16 17 18 19 19 20 21 22 23 24 24 25 25 24 24 24 23 23 23 23 23 23 23 23 24 25 26 27 29 31 33 35 36 38 39 39 40 40 40 40 40 40 40 40 39 39 39 40 40 40 40 40 40 39 39 38 38 37 37 37 37 37 38 39 40 41 42 42 41 40 40 39 40 40 41 43 44 45 45 45 44 44 44 44 45 45 46 47 47 47 47 47 47 46 46 46 45 46 46 46 47 47 47 47 47 47 46 45 45 45 45 46 46 46 46 46 46 47 47 46 44 43 41 40 39 38 37 35 33 32 31 30 29 29 28 27 27 26 26 27 27 28 30 31 32 32 32 32 31 31 30 30 31 31 32 33 34 35 36 37 38 39 40 40 -13 -13 -13 -13 -13 -13 -12 -12 -12 -11 -11 -12 -13 -14 -15 -16 -17 -17 -18 -20 -21 -23 -23 -22 -19 -16 -15 -14 -14 -13 -13 -13 -14 -14 -14 -14 -14 -15 -16 -17 -18 -18 -18 -18 -18 -17 -17 -16 -15 -15 -14 -12 -11 -10 -8 -7 -8 -9 -12 -14 -16 -17 -16 -14 -12 -9 -8 -10 -13 -16 -17 -16 -17 -20 -23 -26 -29 -34 -37 -39 -39 -39 -39 -39 -39 -40 -41 -42 -43 -44 -45 -45 -46 -48 -50 -52 -54 -55 -54 -51 -46 -42 -39 -39 -40 -41 -40 -39 -37 -37 -36 -35 -32 -31 -31 -32 -29 -23 -17 -13 -10 -9 -9 -11 -15 -18 -16 -12 -6 -0 5 9 11 11 12 12 12 12 11 10 9 8 7 8 9 10 12 13 13 14 15 15 15 14 14 15 16 17 17 16 14 13 13 13 14 14 15 15 15 14 14 14 14 14 13 11 10 9 8 9 9 9 8 8 9 9 9 9 9 9 10 11 13 14 15 16 16 16 14 13 12 12 12 11 10 9 9 10 12 12 12 12 11 11 11 11 11 10 10 9 9 9 9 8 8 7 6 5 5 4 4 5 5 5 5 6 6 7 7 8 9 10 11 11 12 12 13 14 15 16 16 17 18 19 20 21 22 22 23 23 23 23 22 22 22 22 22 22 22 22 22 22 22 23 24 25 27 29 32 34 35 37 38 39 40 40 40 41 41 40 40 40 39 39 39 40 40 40 40 40 40 39 38 37 36 36 35 35 35 35 36 37 38 39 39 40 39 39 38 38 38 39 40 41 43 44 44 44 43 43 43 43 44 44 45 46 47 48 48 48 48 48 47 47 47 47 47 48 48 48 48 48 48 47 47 46 45 45 45 45 45 45 45 45 46 46 46 46 44 43 42 42 41 40 39 36 35 33 32 31 30 30 29 28 28 27 27 27 27 28 29 30 31 32 32 32 32 31 30 30 30 31 31 32 33 34 35 36 38 39 39 40 -13 -13 -13 -13 -13 -13 -12 -12 -11 -11 -10 -10 -11 -11 -12 -13 -14 -15 -17 -19 -21 -22 -23 -21 -18 -16 -14 -14 -13 -13 -12 -12 -13 -13 -13 -14 -15 -16 -17 -18 -19 -19 -18 -18 -18 -18 -18 -17 -17 -16 -15 -14 -13 -12 -10 -9 -9 -10 -11 -14 -16 -18 -18 -15 -12 -10 -10 -14 -17 -17 -16 -16 -17 -20 -22 -24 -27 -32 -35 -37 -38 -38 -39 -39 -39 -40 -41 -43 -46 -47 -48 -48 -48 -49 -51 -52 -55 -58 -60 -58 -53 -45 -37 -32 -32 -35 -36 -36 -35 -34 -35 -34 -33 -31 -31 -33 -31 -24 -17 -11 -7 -6 -6 -7 -8 -11 -14 -16 -14 -10 -4 2 7 9 10 11 11 11 11 10 9 8 7 7 8 9 11 12 12 13 13 14 14 13 14 15 16 17 18 17 15 14 14 14 14 14 14 14 14 15 14 13 13 12 11 10 8 8 8 9 9 9 8 8 8 8 8 8 8 9 10 12 14 15 15 16 16 15 13 13 12 12 12 10 9 9 10 11 12 13 12 11 11 11 10 10 9 9 8 8 8 7 7 6 6 5 4 3 3 3 3 3 3 3 4 4 5 5 6 7 8 8 9 10 10 10 11 12 13 14 15 16 17 18 19 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 22 23 24 26 28 30 32 34 35 36 37 38 39 39 40 40 40 39 39 38 38 38 38 39 39 39 39 38 38 37 36 35 34 34 34 34 34 35 36 37 37 38 38 38 38 37 37 37 38 39 40 42 43 43 42 42 42 41 42 42 43 45 46 47 48 49 50 50 50 49 48 48 48 48 48 49 49 49 49 49 48 48 47 46 45 44 44 43 43 43 44 45 46 46 45 44 44 43 43 43 42 40 38 36 34 33 32 31 31 30 30 29 28 28 27 27 27 28 29 31 32 32 33 32 32 31 30 30 30 31 31 32 33 34 36 37 38 39 39 -13 -13 -13 -13 -13 -13 -13 -12 -11 -11 -10 -10 -9 -9 -10 -11 -12 -14 -16 -18 -20 -21 -20 -18 -16 -15 -14 -14 -13 -13 -12 -12 -12 -12 -13 -14 -15 -16 -18 -20 -20 -20 -19 -18 -18 -17 -17 -17 -17 -17 -17 -16 -15 -13 -12 -11 -10 -11 -13 -14 -16 -18 -18 -16 -14 -13 -16 -19 -19 -18 -16 -15 -16 -19 -21 -24 -26 -28 -30 -34 -36 -38 -39 -40 -40 -41 -43 -45 -47 -49 -51 -52 -52 -52 -52 -52 -54 -56 -60 -62 -60 -53 -44 -34 -27 -25 -27 -30 -32 -31 -31 -31 -31 -30 -30 -31 -30 -26 -22 -17 -12 -10 -9 -8 -8 -8 -10 -11 -12 -14 -14 -9 0 6 9 9 10 10 10 10 9 8 7 7 7 8 10 11 12 12 12 12 12 12 12 14 15 17 17 17 16 15 14 14 14 14 14 14 15 15 14 13 12 11 10 9 8 8 8 8 9 9 8 8 8 7 7 7 8 9 11 13 14 15 15 15 15 14 13 12 12 12 11 10 9 10 11 12 13 12 11 10 10 9 9 8 7 7 7 7 6 6 5 4 4 3 2 2 2 2 2 2 2 2 2 3 3 4 4 5 6 7 7 8 8 9 10 11 12 13 15 15 16 17 18 19 20 20 20 20 20 21 21 21 21 21 21 21 21 22 22 22 22 22 23 24 25 27 29 30 31 33 34 35 36 37 38 38 38 38 37 37 36 36 36 36 37 37 37 37 37 36 36 35 34 34 33 33 33 34 35 36 36 37 37 38 37 37 37 37 37 37 38 40 41 42 42 41 41 40 40 41 41 43 44 45 47 48 50 51 51 50 50 49 49 48 49 49 49 49 49 49 49 49 49 48 47 45 44 43 42 42 42 43 44 45 45 45 44 44 44 44 44 43 41 39 38 36 34 33 33 32 32 31 31 30 30 29 28 28 28 29 30 31 32 33 33 32 32 31 30 30 30 31 31 32 33 35 36 37 38 39 -12 -12 -12 -13 -13 -13 -13 -12 -12 -11 -11 -10 -10 -9 -9 -10 -12 -14 -15 -17 -18 -18 -17 -15 -15 -15 -15 -14 -14 -13 -13 -13 -13 -13 -13 -14 -15 -16 -18 -20 -20 -20 -19 -19 -18 -17 -17 -17 -17 -17 -17 -17 -16 -15 -14 -13 -12 -13 -14 -16 -17 -18 -17 -15 -15 -16 -19 -19 -18 -17 -16 -16 -16 -17 -19 -20 -22 -24 -28 -32 -35 -38 -39 -41 -42 -44 -45 -47 -48 -49 -51 -52 -53 -54 -54 -53 -53 -54 -56 -59 -59 -56 -50 -41 -32 -26 -24 -25 -26 -27 -28 -29 -29 -29 -29 -29 -27 -24 -21 -20 -20 -21 -20 -17 -13 -11 -10 -10 -11 -10 -10 -10 -7 1 7 9 9 9 9 9 9 8 7 7 7 8 9 10 11 11 11 11 11 11 11 12 13 15 16 16 15 15 15 14 14 14 15 15 15 15 13 12 10 9 9 8 8 8 8 9 9 8 8 7 7 7 7 7 9 10 12 14 14 15 15 14 14 13 12 12 12 11 10 9 9 11 12 13 12 11 10 9 9 8 7 6 6 6 5 5 4 4 3 3 2 2 2 2 2 2 2 2 1 1 1 2 2 3 3 4 5 6 6 7 7 8 10 11 12 13 14 15 16 17 18 18 19 19 20 20 20 20 21 21 22 22 22 22 23 23 23 23 23 23 24 24 25 26 27 28 29 30 31 32 33 34 35 35 35 35 35 34 34 34 34 34 34 35 36 36 36 36 36 35 34 33 33 33 33 34 35 36 37 37 37 37 37 37 37 37 37 37 38 39 40 41 41 40 40 40 39 40 41 42 44 45 47 48 50 51 51 51 50 50 49 49 49 49 49 49 49 49 50 50 49 49 48 46 44 43 42 41 42 43 44 45 45 45 45 45 45 45 45 43 42 40 38 36 35 35 34 34 33 33 33 32 32 31 30 30 29 29 29 30 32 33 33 33 33 32 30 30 30 30 30 31 32 34 35 37 38 39 -12 -11 -11 -11 -12 -12 -12 -12 -12 -12 -11 -11 -11 -10 -11 -12 -13 -15 -16 -17 -16 -15 -14 -14 -14 -14 -15 -15 -15 -15 -15 -14 -14 -14 -14 -14 -15 -16 -17 -19 -19 -19 -18 -18 -17 -18 -17 -17 -17 -17 -18 -18 -17 -16 -15 -15 -15 -15 -15 -16 -17 -18 -16 -15 -16 -18 -19 -18 -17 -16 -16 -16 -17 -17 -17 -17 -19 -22 -27 -31 -35 -38 -39 -42 -44 -45 -46 -48 -48 -48 -50 -51 -53 -54 -54 -53 -52 -52 -53 -54 -54 -53 -50 -44 -37 -30 -26 -24 -24 -24 -25 -27 -28 -28 -27 -25 -22 -19 -18 -19 -20 -22 -21 -20 -19 -19 -17 -14 -12 -12 -12 -13 -12 -4 3 7 8 9 9 9 9 8 7 6 6 7 8 10 11 11 11 11 10 10 10 10 12 13 14 14 15 15 14 14 14 15 15 16 15 14 12 11 9 9 8 8 8 8 9 9 8 8 7 7 7 6 7 8 9 11 13 13 13 14 14 13 13 12 12 12 12 11 10 10 10 12 13 12 11 10 9 8 7 6 6 5 4 4 3 3 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 3 4 4 5 5 6 7 8 9 10 11 12 13 14 15 16 17 18 18 19 19 19 19 20 21 22 22 23 24 24 24 24 24 24 24 24 24 24 24 25 25 26 26 27 28 29 30 31 32 32 32 32 32 32 32 32 32 32 33 34 35 35 36 36 36 35 34 33 33 33 33 35 36 37 37 38 38 38 37 37 37 37 37 37 38 39 40 40 41 40 40 39 40 40 41 42 44 45 47 48 49 50 51 51 50 50 49 49 49 48 48 49 49 49 50 50 50 49 48 46 45 43 42 41 42 43 44 44 44 45 46 46 47 47 46 44 42 39 37 36 35 35 34 34 34 34 34 34 34 33 33 32 31 30 30 30 31 32 33 34 33 32 31 30 29 29 30 31 32 33 34 36 38 39 -11 -11 -10 -10 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -12 -13 -15 -16 -17 -17 -15 -14 -13 -13 -14 -14 -15 -15 -15 -15 -15 -15 -15 -14 -14 -14 -15 -16 -17 -18 -18 -18 -18 -17 -17 -18 -18 -18 -18 -18 -18 -18 -18 -17 -17 -17 -17 -17 -17 -17 -17 -17 -17 -17 -18 -19 -18 -17 -16 -16 -17 -17 -17 -17 -16 -17 -18 -22 -27 -31 -34 -36 -39 -42 -44 -45 -46 -48 -48 -48 -49 -50 -51 -53 -53 -52 -52 -51 -51 -51 -50 -49 -46 -43 -38 -33 -29 -26 -25 -24 -24 -25 -27 -27 -25 -21 -19 -18 -19 -21 -23 -24 -23 -23 -22 -22 -21 -19 -17 -15 -13 -15 -18 -14 -7 1 7 8 9 9 9 8 7 6 6 7 8 9 10 11 11 10 10 9 9 10 10 11 13 13 14 14 14 14 14 15 15 15 15 13 11 10 9 8 8 8 8 8 9 9 8 7 7 7 6 6 7 8 10 12 12 12 12 12 13 12 12 12 12 11 11 10 10 10 11 12 12 11 9 8 8 7 6 5 4 4 3 2 2 1 1 0 0 0 -0 -0 0 0 0 0 0 0 -0 -0 0 1 1 2 2 3 4 4 5 5 6 7 9 10 11 11 12 13 14 15 16 17 17 18 18 18 19 20 21 22 23 24 25 25 25 25 25 25 24 24 24 24 24 24 24 24 25 25 26 27 28 29 29 30 30 30 30 30 30 30 31 31 32 33 34 35 35 35 35 34 33 32 32 32 33 34 35 36 37 38 38 38 37 37 37 37 37 37 37 38 39 40 40 40 40 40 40 41 42 43 44 45 46 48 49 49 50 50 50 50 49 49 48 48 48 48 49 49 49 50 49 49 48 46 45 44 43 42 42 43 44 44 44 45 46 47 48 47 46 44 41 39 36 35 34 33 33 34 34 35 35 35 35 34 34 34 33 32 31 30 31 32 33 34 34 33 32 30 29 29 29 30 31 32 33 35 37 38 -11 -11 -10 -10 -10 -10 -10 -10 -10 -10 -11 -11 -11 -12 -13 -15 -16 -17 -18 -16 -15 -13 -13 -14 -14 -15 -15 -15 -16 -16 -16 -16 -15 -15 -15 -15 -15 -16 -16 -17 -17 -17 -17 -17 -17 -18 -18 -18 -18 -19 -19 -19 -19 -19 -19 -19 -19 -20 -21 -21 -20 -20 -20 -20 -21 -20 -17 -16 -17 -17 -17 -17 -16 -17 -17 -18 -19 -22 -26 -30 -32 -35 -38 -40 -42 -44 -45 -47 -48 -47 -48 -49 -50 -51 -51 -50 -50 -49 -49 -49 -48 -46 -43 -40 -37 -34 -32 -30 -28 -25 -23 -24 -25 -26 -25 -23 -23 -23 -24 -25 -26 -26 -25 -25 -24 -23 -22 -21 -19 -17 -16 -18 -20 -21 -17 -9 -1 5 7 8 8 7 6 6 5 6 6 8 9 9 9 9 9 8 8 9 9 10 12 12 13 13 13 14 15 15 15 15 14 12 11 10 9 8 7 8 8 8 9 8 8 7 7 7 6 6 7 9 11 12 12 11 11 12 12 12 11 11 11 11 10 10 10 11 11 11 10 9 8 7 7 6 5 4 3 3 2 1 0 -0 -1 -1 -1 -1 -1 -1 -1 -0 -0 -0 -1 -1 -1 -1 -0 0 1 2 3 3 4 4 4 5 6 7 8 8 9 10 11 12 13 13 14 15 15 16 16 17 18 19 20 22 23 24 24 25 25 25 24 24 23 23 23 23 23 23 23 23 23 24 25 26 26 27 28 28 29 29 29 29 29 29 30 30 31 31 32 33 33 33 33 32 32 31 31 32 32 33 34 36 36 37 37 37 37 37 37 36 36 36 36 37 39 40 40 41 41 41 42 42 43 44 45 45 46 47 48 48 49 49 49 49 49 49 49 49 48 48 49 49 49 49 48 48 47 46 45 44 43 43 43 43 43 44 44 45 46 47 48 48 46 43 41 38 36 34 33 32 32 32 33 33 34 34 34 34 34 34 34 33 32 31 31 31 32 33 34 34 33 31 30 29 29 30 30 31 33 34 36 37 -10 -10 -10 -9 -9 -10 -10 -10 -10 -10 -10 -11 -12 -13 -14 -16 -17 -18 -18 -16 -15 -14 -14 -14 -15 -14 -14 -15 -16 -17 -17 -16 -16 -16 -16 -16 -16 -17 -17 -17 -16 -16 -16 -16 -17 -18 -18 -18 -18 -19 -19 -20 -21 -21 -21 -21 -22 -22 -23 -23 -23 -23 -23 -23 -22 -20 -18 -17 -17 -17 -17 -16 -16 -17 -18 -18 -20 -22 -25 -28 -30 -33 -36 -37 -39 -41 -44 -45 -46 -46 -47 -48 -49 -50 -49 -49 -48 -48 -47 -47 -47 -45 -42 -39 -36 -34 -33 -33 -32 -29 -25 -24 -24 -25 -26 -27 -28 -28 -28 -28 -28 -27 -26 -26 -25 -25 -24 -23 -21 -20 -20 -20 -22 -24 -22 -19 -13 -5 2 6 7 7 6 5 5 4 5 5 6 7 7 7 7 7 7 8 8 9 11 11 12 13 13 14 14 14 14 13 12 11 10 9 8 7 7 8 8 8 8 8 8 7 7 7 6 7 8 9 11 11 11 11 11 11 11 11 11 11 10 10 9 10 10 10 10 9 8 7 7 6 6 5 4 3 2 2 1 0 -0 -1 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 0 1 2 3 3 4 4 4 4 5 5 6 7 8 9 9 10 11 11 12 12 13 13 14 14 16 17 19 20 21 22 22 22 22 22 22 21 21 21 22 22 21 22 22 22 23 24 24 25 25 26 26 27 27 27 27 27 27 27 27 28 28 29 30 30 30 30 30 30 30 30 30 31 32 32 33 34 35 36 36 36 36 36 35 35 35 35 35 36 38 39 40 41 42 42 43 44 44 45 46 46 46 46 47 48 48 48 49 49 49 49 49 49 49 49 49 49 48 48 47 47 46 46 45 45 44 43 43 43 43 43 44 45 46 47 47 47 45 42 40 37 35 33 32 31 31 31 32 32 32 33 33 33 34 34 34 34 33 32 31 31 32 33 34 35 34 32 31 29 29 29 30 31 32 33 35 36 -9 -8 -8 -9 -9 -9 -9 -9 -9 -9 -9 -10 -12 -14 -16 -17 -18 -19 -18 -17 -15 -14 -14 -14 -14 -14 -14 -14 -16 -17 -18 -16 -15 -15 -17 -17 -18 -18 -17 -16 -15 -14 -15 -16 -17 -18 -17 -18 -19 -20 -20 -22 -23 -23 -23 -23 -23 -23 -24 -24 -24 -24 -24 -23 -22 -21 -19 -18 -17 -17 -16 -15 -15 -16 -17 -19 -21 -24 -26 -28 -30 -32 -34 -35 -37 -39 -41 -43 -43 -44 -45 -46 -48 -48 -48 -48 -47 -47 -46 -46 -46 -45 -44 -42 -38 -35 -33 -33 -34 -33 -29 -26 -25 -24 -26 -28 -29 -29 -29 -29 -29 -29 -28 -27 -26 -26 -26 -25 -25 -24 -23 -24 -25 -25 -24 -23 -21 -15 -7 -1 2 4 4 4 3 3 3 3 4 5 5 6 6 6 6 7 8 9 10 11 12 13 13 14 14 13 13 12 10 9 9 8 7 7 7 8 8 8 8 8 8 8 8 7 7 7 8 9 10 10 10 10 10 11 11 10 10 10 10 9 9 10 10 10 9 8 7 6 6 5 5 4 3 3 2 1 0 -0 -1 -2 -2 -2 -3 -2 -2 -2 -2 -1 -1 -1 -2 -2 -1 -1 -1 0 1 2 3 3 3 3 3 3 3 4 5 5 6 7 7 8 8 9 9 9 10 10 11 12 13 14 16 17 17 17 18 18 18 18 18 19 19 19 20 20 20 21 21 22 23 23 24 24 24 24 25 25 25 25 25 25 25 25 25 25 25 26 26 27 27 27 27 28 28 28 29 30 30 31 32 32 33 34 34 34 34 34 34 34 34 34 34 35 37 38 40 41 42 43 44 45 45 46 46 46 46 46 46 47 47 47 48 48 49 49 50 50 50 49 49 48 48 47 46 46 45 45 45 45 44 43 42 42 42 42 42 43 44 45 45 45 43 41 39 37 35 33 32 31 31 31 31 31 31 32 32 33 33 33 33 33 33 33 32 32 32 33 34 35 35 34 32 30 29 29 30 31 31 32 33 35 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -10 -11 -14 -16 -18 -19 -19 -19 -17 -16 -14 -14 -13 -13 -13 -13 -14 -15 -17 -18 -17 -15 -14 -16 -17 -17 -17 -16 -14 -13 -14 -15 -16 -17 -17 -17 -17 -19 -20 -21 -23 -25 -24 -23 -23 -23 -24 -25 -25 -24 -23 -22 -22 -22 -21 -20 -19 -17 -15 -14 -15 -14 -15 -17 -19 -23 -26 -27 -29 -31 -33 -34 -34 -35 -37 -39 -40 -40 -41 -43 -44 -46 -47 -48 -48 -48 -47 -46 -45 -44 -44 -45 -45 -44 -41 -36 -33 -32 -33 -32 -30 -27 -25 -26 -28 -29 -30 -30 -30 -30 -30 -29 -28 -27 -26 -27 -27 -28 -27 -26 -26 -27 -26 -25 -23 -22 -20 -16 -12 -7 -3 0 1 1 1 0 1 1 2 3 4 4 5 6 7 7 8 10 11 12 13 13 13 13 12 11 10 9 8 8 7 7 7 7 7 7 7 8 8 8 8 8 7 7 7 8 9 9 9 9 9 10 10 10 10 9 9 9 9 9 10 9 8 7 6 6 5 5 4 4 3 2 2 1 0 -0 -1 -1 -2 -2 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -0 1 2 2 2 2 2 2 2 2 2 3 4 4 5 5 5 6 6 6 6 6 7 7 8 10 11 12 12 13 13 13 13 14 14 15 16 17 18 18 19 20 20 21 21 22 22 22 23 23 23 23 23 23 23 22 22 22 22 23 23 23 24 24 24 25 25 25 26 26 27 28 28 29 30 30 31 31 32 32 33 33 33 33 34 34 34 34 34 35 37 39 40 42 43 44 45 45 46 46 46 46 46 46 46 46 46 46 47 48 48 49 49 50 49 49 48 47 47 46 45 45 45 45 44 44 43 42 41 40 40 40 41 42 42 43 42 41 40 38 36 34 33 32 31 31 31 30 31 31 31 31 32 32 33 33 33 33 33 33 32 32 33 34 35 36 36 34 32 30 29 29 30 31 32 32 33 -9 -9 -8 -7 -7 -7 -7 -7 -7 -7 -7 -9 -10 -13 -16 -18 -19 -19 -19 -18 -16 -16 -15 -14 -14 -14 -14 -14 -15 -16 -17 -16 -14 -12 -13 -14 -14 -14 -13 -13 -13 -14 -14 -15 -15 -15 -16 -17 -18 -20 -22 -23 -23 -22 -22 -24 -26 -26 -26 -26 -25 -24 -22 -23 -23 -22 -21 -19 -16 -14 -14 -15 -16 -18 -21 -23 -25 -27 -29 -31 -33 -34 -34 -34 -35 -36 -37 -37 -38 -39 -40 -42 -44 -46 -48 -49 -48 -47 -45 -43 -41 -41 -42 -44 -47 -47 -43 -37 -32 -29 -29 -28 -27 -26 -26 -28 -29 -30 -31 -30 -30 -31 -30 -29 -28 -27 -27 -28 -27 -26 -25 -26 -28 -29 -28 -25 -22 -22 -21 -20 -17 -12 -8 -5 -3 -2 -1 -2 -1 -0 1 2 3 4 5 6 7 8 9 10 11 12 12 12 11 10 9 8 8 7 7 7 7 7 7 7 7 7 8 9 9 9 8 7 7 7 8 8 8 8 9 9 9 10 9 9 9 9 9 9 9 9 8 7 6 6 5 5 4 3 3 2 2 1 0 -0 -0 -1 -2 -2 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -0 1 1 1 1 0 0 -0 -0 0 1 2 3 3 3 3 3 3 3 3 3 4 4 5 6 7 8 8 8 9 9 10 10 12 13 14 15 16 17 17 18 19 19 20 20 21 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 23 23 23 24 24 24 25 25 26 27 28 28 29 29 30 30 31 31 32 32 33 33 33 33 33 33 34 36 37 39 41 42 43 44 44 45 45 45 45 45 45 45 44 44 44 44 45 46 47 48 49 49 48 48 47 46 45 45 44 44 44 44 43 42 40 39 38 38 38 39 39 40 41 40 40 39 38 36 34 33 32 31 31 31 31 31 30 30 31 31 32 33 33 33 33 33 33 33 33 33 34 35 36 37 36 33 31 29 29 29 30 31 31 32 -8 -8 -7 -7 -7 -7 -6 -6 -6 -6 -7 -8 -9 -12 -14 -16 -17 -18 -18 -18 -17 -17 -17 -16 -16 -16 -16 -16 -16 -17 -16 -14 -12 -11 -11 -12 -13 -13 -13 -13 -13 -13 -13 -13 -13 -14 -16 -17 -17 -18 -18 -19 -20 -22 -23 -24 -24 -25 -26 -27 -26 -26 -25 -24 -24 -23 -21 -19 -15 -13 -13 -15 -17 -20 -23 -24 -25 -24 -26 -28 -30 -32 -33 -35 -36 -36 -36 -35 -36 -37 -38 -40 -42 -45 -47 -49 -49 -48 -46 -43 -40 -38 -38 -41 -43 -45 -44 -41 -38 -35 -32 -30 -28 -26 -24 -24 -26 -28 -29 -29 -30 -30 -30 -30 -29 -27 -26 -24 -21 -20 -21 -25 -28 -30 -29 -27 -24 -21 -19 -17 -16 -15 -17 -16 -11 -6 -3 -3 -3 -2 -1 -0 1 2 4 5 7 8 9 10 10 11 11 10 10 9 8 8 7 7 7 7 7 6 6 6 7 8 8 9 9 8 8 7 7 7 7 7 7 7 8 9 9 9 8 8 8 9 9 9 9 8 7 6 5 5 4 3 3 2 2 1 1 0 -0 -1 -1 -2 -2 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -2 -2 -1 -1 -1 -1 -1 -1 -2 -2 -2 -1 -0 1 1 1 1 1 1 1 1 1 1 1 1 2 3 4 4 5 5 6 6 7 8 10 11 12 13 14 15 16 16 17 17 18 18 19 19 19 19 19 19 19 20 20 20 21 21 21 22 22 22 22 22 23 23 23 23 23 24 24 25 25 26 27 27 28 28 29 29 30 31 31 31 32 32 32 32 32 33 34 35 37 39 40 41 42 43 43 44 44 44 44 43 43 42 42 41 41 42 43 44 45 46 47 47 46 46 45 44 43 43 43 43 43 42 41 39 38 37 36 36 36 37 38 39 39 38 38 37 36 35 33 32 31 31 31 31 31 31 31 31 31 31 32 33 34 34 34 34 33 33 33 33 34 36 37 37 35 33 30 28 28 29 29 30 31 -7 -6 -6 -6 -6 -6 -6 -5 -5 -5 -6 -7 -9 -10 -12 -14 -15 -16 -17 -18 -18 -18 -18 -17 -18 -18 -18 -19 -19 -18 -15 -12 -10 -10 -12 -12 -12 -12 -12 -12 -12 -13 -13 -13 -14 -15 -15 -16 -15 -14 -14 -15 -16 -17 -19 -22 -25 -27 -28 -28 -29 -28 -28 -28 -27 -25 -22 -19 -14 -11 -11 -14 -16 -20 -23 -24 -24 -23 -25 -27 -28 -30 -31 -33 -35 -35 -35 -34 -33 -34 -35 -37 -40 -42 -45 -46 -47 -48 -47 -44 -41 -38 -36 -37 -39 -41 -43 -43 -42 -41 -38 -34 -30 -28 -26 -26 -26 -27 -28 -29 -29 -29 -29 -29 -29 -28 -25 -19 -15 -14 -15 -19 -23 -26 -27 -27 -26 -23 -20 -18 -16 -15 -15 -16 -16 -14 -8 -5 -4 -4 -3 -3 -2 -0 2 4 6 7 8 9 9 9 9 9 8 8 8 7 7 7 7 6 6 6 6 6 7 8 8 9 8 8 7 6 6 6 6 6 6 7 8 8 8 8 8 8 8 8 8 8 7 6 5 4 4 3 3 2 2 1 1 0 -0 -1 -1 -1 -2 -2 -3 -3 -3 -3 -3 -3 -2 -2 -1 -1 -1 -2 -2 -3 -3 -3 -4 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -3 -2 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -1 -0 1 1 2 2 3 3 4 5 6 7 8 9 10 11 12 13 13 14 15 15 16 16 17 17 17 18 18 18 18 19 19 20 21 21 22 22 22 22 22 22 22 22 23 23 23 23 24 24 24 25 25 26 26 27 27 28 29 29 30 30 30 31 31 31 31 31 32 33 35 36 38 39 40 41 42 42 42 42 42 42 41 40 40 39 38 38 39 40 41 43 44 44 44 43 43 42 41 41 41 41 41 40 39 38 37 36 35 34 35 35 36 37 37 37 37 36 36 35 34 33 31 31 30 31 31 31 31 31 31 31 32 33 34 34 34 34 34 34 33 33 34 35 37 37 36 34 31 28 27 27 28 29 29 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -5 -6 -8 -9 -10 -11 -13 -14 -16 -18 -18 -18 -18 -18 -18 -18 -19 -20 -20 -19 -16 -12 -10 -10 -11 -10 -10 -10 -11 -11 -12 -12 -13 -14 -15 -16 -16 -15 -13 -12 -12 -12 -12 -14 -17 -22 -26 -28 -29 -29 -29 -29 -30 -31 -30 -28 -24 -19 -14 -10 -9 -12 -15 -19 -22 -23 -24 -24 -25 -26 -27 -28 -29 -31 -33 -35 -35 -33 -32 -32 -34 -35 -37 -39 -41 -43 -45 -46 -47 -46 -44 -41 -38 -35 -35 -37 -39 -40 -41 -40 -38 -35 -33 -32 -30 -28 -27 -27 -28 -28 -29 -29 -29 -28 -27 -25 -23 -20 -17 -15 -14 -15 -17 -19 -21 -23 -25 -24 -22 -19 -18 -17 -17 -17 -16 -15 -14 -10 -7 -6 -6 -6 -5 -3 -0 2 4 6 6 7 7 8 8 8 8 7 7 7 7 7 6 6 5 5 6 6 7 8 8 8 7 7 6 6 6 5 5 5 6 6 7 7 7 7 7 7 8 8 7 7 6 5 4 3 3 2 2 1 1 0 -0 -1 -1 -1 -2 -2 -2 -3 -3 -3 -3 -3 -3 -2 -2 -2 -1 -1 -2 -2 -2 -3 -4 -5 -5 -5 -5 -5 -5 -5 -4 -5 -5 -5 -5 -4 -3 -2 -2 -3 -3 -4 -4 -4 -4 -4 -3 -2 -1 -0 0 1 1 1 2 2 3 4 5 6 7 8 9 10 11 11 12 12 13 13 14 15 15 15 16 16 17 17 18 19 19 20 21 21 22 22 22 22 22 22 22 22 23 23 23 24 24 24 24 25 25 25 26 26 27 27 28 29 29 29 29 29 29 30 30 31 32 33 34 35 37 38 39 39 40 40 40 40 40 39 38 38 37 36 35 35 36 37 38 40 41 41 41 40 39 39 38 38 38 38 38 38 37 36 35 34 33 33 34 34 35 35 36 36 36 35 35 34 33 32 31 30 30 31 31 31 31 31 32 32 33 34 34 34 34 34 34 34 34 34 35 36 37 37 35 32 29 27 26 26 27 28 -3 -3 -4 -4 -4 -4 -4 -3 -3 -3 -4 -5 -6 -7 -8 -9 -10 -11 -13 -15 -16 -17 -17 -17 -18 -19 -20 -20 -21 -20 -16 -12 -9 -9 -9 -9 -9 -9 -9 -10 -11 -13 -14 -15 -16 -16 -15 -14 -12 -11 -10 -10 -11 -13 -18 -23 -26 -27 -27 -27 -28 -28 -29 -31 -31 -29 -25 -20 -14 -10 -8 -10 -14 -17 -19 -20 -22 -24 -25 -26 -26 -26 -28 -30 -32 -33 -34 -34 -32 -33 -34 -35 -36 -37 -38 -40 -42 -44 -46 -47 -48 -46 -42 -38 -34 -33 -34 -35 -36 -36 -35 -35 -35 -35 -33 -31 -29 -28 -28 -28 -28 -28 -29 -29 -27 -24 -22 -22 -21 -20 -19 -20 -19 -18 -17 -18 -20 -21 -21 -21 -22 -24 -24 -22 -19 -15 -11 -8 -8 -11 -13 -13 -10 -7 -3 -0 2 4 5 5 6 6 6 7 7 7 7 7 6 6 5 5 5 5 5 6 7 7 7 7 6 5 5 5 5 4 4 4 5 5 6 6 6 7 7 7 7 7 6 5 4 3 3 2 2 1 1 0 -0 -0 -1 -1 -2 -2 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -3 -4 -5 -6 -7 -7 -8 -8 -7 -6 -6 -6 -6 -6 -6 -5 -4 -4 -4 -4 -5 -6 -6 -6 -6 -5 -4 -2 -1 -1 -0 -0 -0 -0 0 1 2 3 4 5 5 6 7 8 9 9 10 10 11 12 12 13 13 14 15 15 15 16 17 18 19 19 20 21 21 21 21 21 22 22 22 22 23 23 24 24 24 24 24 24 24 24 24 25 25 26 27 27 28 28 28 28 28 29 29 29 30 31 32 33 34 35 36 37 37 38 38 37 37 37 36 35 34 33 33 32 32 33 34 35 37 38 38 38 37 36 35 35 35 35 35 35 35 35 34 33 32 32 33 33 34 34 34 34 35 35 35 34 34 33 31 31 30 30 31 31 31 31 32 32 32 33 34 34 34 34 34 34 34 34 34 35 37 37 36 34 30 27 25 25 26 27 -3 -2 -3 -4 -4 -4 -3 -3 -3 -3 -4 -4 -5 -6 -7 -7 -8 -10 -11 -13 -14 -15 -16 -17 -18 -18 -19 -20 -20 -18 -15 -12 -9 -8 -8 -8 -8 -8 -9 -10 -12 -13 -14 -15 -15 -14 -13 -12 -11 -10 -10 -9 -11 -14 -18 -22 -25 -26 -25 -25 -25 -27 -28 -29 -29 -28 -24 -19 -14 -9 -7 -9 -13 -15 -15 -16 -18 -21 -24 -25 -25 -26 -28 -29 -30 -32 -34 -35 -35 -34 -35 -36 -36 -36 -36 -38 -40 -43 -44 -46 -48 -49 -47 -43 -38 -34 -31 -30 -30 -30 -31 -32 -33 -34 -35 -34 -31 -29 -28 -27 -27 -27 -29 -30 -29 -26 -24 -24 -25 -25 -25 -25 -23 -20 -18 -17 -18 -18 -20 -22 -25 -28 -28 -28 -26 -22 -15 -10 -9 -11 -13 -14 -14 -13 -9 -5 -1 2 3 3 4 4 5 5 6 6 6 6 5 5 4 4 3 4 4 5 6 6 6 5 5 4 4 4 4 3 3 3 4 4 5 5 6 6 6 6 6 6 5 4 3 2 2 1 1 0 -0 -1 -1 -1 -2 -3 -3 -3 -4 -4 -4 -4 -4 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -3 -4 -5 -6 -7 -8 -9 -10 -10 -9 -8 -7 -7 -7 -7 -7 -6 -6 -5 -5 -6 -7 -7 -7 -7 -7 -5 -4 -3 -2 -1 -1 -2 -2 -1 -1 -0 1 1 2 3 4 5 6 6 7 7 8 9 9 10 11 12 13 13 14 14 15 15 16 17 17 18 19 20 20 20 21 21 21 21 22 22 23 23 23 24 24 24 23 23 22 22 22 23 23 24 25 26 26 26 27 27 27 27 28 28 29 29 30 31 32 33 34 35 35 35 35 34 34 33 33 32 32 31 30 30 30 30 30 31 33 34 36 36 36 35 33 32 32 32 32 33 33 33 33 32 31 31 31 32 32 33 33 33 33 34 34 34 34 33 32 31 31 31 31 31 31 31 31 32 32 33 34 34 34 35 35 35 35 34 34 35 36 37 37 35 32 28 26 24 25 26 -4 -3 -3 -4 -4 -4 -3 -3 -3 -4 -4 -5 -6 -6 -6 -7 -7 -8 -9 -11 -12 -13 -14 -15 -16 -17 -18 -19 -19 -17 -14 -11 -9 -8 -7 -7 -8 -9 -10 -11 -12 -12 -13 -13 -12 -11 -11 -10 -10 -10 -10 -10 -12 -15 -19 -21 -22 -23 -23 -23 -24 -26 -27 -27 -26 -25 -23 -18 -13 -8 -6 -8 -12 -12 -12 -12 -13 -17 -21 -23 -24 -26 -29 -30 -30 -32 -34 -37 -38 -37 -36 -36 -36 -36 -35 -36 -38 -39 -40 -40 -42 -45 -47 -47 -45 -40 -34 -29 -27 -27 -28 -28 -29 -31 -32 -32 -32 -30 -29 -27 -26 -26 -27 -28 -28 -27 -27 -28 -29 -30 -30 -28 -25 -23 -22 -21 -20 -19 -20 -22 -25 -28 -29 -31 -32 -30 -25 -19 -15 -13 -12 -10 -10 -11 -11 -10 -7 -2 1 2 2 2 3 3 4 5 5 4 4 3 3 2 2 3 4 4 5 5 4 4 3 3 3 3 3 3 3 3 3 3 4 5 5 6 6 6 5 5 4 3 2 1 1 -0 -1 -1 -1 -2 -2 -3 -3 -4 -4 -4 -4 -5 -4 -4 -4 -3 -3 -3 -3 -3 -2 -2 -3 -3 -3 -4 -4 -5 -7 -8 -10 -11 -12 -11 -10 -9 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -8 -8 -8 -8 -7 -6 -4 -3 -2 -2 -3 -3 -3 -2 -2 -1 -0 0 1 2 3 4 5 5 5 6 7 7 8 10 11 11 12 13 13 14 14 15 15 16 16 17 18 18 19 19 19 20 20 21 21 22 22 23 23 23 23 22 22 21 20 20 20 20 21 22 23 24 24 25 25 25 25 26 27 27 28 28 28 29 29 30 31 32 33 33 32 32 31 30 30 29 29 28 28 28 28 27 28 28 29 31 33 34 34 34 33 31 30 29 30 30 31 31 31 31 30 30 30 30 31 31 32 32 32 32 33 33 34 34 33 32 31 31 31 31 31 31 31 31 32 32 33 34 34 35 35 35 35 35 34 34 35 36 37 36 34 30 27 25 24 25 -4 -4 -3 -4 -4 -4 -3 -3 -3 -4 -5 -6 -6 -7 -7 -7 -7 -8 -8 -9 -10 -10 -11 -13 -14 -15 -17 -18 -18 -16 -14 -11 -9 -8 -8 -8 -9 -10 -11 -11 -11 -11 -10 -9 -8 -8 -9 -10 -11 -12 -13 -14 -16 -18 -19 -19 -20 -21 -21 -21 -22 -24 -26 -25 -24 -22 -20 -16 -12 -8 -6 -6 -8 -9 -9 -10 -12 -15 -18 -21 -24 -27 -29 -31 -33 -34 -35 -37 -37 -34 -32 -31 -31 -31 -31 -32 -33 -34 -36 -39 -41 -43 -45 -47 -49 -46 -41 -34 -29 -27 -27 -27 -27 -27 -28 -28 -29 -30 -29 -28 -26 -26 -26 -25 -24 -26 -28 -30 -31 -32 -32 -30 -28 -27 -26 -26 -25 -24 -23 -23 -24 -26 -28 -30 -32 -33 -32 -28 -23 -19 -14 -8 -5 -6 -9 -11 -11 -7 -2 0 1 1 1 1 2 2 2 2 2 1 1 1 1 2 3 3 3 3 3 3 2 2 2 2 2 2 2 2 2 3 4 5 5 5 5 5 5 4 3 2 1 0 -0 -1 -2 -2 -3 -3 -3 -4 -4 -5 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -4 -4 -5 -5 -6 -8 -10 -12 -13 -13 -13 -11 -10 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -9 -9 -9 -8 -7 -6 -5 -4 -3 -3 -3 -4 -3 -3 -3 -2 -1 -0 1 2 3 3 4 4 4 5 6 7 8 9 10 11 12 13 13 13 14 14 14 15 15 15 16 16 17 17 18 19 19 20 21 21 21 22 22 21 21 20 19 19 18 18 17 18 18 19 20 21 22 22 23 23 23 24 25 26 26 26 27 27 27 28 29 30 30 30 30 29 28 28 27 26 26 26 26 26 26 26 26 26 27 28 30 31 32 32 32 31 29 28 27 28 28 29 29 29 29 28 28 28 29 29 30 30 30 31 31 32 33 34 34 33 32 32 31 32 32 31 31 31 31 32 33 33 34 34 35 35 35 35 35 34 35 35 36 37 36 33 29 26 25 25 -4 -4 -4 -4 -4 -4 -3 -3 -3 -4 -5 -6 -6 -7 -7 -7 -7 -8 -8 -8 -9 -9 -9 -11 -13 -14 -15 -15 -15 -15 -14 -12 -11 -9 -9 -9 -9 -10 -10 -10 -10 -9 -7 -6 -6 -7 -9 -11 -13 -15 -16 -17 -18 -18 -19 -18 -19 -19 -20 -19 -20 -21 -23 -23 -21 -19 -15 -12 -9 -7 -5 -5 -7 -8 -9 -10 -12 -16 -18 -21 -23 -26 -28 -31 -34 -35 -34 -34 -34 -32 -30 -29 -30 -30 -29 -28 -28 -29 -31 -35 -39 -42 -43 -44 -45 -46 -45 -41 -34 -30 -28 -27 -26 -25 -25 -26 -27 -27 -27 -27 -27 -26 -24 -22 -23 -25 -28 -31 -32 -32 -32 -32 -30 -29 -29 -30 -31 -31 -30 -29 -27 -26 -26 -27 -28 -30 -31 -31 -28 -24 -19 -13 -7 -5 -6 -8 -9 -8 -4 -1 -0 0 0 -0 -1 -1 -1 -0 -0 -0 -0 -0 0 1 2 2 2 2 2 2 1 1 1 1 1 1 1 2 2 3 4 5 5 5 5 4 4 3 2 1 0 -1 -2 -2 -3 -3 -4 -4 -4 -5 -5 -5 -6 -6 -6 -6 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -5 -6 -7 -9 -11 -13 -14 -14 -13 -12 -11 -10 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -7 -6 -5 -4 -4 -4 -4 -4 -4 -3 -3 -2 -1 -0 0 1 2 2 3 3 4 5 6 7 9 10 11 11 12 12 13 13 13 13 13 13 13 13 14 14 15 15 16 17 18 19 19 20 20 20 19 19 18 17 17 16 16 15 15 15 16 16 17 18 19 19 20 20 21 22 23 24 25 25 25 25 25 25 26 27 28 28 28 27 26 25 25 24 24 24 24 24 24 24 24 24 25 26 27 29 30 31 31 30 28 27 26 26 26 27 27 27 27 26 26 26 26 26 27 28 28 29 30 31 32 33 34 34 33 32 32 32 32 32 31 31 31 31 32 33 33 34 35 35 36 36 35 35 34 35 36 37 37 36 33 29 25 24 -4 -4 -4 -4 -4 -3 -3 -3 -4 -4 -5 -6 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -9 -10 -12 -12 -12 -12 -12 -13 -14 -14 -13 -12 -10 -9 -8 -8 -8 -9 -10 -8 -7 -7 -8 -8 -10 -13 -15 -17 -18 -19 -19 -19 -19 -19 -19 -19 -18 -17 -17 -17 -18 -18 -16 -13 -9 -6 -5 -5 -6 -6 -7 -8 -10 -12 -14 -16 -18 -20 -22 -24 -27 -30 -33 -34 -34 -32 -30 -29 -28 -27 -27 -27 -27 -26 -26 -26 -28 -32 -36 -39 -41 -41 -42 -43 -45 -43 -39 -35 -32 -30 -28 -26 -24 -24 -25 -25 -26 -26 -26 -26 -27 -27 -27 -29 -30 -32 -32 -32 -32 -31 -31 -31 -31 -32 -32 -33 -34 -33 -32 -29 -26 -25 -25 -27 -29 -29 -27 -25 -24 -22 -17 -12 -8 -7 -7 -7 -5 -4 -2 -1 -1 -1 -2 -3 -3 -3 -3 -2 -2 -1 -1 0 1 1 1 1 1 1 0 0 0 0 0 1 1 2 3 4 4 4 4 5 4 4 3 2 1 1 -1 -2 -3 -3 -4 -5 -5 -5 -5 -5 -6 -6 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -4 -4 -5 -5 -5 -5 -6 -6 -7 -9 -11 -13 -14 -15 -15 -14 -13 -12 -11 -10 -10 -10 -10 -10 -10 -10 -10 -9 -9 -8 -8 -8 -7 -6 -5 -4 -4 -3 -3 -3 -3 -3 -3 -2 -1 -0 0 1 1 2 3 3 4 6 7 8 9 10 11 11 11 12 12 12 12 12 12 11 11 11 11 12 12 13 14 15 16 17 17 18 18 18 17 16 16 15 14 14 14 14 14 14 14 14 15 15 16 16 17 17 18 19 20 22 23 23 24 23 23 23 23 23 24 25 25 25 24 23 23 23 23 23 22 22 22 22 23 23 24 24 25 26 27 28 29 29 28 26 25 24 24 25 25 25 25 24 24 23 23 24 24 25 26 27 28 29 31 33 34 34 33 33 32 32 32 32 31 31 30 30 31 32 32 33 34 35 35 36 35 35 35 34 35 37 38 38 36 32 27 24 -4 -4 -4 -4 -4 -3 -3 -3 -4 -5 -6 -6 -7 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -9 -10 -10 -10 -10 -11 -12 -13 -13 -12 -11 -9 -7 -6 -7 -8 -9 -9 -8 -8 -8 -10 -10 -12 -15 -16 -17 -17 -17 -18 -19 -19 -20 -20 -18 -17 -15 -13 -12 -12 -11 -9 -6 -3 -0 -1 -4 -7 -10 -11 -12 -13 -14 -15 -16 -18 -20 -22 -24 -25 -27 -30 -32 -33 -32 -28 -27 -26 -25 -25 -25 -25 -25 -25 -25 -26 -28 -32 -35 -37 -38 -38 -39 -40 -40 -39 -37 -36 -34 -31 -28 -25 -24 -23 -23 -24 -24 -25 -26 -26 -27 -28 -30 -31 -33 -33 -33 -32 -31 -31 -32 -33 -33 -34 -35 -36 -36 -34 -32 -29 -26 -24 -22 -23 -25 -26 -26 -27 -27 -25 -20 -16 -13 -12 -11 -10 -9 -7 -6 -4 -4 -3 -4 -5 -5 -5 -4 -3 -2 -2 -1 -1 -0 -0 -0 -0 -0 -0 -1 -1 -0 -0 0 1 2 3 3 4 4 4 4 4 3 2 2 1 -0 -1 -3 -4 -4 -5 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -5 -5 -6 -6 -7 -7 -8 -10 -12 -14 -15 -15 -15 -14 -13 -12 -11 -11 -10 -10 -10 -10 -10 -10 -10 -9 -8 -8 -7 -7 -6 -5 -4 -3 -3 -3 -3 -3 -2 -2 -2 -2 -1 -1 -0 0 1 2 3 4 5 6 8 9 9 10 10 11 11 11 11 10 10 10 10 9 9 9 9 10 10 11 13 14 15 15 16 16 16 16 15 14 14 13 13 13 13 13 13 12 12 12 12 13 13 14 14 15 15 16 17 18 20 20 21 21 20 20 20 20 21 21 22 22 21 21 21 21 21 21 21 20 20 20 21 22 22 23 23 24 25 26 26 27 26 25 24 22 22 22 23 23 23 22 22 21 21 21 22 23 24 24 26 27 30 32 33 34 34 33 32 32 31 31 31 30 29 29 29 30 31 32 33 34 34 35 36 36 35 35 35 36 38 39 38 35 29 24 -3 -4 -4 -4 -3 -3 -3 -3 -4 -5 -6 -7 -7 -7 -7 -7 -6 -6 -7 -8 -7 -7 -7 -8 -9 -9 -9 -10 -11 -12 -12 -11 -10 -8 -6 -6 -5 -6 -7 -8 -7 -7 -8 -9 -12 -13 -15 -16 -17 -17 -17 -17 -17 -18 -18 -19 -19 -18 -16 -13 -10 -7 -6 -4 -2 1 2 2 -1 -6 -11 -15 -17 -18 -18 -18 -17 -18 -19 -21 -22 -23 -23 -24 -26 -29 -30 -29 -26 -24 -23 -23 -22 -23 -24 -24 -24 -24 -25 -26 -29 -31 -33 -33 -33 -34 -36 -37 -37 -37 -37 -37 -35 -31 -27 -24 -23 -22 -23 -23 -24 -25 -26 -27 -28 -30 -32 -33 -34 -33 -32 -31 -31 -32 -34 -34 -34 -35 -36 -36 -35 -34 -32 -29 -25 -20 -16 -17 -21 -25 -27 -26 -24 -22 -20 -18 -17 -18 -17 -17 -17 -18 -17 -13 -8 -6 -5 -6 -5 -5 -4 -4 -3 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 1 1 2 3 3 3 3 3 3 3 2 2 1 0 -1 -2 -3 -4 -5 -6 -6 -6 -6 -6 -6 -6 -7 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -6 -6 -6 -7 -7 -8 -9 -11 -13 -14 -15 -16 -15 -15 -14 -13 -12 -11 -11 -10 -10 -10 -10 -10 -9 -8 -7 -7 -6 -6 -5 -4 -3 -3 -3 -3 -3 -2 -2 -2 -1 -1 -1 -1 -0 0 1 2 4 5 6 7 8 9 9 10 10 10 10 10 10 9 9 9 8 8 8 8 8 8 9 10 11 13 14 14 14 14 14 14 13 13 12 12 12 12 12 12 12 11 11 11 10 10 10 11 11 12 12 13 14 15 16 17 17 18 18 18 17 17 18 18 18 18 18 18 18 18 19 19 19 18 18 18 19 19 20 21 21 22 22 23 23 24 24 23 22 21 20 20 20 21 21 21 20 19 19 19 20 20 21 22 24 26 28 30 32 33 33 33 32 31 31 30 30 29 28 28 27 28 29 30 31 32 33 34 35 36 36 35 35 36 37 39 40 38 32 26 -4 -3 -4 -3 -3 -3 -3 -3 -4 -5 -6 -7 -7 -7 -7 -6 -6 -5 -6 -6 -6 -5 -6 -7 -8 -9 -9 -11 -12 -12 -12 -11 -8 -6 -5 -5 -5 -5 -6 -6 -6 -6 -8 -11 -14 -17 -18 -18 -17 -17 -17 -16 -16 -16 -17 -18 -19 -17 -14 -11 -7 -3 -0 2 4 4 3 -0 -5 -10 -15 -20 -23 -24 -24 -22 -21 -21 -23 -23 -22 -21 -20 -22 -24 -25 -25 -24 -23 -22 -20 -20 -21 -21 -22 -22 -22 -23 -24 -26 -27 -28 -28 -28 -29 -31 -34 -36 -37 -35 -36 -37 -36 -34 -30 -26 -23 -22 -22 -23 -24 -24 -25 -26 -28 -30 -32 -33 -34 -33 -33 -32 -31 -31 -32 -33 -33 -34 -35 -35 -35 -35 -33 -31 -28 -23 -19 -18 -20 -23 -26 -27 -26 -25 -24 -22 -19 -17 -17 -17 -19 -21 -22 -20 -17 -14 -11 -6 -5 -5 -5 -4 -4 -3 -3 -2 -2 -1 -2 -2 -2 -2 -2 -1 -0 1 1 2 2 2 2 2 2 2 2 1 1 0 -1 -2 -3 -4 -5 -5 -6 -6 -6 -6 -6 -7 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -9 -10 -12 -13 -15 -15 -16 -15 -15 -14 -13 -12 -11 -11 -10 -10 -10 -10 -9 -8 -7 -6 -6 -5 -5 -4 -3 -2 -2 -3 -3 -3 -2 -2 -1 -1 -1 -1 -1 -0 1 2 3 5 6 7 8 8 9 9 10 10 10 10 10 9 9 8 8 8 8 8 8 8 8 9 10 11 12 13 13 13 13 13 13 12 12 12 11 11 11 11 11 11 10 9 9 8 8 8 9 9 9 9 10 10 11 12 13 14 15 15 15 15 15 15 15 15 14 14 14 15 16 16 16 16 16 16 16 16 17 18 18 19 19 20 20 20 20 21 21 20 19 18 18 18 18 19 19 19 18 18 17 18 18 19 20 22 23 26 28 30 32 32 32 31 30 29 29 28 28 27 26 26 26 27 29 30 31 32 33 34 35 36 36 35 35 36 38 39 39 36 29 -5 -4 -4 -3 -2 -2 -3 -4 -4 -5 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -4 -4 -4 -6 -7 -9 -10 -11 -12 -12 -12 -10 -8 -6 -4 -5 -5 -5 -5 -5 -5 -6 -9 -12 -16 -19 -20 -19 -18 -17 -16 -15 -14 -14 -15 -17 -17 -16 -13 -9 -5 0 4 5 4 2 -2 -7 -12 -15 -18 -21 -25 -27 -28 -28 -27 -27 -29 -27 -24 -20 -19 -22 -23 -22 -20 -19 -20 -19 -18 -18 -19 -20 -20 -20 -21 -22 -23 -25 -26 -27 -26 -25 -26 -28 -31 -34 -36 -34 -33 -34 -34 -33 -31 -27 -24 -23 -23 -24 -24 -24 -24 -26 -27 -29 -31 -32 -33 -33 -32 -32 -31 -30 -30 -31 -32 -33 -34 -34 -35 -34 -33 -32 -29 -26 -23 -21 -21 -22 -25 -27 -27 -27 -27 -26 -23 -20 -19 -19 -19 -20 -23 -24 -22 -19 -15 -10 -6 -4 -4 -4 -4 -4 -3 -3 -2 -2 -3 -3 -3 -3 -2 -1 -0 1 1 1 1 1 1 1 1 1 1 0 0 -0 -1 -2 -3 -4 -5 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -7 -7 -8 -9 -9 -11 -12 -14 -15 -15 -15 -15 -15 -14 -13 -12 -11 -11 -10 -10 -10 -9 -8 -7 -6 -5 -5 -4 -4 -3 -2 -2 -2 -3 -3 -3 -2 -1 -1 -1 -0 -0 0 1 2 3 4 6 7 7 8 8 8 9 9 9 9 10 9 9 9 8 8 8 8 8 8 8 9 9 10 10 11 12 12 12 12 12 11 11 11 11 11 11 11 11 10 10 9 8 8 7 7 7 7 7 7 7 7 7 8 9 10 11 12 12 13 13 13 13 12 12 11 11 11 12 13 13 14 14 14 14 14 14 15 15 16 17 17 18 18 17 17 18 18 18 17 16 16 16 16 17 18 18 17 17 16 16 16 17 18 19 21 22 25 27 29 30 30 29 28 27 27 27 26 26 25 25 25 26 27 28 30 31 32 33 35 36 36 35 34 34 36 38 39 38 34 -5 -4 -4 -3 -3 -3 -4 -5 -5 -6 -6 -6 -6 -6 -5 -4 -4 -4 -4 -5 -4 -4 -4 -6 -7 -9 -10 -12 -13 -13 -12 -10 -8 -6 -5 -5 -5 -5 -5 -5 -6 -7 -10 -13 -16 -19 -19 -18 -18 -17 -16 -14 -13 -14 -14 -15 -15 -14 -11 -8 -3 2 4 3 -0 -5 -10 -14 -16 -17 -19 -20 -23 -26 -29 -32 -34 -35 -35 -32 -27 -22 -20 -21 -22 -21 -19 -17 -18 -17 -16 -17 -18 -19 -20 -20 -21 -22 -23 -24 -25 -25 -24 -23 -25 -28 -30 -32 -32 -32 -30 -30 -30 -30 -29 -26 -25 -25 -25 -25 -24 -23 -24 -25 -27 -28 -30 -32 -32 -32 -31 -31 -31 -31 -30 -31 -32 -33 -33 -33 -34 -34 -34 -33 -31 -28 -25 -23 -22 -23 -24 -25 -27 -28 -29 -29 -26 -23 -22 -21 -20 -19 -21 -24 -25 -24 -20 -15 -11 -9 -7 -5 -5 -4 -4 -3 -3 -4 -4 -4 -4 -3 -2 -1 -0 0 0 1 1 0 0 0 0 -0 -0 -0 -1 -1 -2 -3 -4 -4 -5 -5 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -7 -7 -7 -8 -7 -7 -7 -7 -6 -6 -7 -7 -8 -8 -9 -10 -11 -12 -13 -14 -15 -15 -15 -15 -14 -14 -12 -12 -11 -10 -10 -9 -8 -7 -6 -5 -4 -4 -4 -3 -2 -2 -2 -2 -3 -3 -3 -2 -1 -1 -0 -0 0 1 1 2 3 5 6 7 7 7 7 8 8 8 9 9 9 9 9 9 8 8 8 8 8 8 8 9 9 9 10 10 10 11 11 11 10 10 10 10 10 10 10 10 10 10 9 9 8 7 6 6 6 6 6 6 6 6 6 6 6 7 8 9 10 11 11 11 11 10 9 9 9 9 10 10 11 11 12 12 12 12 12 13 13 14 15 15 16 16 16 16 15 15 16 15 15 14 14 14 15 16 16 16 15 14 14 14 14 15 16 17 19 21 23 25 27 27 27 26 25 25 25 25 25 25 24 24 24 25 27 28 29 31 32 34 35 35 35 34 33 34 36 39 40 38 -5 -4 -4 -4 -4 -4 -5 -5 -6 -7 -7 -7 -6 -6 -5 -4 -3 -3 -4 -5 -5 -5 -5 -6 -7 -9 -10 -12 -13 -13 -13 -11 -9 -7 -6 -6 -5 -6 -6 -6 -7 -9 -11 -13 -16 -18 -17 -16 -16 -15 -15 -15 -15 -15 -14 -13 -12 -11 -9 -7 -3 -1 -1 -5 -10 -15 -18 -19 -19 -18 -18 -18 -19 -21 -25 -29 -34 -39 -40 -38 -33 -27 -22 -21 -20 -19 -19 -18 -17 -16 -16 -16 -17 -18 -20 -20 -20 -21 -22 -23 -24 -24 -23 -23 -25 -28 -30 -32 -32 -30 -27 -25 -24 -25 -25 -25 -25 -26 -27 -27 -26 -25 -25 -25 -27 -28 -29 -30 -31 -30 -30 -30 -31 -31 -31 -30 -31 -32 -32 -33 -32 -33 -34 -35 -33 -31 -27 -25 -24 -24 -25 -25 -26 -28 -30 -31 -29 -26 -24 -23 -21 -19 -20 -22 -24 -24 -22 -18 -16 -14 -12 -11 -10 -7 -6 -5 -4 -5 -5 -5 -4 -3 -2 -1 -1 -0 -0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -2 -2 -3 -3 -4 -4 -5 -5 -5 -6 -6 -6 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -8 -9 -9 -10 -11 -12 -13 -14 -14 -15 -15 -15 -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -4 -3 -3 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 -0 -0 0 0 1 2 2 3 5 5 6 6 7 7 7 7 7 8 8 9 9 9 9 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 7 7 6 5 5 5 5 6 6 6 5 5 5 5 6 7 8 8 8 8 8 8 8 8 8 8 9 9 9 10 10 11 11 11 11 11 11 12 13 13 14 14 15 14 14 14 14 14 14 13 13 13 13 13 14 14 13 13 12 12 12 12 13 14 15 17 19 21 23 24 24 24 23 23 23 24 24 24 24 24 24 24 25 26 28 29 31 32 34 35 35 34 33 33 35 37 40 41 -7 -6 -5 -4 -4 -5 -5 -6 -7 -7 -8 -7 -7 -6 -5 -4 -4 -4 -5 -6 -6 -6 -7 -7 -7 -8 -10 -12 -13 -13 -12 -11 -9 -8 -6 -6 -6 -6 -6 -7 -8 -10 -11 -13 -14 -14 -14 -14 -14 -15 -15 -16 -17 -17 -16 -13 -11 -10 -9 -7 -6 -7 -10 -15 -19 -21 -22 -21 -20 -19 -19 -20 -20 -21 -23 -27 -32 -37 -39 -38 -35 -31 -27 -24 -22 -21 -20 -19 -17 -17 -16 -16 -17 -17 -18 -19 -19 -19 -20 -21 -21 -22 -22 -22 -22 -24 -27 -29 -30 -29 -27 -25 -23 -22 -22 -23 -24 -26 -28 -28 -27 -26 -26 -26 -27 -27 -28 -28 -29 -30 -29 -29 -31 -32 -32 -30 -30 -32 -33 -32 -31 -33 -35 -37 -36 -34 -30 -27 -26 -26 -26 -26 -27 -28 -30 -31 -31 -28 -25 -23 -20 -19 -20 -21 -22 -23 -23 -20 -18 -17 -16 -15 -14 -14 -12 -9 -6 -6 -6 -6 -5 -4 -3 -2 -1 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -4 -4 -4 -5 -5 -5 -6 -6 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -8 -8 -9 -9 -10 -11 -12 -13 -13 -14 -14 -15 -15 -15 -14 -13 -12 -11 -10 -9 -8 -6 -5 -4 -3 -3 -3 -3 -2 -2 -2 -1 -1 -2 -1 -1 -1 -0 -0 -0 -0 0 1 1 2 3 4 5 5 6 6 6 6 6 6 7 7 7 8 8 8 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 7 7 6 5 4 4 4 5 5 5 5 5 4 4 4 5 5 6 6 6 6 6 6 6 7 8 8 9 9 9 9 9 9 10 10 10 10 10 10 11 11 12 13 13 14 14 14 14 14 13 13 12 11 11 11 11 11 11 10 10 9 9 9 10 10 11 13 15 17 18 20 21 21 21 21 21 22 22 23 23 23 23 24 24 25 26 28 29 31 33 34 35 34 33 33 33 35 38 42 -8 -7 -7 -6 -5 -5 -6 -6 -7 -8 -8 -8 -7 -6 -5 -4 -4 -5 -6 -7 -6 -7 -7 -8 -7 -8 -8 -9 -10 -10 -9 -8 -7 -6 -6 -6 -7 -8 -8 -8 -9 -10 -12 -13 -13 -13 -14 -14 -15 -16 -16 -17 -18 -18 -16 -14 -12 -12 -11 -11 -12 -15 -18 -21 -23 -24 -24 -22 -21 -21 -22 -22 -23 -23 -24 -27 -30 -33 -35 -35 -34 -33 -31 -28 -26 -24 -23 -22 -21 -19 -18 -17 -17 -17 -17 -17 -17 -17 -18 -19 -19 -19 -20 -20 -20 -21 -23 -25 -28 -27 -26 -25 -23 -21 -21 -21 -23 -24 -26 -27 -27 -27 -26 -26 -26 -26 -25 -26 -28 -29 -29 -29 -29 -29 -29 -30 -30 -30 -30 -30 -31 -33 -36 -37 -38 -35 -31 -28 -27 -27 -27 -28 -28 -29 -30 -31 -31 -28 -25 -23 -21 -21 -21 -21 -22 -23 -23 -21 -19 -18 -18 -17 -17 -18 -17 -15 -11 -8 -7 -6 -5 -4 -3 -2 -2 -2 -2 -3 -3 -3 -2 -2 -2 -2 -2 -3 -3 -4 -4 -4 -5 -5 -5 -5 -5 -6 -6 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -9 -9 -10 -11 -12 -12 -13 -14 -14 -15 -15 -15 -15 -14 -12 -11 -10 -9 -7 -6 -5 -4 -3 -3 -3 -2 -2 -2 -1 -1 -1 -1 -0 -0 0 -0 -0 -1 -1 -0 -0 0 1 2 3 4 4 5 5 5 5 6 6 6 6 6 7 7 7 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 5 4 4 3 4 4 5 5 5 4 3 3 3 3 3 3 3 3 4 4 5 7 8 8 9 9 8 8 8 8 8 9 9 9 9 9 9 9 10 11 12 13 13 13 13 13 12 12 11 10 9 8 8 8 8 8 8 7 7 7 7 7 8 9 11 13 15 16 18 19 19 19 20 20 21 21 22 22 23 23 24 24 25 26 28 30 32 33 35 35 35 33 33 34 37 40 -8 -8 -7 -7 -6 -6 -6 -6 -7 -8 -8 -8 -8 -7 -6 -6 -5 -6 -7 -7 -7 -6 -6 -6 -6 -6 -7 -8 -8 -7 -6 -6 -6 -6 -6 -6 -7 -8 -8 -8 -9 -11 -12 -13 -14 -14 -15 -15 -16 -16 -17 -17 -17 -17 -16 -16 -16 -16 -16 -17 -19 -22 -25 -26 -26 -25 -24 -23 -22 -23 -24 -25 -25 -25 -26 -27 -28 -29 -30 -30 -32 -33 -34 -33 -32 -29 -27 -26 -25 -23 -20 -18 -16 -16 -15 -15 -16 -16 -17 -17 -17 -17 -18 -18 -18 -18 -19 -21 -24 -25 -25 -24 -23 -22 -22 -22 -23 -23 -23 -24 -26 -26 -26 -26 -27 -27 -26 -26 -27 -28 -29 -29 -29 -29 -29 -30 -30 -29 -29 -30 -31 -33 -36 -38 -38 -36 -32 -29 -26 -26 -27 -28 -29 -29 -30 -30 -30 -30 -29 -28 -25 -23 -22 -22 -22 -22 -22 -21 -20 -19 -19 -19 -19 -19 -20 -19 -17 -13 -9 -7 -6 -5 -4 -3 -3 -3 -3 -4 -4 -3 -3 -3 -2 -3 -3 -3 -4 -4 -5 -5 -5 -5 -5 -5 -6 -6 -6 -7 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -8 -8 -8 -8 -8 -9 -9 -9 -10 -11 -12 -12 -13 -14 -14 -15 -15 -15 -14 -13 -12 -11 -10 -9 -7 -6 -5 -4 -3 -3 -3 -2 -2 -1 -1 -0 0 0 0 1 0 -0 -1 -1 -1 -1 -1 -1 0 1 2 2 3 4 4 4 5 5 5 5 6 6 6 6 6 6 6 6 6 5 5 5 5 6 6 6 6 6 6 6 6 5 5 4 4 3 3 3 4 4 4 4 4 5 5 4 4 3 3 3 4 4 5 4 4 3 3 2 2 2 2 2 2 3 3 5 6 7 8 9 9 8 7 7 7 7 7 7 7 7 7 7 7 8 9 9 10 11 12 12 12 11 10 9 8 7 7 6 6 6 6 6 5 5 5 4 4 5 6 7 9 12 14 15 17 17 18 18 18 18 19 20 21 22 23 23 24 25 26 27 28 30 32 34 36 36 35 33 33 35 38 -8 -7 -7 -7 -7 -6 -6 -6 -7 -8 -8 -8 -7 -7 -7 -7 -8 -8 -8 -8 -8 -6 -6 -5 -6 -6 -7 -7 -7 -6 -5 -4 -4 -5 -6 -6 -7 -8 -9 -10 -10 -12 -13 -15 -15 -16 -16 -17 -17 -16 -16 -16 -16 -17 -18 -20 -21 -22 -22 -22 -24 -26 -28 -28 -27 -25 -23 -22 -22 -22 -23 -24 -26 -26 -26 -26 -26 -26 -26 -26 -28 -30 -34 -36 -36 -34 -31 -29 -28 -25 -22 -18 -16 -15 -15 -15 -16 -17 -17 -17 -17 -17 -17 -17 -16 -16 -17 -18 -20 -21 -22 -22 -23 -24 -24 -24 -24 -23 -22 -22 -23 -24 -25 -25 -26 -27 -27 -26 -26 -28 -28 -29 -29 -29 -29 -30 -31 -31 -31 -30 -30 -32 -35 -38 -38 -37 -33 -29 -26 -25 -25 -26 -27 -29 -30 -30 -30 -31 -33 -33 -32 -28 -24 -22 -23 -23 -22 -22 -21 -21 -20 -20 -21 -21 -22 -23 -23 -20 -14 -10 -7 -5 -4 -4 -3 -4 -4 -4 -4 -4 -4 -3 -3 -3 -4 -4 -4 -5 -5 -6 -6 -6 -6 -6 -6 -6 -7 -7 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -10 -9 -9 -9 -9 -8 -9 -9 -9 -9 -10 -10 -11 -12 -12 -13 -14 -14 -14 -14 -14 -14 -13 -12 -11 -9 -8 -7 -6 -5 -4 -3 -3 -2 -2 -1 -1 -0 0 1 1 1 1 -0 -1 -1 -2 -2 -2 -2 -2 -1 -0 0 1 2 3 3 3 4 4 5 5 6 6 6 6 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 5 4 4 3 2 1 1 1 1 2 2 2 2 3 3 4 4 4 4 4 3 4 4 5 5 5 4 3 2 1 1 1 2 2 2 3 4 5 6 7 8 8 8 7 6 6 5 5 5 5 5 4 4 4 5 5 6 7 8 9 10 10 9 9 8 7 6 6 5 5 5 4 4 3 3 3 2 2 2 3 4 6 9 11 13 14 15 16 16 16 16 17 18 19 20 22 23 24 24 25 27 28 29 31 34 36 37 36 35 33 33 36 -8 -8 -7 -7 -7 -7 -7 -7 -8 -8 -8 -8 -8 -7 -7 -8 -8 -8 -8 -8 -8 -7 -6 -6 -6 -6 -7 -7 -7 -6 -4 -3 -3 -4 -5 -6 -7 -8 -10 -11 -12 -13 -15 -16 -17 -17 -17 -17 -17 -16 -14 -14 -15 -19 -22 -25 -27 -27 -26 -26 -26 -27 -28 -28 -27 -25 -23 -22 -21 -21 -21 -23 -24 -25 -25 -25 -25 -25 -24 -23 -24 -27 -31 -36 -37 -36 -33 -30 -29 -26 -23 -19 -17 -15 -15 -15 -16 -17 -18 -18 -18 -18 -17 -17 -16 -16 -16 -16 -17 -17 -18 -20 -22 -24 -25 -26 -25 -23 -22 -22 -22 -23 -23 -24 -25 -27 -26 -25 -25 -27 -28 -28 -29 -29 -29 -30 -32 -33 -33 -31 -30 -31 -34 -36 -38 -37 -34 -31 -28 -26 -26 -26 -26 -27 -29 -29 -29 -30 -33 -36 -37 -35 -29 -25 -23 -23 -23 -23 -23 -22 -22 -22 -23 -24 -25 -25 -25 -24 -21 -16 -10 -6 -6 -5 -4 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -5 -5 -5 -6 -6 -7 -7 -6 -6 -6 -6 -7 -7 -7 -8 -8 -8 -8 -8 -9 -9 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -10 -10 -11 -12 -13 -13 -14 -14 -14 -14 -13 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -3 -2 -1 -1 0 1 1 1 1 1 0 -1 -2 -2 -3 -3 -3 -3 -3 -2 -2 -1 0 1 1 2 2 3 4 5 5 6 6 7 7 7 8 8 8 8 8 7 7 6 6 6 6 6 6 5 5 4 2 1 0 -0 -1 -1 -0 0 0 1 1 1 2 3 4 4 5 5 4 4 4 5 6 6 6 5 3 2 2 1 2 2 3 3 3 3 4 5 6 7 7 7 6 5 4 4 3 3 3 2 2 1 1 2 2 3 4 6 6 7 7 7 6 6 5 5 4 4 3 3 2 1 1 1 1 0 0 1 2 4 6 8 11 12 13 13 14 14 15 15 16 17 18 20 21 22 24 25 26 28 29 30 33 35 38 38 36 34 32 34 -8 -8 -7 -7 -7 -7 -7 -8 -8 -9 -9 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -7 -7 -7 -7 -5 -4 -3 -3 -4 -5 -6 -8 -10 -11 -13 -14 -15 -16 -18 -18 -18 -17 -16 -15 -14 -14 -14 -18 -22 -26 -30 -31 -31 -29 -28 -27 -27 -28 -28 -26 -25 -23 -22 -21 -20 -21 -22 -23 -23 -24 -24 -24 -24 -23 -22 -22 -24 -29 -33 -35 -34 -32 -30 -29 -27 -24 -22 -19 -17 -16 -16 -16 -17 -18 -18 -18 -18 -17 -16 -15 -15 -15 -14 -14 -14 -15 -18 -21 -24 -25 -25 -25 -24 -23 -23 -23 -23 -23 -23 -24 -25 -25 -24 -25 -26 -27 -28 -29 -29 -29 -31 -32 -33 -33 -33 -32 -31 -32 -34 -36 -37 -35 -32 -29 -28 -27 -27 -26 -26 -27 -27 -27 -28 -30 -34 -37 -36 -32 -28 -25 -24 -25 -25 -26 -26 -25 -25 -26 -28 -29 -29 -27 -26 -25 -22 -17 -9 -7 -6 -6 -5 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -6 -6 -6 -7 -7 -7 -7 -6 -6 -6 -6 -7 -7 -8 -8 -8 -8 -8 -9 -9 -10 -10 -11 -11 -11 -10 -10 -10 -10 -10 -10 -10 -10 -10 -11 -12 -13 -13 -14 -14 -14 -13 -13 -12 -11 -11 -10 -9 -8 -6 -5 -5 -4 -3 -3 -2 -1 -0 1 1 1 1 1 0 -1 -2 -2 -3 -3 -4 -4 -4 -4 -3 -3 -2 -1 -0 0 1 1 2 3 4 5 6 7 7 7 8 8 8 8 9 9 8 8 7 6 6 6 6 5 5 4 3 2 1 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 1 3 4 5 6 6 5 5 6 6 7 7 7 5 4 3 2 2 3 3 2 2 1 1 2 3 4 5 5 5 4 3 2 2 2 1 1 0 -1 -1 -1 -1 -1 0 2 3 4 5 5 5 4 4 3 3 2 2 1 0 -0 -1 -1 -1 -1 -1 -0 0 1 3 6 8 10 11 12 12 13 13 13 14 14 15 17 19 21 22 24 26 27 28 30 32 34 37 38 38 35 32 32 -7 -7 -7 -7 -7 -8 -8 -9 -9 -9 -9 -8 -8 -8 -7 -6 -6 -6 -7 -7 -7 -8 -7 -7 -6 -7 -7 -7 -7 -5 -4 -3 -3 -4 -6 -7 -9 -11 -12 -14 -15 -17 -18 -18 -18 -17 -16 -15 -15 -15 -15 -18 -22 -27 -31 -33 -34 -32 -29 -28 -27 -26 -27 -27 -26 -24 -23 -22 -21 -21 -22 -23 -23 -22 -23 -23 -23 -23 -22 -21 -21 -22 -25 -28 -30 -30 -30 -29 -28 -26 -24 -23 -21 -19 -18 -18 -17 -17 -17 -18 -18 -18 -17 -16 -15 -14 -12 -11 -10 -12 -15 -18 -21 -23 -25 -25 -24 -24 -24 -24 -24 -24 -24 -23 -23 -23 -24 -24 -24 -25 -26 -28 -29 -30 -30 -31 -32 -33 -34 -34 -34 -33 -32 -32 -34 -36 -35 -33 -31 -29 -29 -29 -28 -28 -27 -26 -26 -26 -28 -30 -33 -33 -31 -29 -27 -27 -28 -28 -28 -27 -26 -28 -29 -30 -31 -31 -31 -31 -31 -27 -21 -13 -10 -8 -7 -6 -6 -6 -6 -7 -7 -7 -7 -6 -6 -6 -6 -6 -7 -7 -8 -8 -7 -7 -6 -6 -6 -6 -7 -7 -8 -8 -8 -9 -9 -10 -10 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -11 -12 -12 -13 -14 -14 -14 -13 -13 -12 -12 -11 -10 -9 -8 -7 -6 -6 -5 -4 -4 -3 -2 -0 0 1 1 1 1 0 -1 -2 -3 -3 -4 -4 -4 -4 -4 -4 -4 -3 -3 -2 -1 -1 -0 0 1 2 3 4 5 6 7 7 7 8 8 8 8 8 8 8 7 7 6 5 5 4 4 4 3 2 1 -0 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -0 1 4 5 6 7 7 6 6 7 7 8 8 7 6 4 3 2 2 2 2 1 0 -0 -0 -0 1 2 2 3 2 2 1 0 0 0 0 -1 -1 -2 -3 -3 -3 -3 -2 -0 1 3 3 3 3 2 2 2 1 0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 1 3 6 8 9 10 10 11 11 11 11 12 13 14 16 18 20 22 24 26 28 29 31 33 35 38 39 36 32 30 -7 -7 -7 -8 -8 -9 -10 -10 -10 -10 -10 -9 -9 -8 -8 -7 -7 -6 -7 -7 -8 -8 -8 -7 -7 -6 -7 -7 -7 -6 -4 -4 -4 -6 -8 -9 -9 -11 -12 -14 -16 -17 -18 -18 -18 -17 -15 -15 -15 -16 -18 -22 -27 -31 -35 -37 -36 -33 -30 -28 -26 -26 -25 -24 -24 -24 -23 -22 -22 -22 -22 -22 -22 -22 -22 -22 -22 -21 -20 -19 -20 -21 -23 -25 -25 -26 -26 -26 -26 -25 -24 -23 -23 -22 -22 -21 -20 -19 -18 -18 -18 -17 -16 -15 -13 -11 -10 -9 -9 -12 -15 -18 -21 -23 -24 -24 -24 -24 -25 -25 -25 -26 -25 -25 -24 -24 -25 -25 -25 -25 -25 -27 -29 -30 -31 -32 -32 -33 -34 -36 -36 -35 -33 -32 -32 -33 -34 -33 -31 -30 -30 -31 -31 -31 -29 -27 -27 -27 -27 -28 -28 -29 -29 -29 -29 -29 -32 -34 -33 -31 -29 -30 -31 -32 -33 -34 -35 -36 -36 -33 -27 -19 -15 -12 -9 -7 -7 -7 -7 -7 -8 -8 -8 -8 -7 -7 -7 -7 -7 -8 -8 -8 -8 -7 -6 -6 -6 -6 -7 -7 -8 -8 -8 -9 -9 -10 -11 -11 -12 -12 -12 -12 -12 -12 -12 -12 -12 -11 -11 -12 -12 -13 -14 -14 -14 -14 -13 -13 -12 -11 -10 -9 -8 -8 -7 -6 -6 -5 -4 -3 -2 -1 0 1 1 1 0 -0 -1 -2 -3 -3 -4 -4 -5 -5 -5 -5 -4 -4 -3 -3 -3 -2 -2 -1 -1 -0 1 2 3 4 5 5 6 6 6 6 6 7 7 7 7 7 7 6 5 4 3 3 3 2 1 1 -0 -1 -1 -2 -2 -2 -2 -3 -3 -3 -3 -2 -0 2 5 6 7 7 7 6 6 6 7 8 8 7 6 4 3 2 2 2 1 -0 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -2 -3 -4 -4 -5 -5 -4 -3 -1 1 1 1 1 1 1 1 0 -0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0 1 4 6 7 8 8 8 8 8 8 9 10 11 13 15 18 20 22 24 26 28 29 31 33 36 38 37 34 30 -8 -7 -8 -8 -9 -10 -11 -11 -12 -12 -12 -12 -11 -10 -9 -8 -8 -8 -7 -7 -8 -8 -8 -7 -7 -6 -6 -7 -6 -6 -5 -5 -6 -7 -8 -9 -9 -10 -12 -13 -15 -17 -17 -16 -16 -15 -16 -18 -19 -20 -22 -24 -28 -32 -36 -38 -37 -35 -32 -30 -28 -26 -24 -22 -22 -22 -22 -21 -21 -22 -22 -22 -21 -21 -21 -21 -21 -20 -19 -19 -20 -20 -21 -22 -22 -23 -23 -24 -25 -25 -24 -24 -24 -24 -24 -23 -22 -20 -18 -18 -17 -16 -15 -14 -12 -10 -9 -9 -10 -12 -14 -16 -19 -22 -24 -24 -24 -24 -24 -25 -25 -26 -26 -26 -25 -25 -25 -26 -26 -27 -26 -26 -27 -30 -32 -32 -32 -33 -34 -36 -36 -36 -35 -34 -32 -31 -31 -30 -29 -29 -29 -31 -33 -33 -32 -30 -29 -28 -28 -27 -26 -25 -26 -27 -28 -29 -33 -37 -37 -34 -31 -31 -32 -32 -34 -36 -38 -39 -39 -38 -34 -28 -24 -20 -15 -10 -7 -7 -7 -8 -8 -8 -9 -8 -8 -8 -7 -7 -8 -8 -8 -8 -8 -7 -7 -6 -6 -6 -7 -7 -7 -8 -8 -9 -9 -10 -11 -12 -12 -12 -13 -13 -13 -13 -13 -13 -13 -13 -12 -12 -13 -14 -14 -14 -14 -14 -13 -13 -12 -11 -10 -9 -8 -7 -7 -6 -6 -5 -4 -3 -2 -1 0 1 0 0 -1 -1 -2 -3 -4 -4 -5 -5 -5 -5 -5 -5 -4 -4 -4 -3 -3 -3 -3 -2 -2 -1 -0 0 1 2 3 3 4 4 4 4 5 5 5 6 7 7 6 6 4 3 2 2 1 1 1 0 -1 -1 -2 -2 -2 -2 -2 -3 -3 -3 -3 -3 -1 1 4 6 7 8 7 6 5 5 5 6 7 7 6 5 3 2 1 1 1 -0 -2 -3 -4 -4 -4 -4 -4 -3 -3 -3 -3 -3 -3 -2 -1 -2 -2 -3 -4 -5 -6 -5 -4 -2 -1 0 1 1 0 0 0 0 -0 -0 -0 -1 -1 -1 -1 -1 -0 -0 -0 -1 -1 -0 1 3 5 6 6 6 5 5 5 6 7 9 11 13 15 18 20 22 24 26 27 29 31 33 36 37 35 32 -9 -8 -8 -9 -10 -10 -11 -12 -13 -13 -14 -14 -14 -12 -11 -9 -9 -9 -9 -8 -7 -7 -6 -6 -6 -6 -5 -5 -5 -5 -5 -7 -8 -8 -9 -8 -9 -10 -11 -13 -14 -15 -15 -15 -15 -16 -18 -20 -22 -23 -24 -25 -27 -31 -34 -37 -38 -38 -36 -34 -31 -28 -24 -22 -20 -20 -20 -19 -20 -20 -21 -20 -20 -20 -20 -19 -19 -18 -18 -18 -19 -19 -20 -20 -21 -21 -22 -23 -23 -23 -23 -23 -24 -25 -26 -25 -23 -21 -18 -17 -16 -15 -14 -13 -11 -10 -11 -11 -12 -13 -14 -16 -19 -22 -24 -25 -25 -24 -24 -25 -25 -24 -24 -25 -25 -26 -26 -27 -27 -29 -28 -27 -27 -29 -32 -33 -32 -32 -34 -35 -36 -36 -36 -36 -35 -33 -31 -30 -28 -28 -27 -29 -32 -33 -33 -32 -32 -31 -30 -28 -27 -25 -24 -24 -25 -27 -30 -34 -35 -33 -31 -32 -32 -32 -33 -36 -39 -40 -41 -40 -39 -34 -29 -25 -19 -12 -9 -8 -8 -8 -9 -9 -9 -9 -9 -9 -8 -8 -8 -8 -9 -9 -8 -8 -7 -6 -6 -6 -7 -7 -7 -8 -8 -9 -9 -10 -11 -12 -12 -13 -13 -13 -13 -13 -14 -14 -14 -13 -13 -13 -14 -14 -14 -14 -14 -14 -14 -13 -13 -12 -11 -9 -8 -7 -7 -6 -6 -5 -4 -3 -1 -1 -0 -0 -0 -1 -2 -2 -3 -4 -4 -5 -5 -6 -6 -5 -5 -5 -4 -4 -4 -4 -3 -3 -3 -3 -3 -2 -2 -1 -1 -0 1 1 2 2 2 2 2 3 4 5 5 6 6 6 4 3 2 1 -0 -0 -0 -1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -3 -3 -3 -2 -0 2 4 6 7 6 5 5 4 4 5 5 6 6 5 4 2 1 0 -0 -1 -3 -4 -5 -6 -6 -6 -5 -5 -4 -4 -4 -4 -4 -3 -2 -2 -2 -3 -4 -5 -5 -5 -5 -3 -1 0 1 1 1 1 0 0 0 0 0 0 0 0 -0 0 0 -0 -0 -1 -1 -2 -3 -1 1 2 3 3 3 2 2 3 5 6 8 10 13 15 18 20 22 24 25 27 29 31 34 36 37 34 -11 -10 -10 -10 -11 -12 -11 -11 -12 -12 -12 -12 -12 -11 -11 -10 -10 -10 -10 -9 -7 -6 -6 -5 -5 -5 -3 -3 -3 -3 -5 -7 -8 -9 -9 -9 -9 -9 -10 -11 -12 -13 -14 -14 -15 -16 -18 -20 -22 -24 -25 -25 -26 -29 -32 -35 -38 -39 -39 -38 -36 -31 -26 -22 -20 -19 -18 -17 -17 -18 -18 -18 -18 -18 -18 -18 -17 -17 -16 -16 -17 -18 -18 -19 -20 -21 -21 -22 -22 -21 -21 -21 -22 -25 -26 -25 -23 -21 -18 -16 -15 -14 -12 -11 -11 -11 -12 -13 -15 -15 -16 -17 -19 -21 -23 -25 -25 -25 -25 -25 -24 -23 -23 -23 -24 -25 -27 -28 -28 -29 -29 -29 -28 -29 -30 -33 -33 -33 -33 -35 -36 -36 -36 -37 -36 -35 -32 -31 -29 -28 -27 -27 -28 -30 -32 -35 -36 -36 -33 -30 -27 -25 -25 -25 -26 -26 -26 -29 -32 -32 -32 -33 -33 -32 -31 -33 -38 -41 -41 -41 -40 -37 -33 -27 -21 -15 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -8 -8 -7 -7 -6 -6 -7 -7 -7 -8 -8 -9 -9 -10 -11 -11 -12 -12 -13 -13 -13 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -14 -13 -12 -11 -10 -8 -7 -7 -6 -6 -5 -4 -2 -2 -1 -1 -1 -1 -2 -3 -3 -4 -4 -5 -5 -6 -6 -6 -6 -5 -5 -5 -4 -4 -4 -3 -3 -3 -3 -3 -3 -3 -3 -2 -2 -1 -1 -0 -0 0 0 0 1 2 3 4 5 6 6 5 3 2 0 -1 -1 -1 -1 -2 -2 -3 -3 -3 -2 -2 -2 -2 -2 -3 -3 -3 -2 -0 2 4 5 5 5 4 3 3 3 4 4 5 5 4 2 0 -1 -2 -3 -4 -5 -6 -7 -7 -7 -6 -6 -5 -4 -4 -4 -4 -4 -3 -2 -2 -3 -4 -5 -5 -5 -5 -4 -1 0 2 2 2 1 1 0 0 0 0 1 1 1 1 0 0 -0 -1 -2 -3 -6 -8 -8 -5 -4 -1 0 1 0 -0 1 2 4 6 8 11 13 16 18 20 22 24 26 28 30 32 35 37 37 -13 -12 -12 -12 -13 -13 -11 -10 -9 -9 -8 -7 -7 -8 -8 -9 -9 -9 -9 -8 -7 -6 -5 -4 -4 -4 -2 -2 -2 -3 -5 -6 -8 -9 -10 -10 -9 -9 -10 -10 -11 -12 -13 -14 -15 -15 -16 -19 -21 -23 -24 -25 -26 -28 -31 -34 -37 -39 -40 -40 -38 -33 -28 -23 -20 -18 -17 -16 -16 -15 -15 -15 -16 -16 -17 -17 -16 -15 -15 -15 -15 -16 -17 -18 -20 -21 -21 -20 -20 -20 -20 -20 -21 -23 -24 -24 -23 -20 -18 -16 -14 -13 -11 -11 -11 -12 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -26 -24 -22 -21 -21 -22 -24 -26 -28 -29 -29 -29 -30 -30 -30 -31 -33 -35 -34 -33 -34 -35 -36 -36 -37 -37 -37 -35 -34 -31 -29 -27 -27 -27 -28 -30 -34 -38 -41 -39 -35 -30 -26 -24 -25 -26 -26 -24 -25 -27 -30 -31 -34 -33 -30 -28 -30 -35 -39 -41 -41 -40 -39 -35 -29 -23 -18 -13 -11 -10 -10 -9 -9 -9 -10 -10 -10 -10 -10 -9 -9 -9 -8 -8 -8 -7 -7 -7 -7 -7 -8 -8 -8 -8 -9 -9 -10 -10 -11 -12 -12 -13 -13 -13 -14 -14 -15 -15 -15 -15 -15 -14 -14 -13 -13 -13 -14 -14 -14 -13 -13 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -2 -2 -2 -2 -2 -3 -3 -4 -4 -5 -5 -6 -6 -6 -6 -6 -6 -6 -6 -5 -4 -3 -3 -3 -3 -4 -4 -4 -4 -4 -4 -3 -2 -2 -1 -1 -2 -2 -1 -1 0 1 3 4 5 6 5 4 2 1 -1 -1 -2 -2 -2 -3 -4 -4 -4 -3 -3 -2 -2 -2 -2 -3 -3 -3 -2 -1 1 3 3 4 3 3 2 2 2 3 3 3 3 1 -1 -2 -3 -4 -5 -6 -7 -8 -9 -8 -7 -6 -5 -5 -4 -4 -4 -4 -3 -3 -3 -4 -7 -7 -7 -6 -6 -6 -3 -1 1 3 2 1 0 -0 -1 -1 -0 0 1 1 1 0 0 -1 -2 -3 -5 -9 -12 -13 -13 -12 -9 -5 -2 -1 -1 -1 1 2 5 7 9 11 13 16 19 21 23 25 27 29 30 33 36 38 -15 -16 -17 -16 -15 -13 -12 -10 -9 -7 -6 -5 -6 -7 -7 -8 -9 -9 -8 -7 -6 -6 -5 -4 -4 -4 -3 -2 -2 -3 -5 -6 -8 -10 -11 -11 -11 -10 -10 -10 -10 -11 -12 -13 -13 -14 -15 -17 -19 -21 -23 -24 -26 -29 -31 -34 -37 -39 -40 -39 -37 -34 -29 -25 -21 -19 -17 -17 -15 -13 -12 -12 -13 -15 -16 -16 -15 -14 -14 -14 -14 -16 -17 -19 -20 -21 -20 -19 -18 -19 -20 -20 -20 -21 -22 -23 -22 -20 -18 -15 -13 -12 -11 -12 -13 -15 -16 -16 -17 -18 -18 -19 -20 -21 -22 -22 -22 -24 -25 -26 -25 -23 -21 -20 -21 -22 -24 -27 -29 -30 -31 -31 -32 -32 -32 -34 -36 -36 -34 -33 -33 -34 -36 -37 -37 -38 -38 -37 -35 -32 -29 -27 -25 -25 -27 -31 -36 -39 -40 -39 -36 -31 -27 -25 -24 -23 -22 -23 -25 -28 -30 -33 -33 -31 -29 -27 -30 -34 -38 -40 -40 -39 -35 -31 -26 -22 -17 -13 -12 -12 -12 -10 -9 -10 -10 -10 -11 -10 -10 -9 -8 -8 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -10 -10 -10 -11 -12 -12 -13 -13 -14 -14 -15 -15 -15 -15 -15 -14 -13 -12 -12 -12 -13 -13 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -3 -2 -3 -3 -3 -3 -3 -4 -4 -4 -5 -6 -6 -7 -7 -7 -7 -7 -7 -7 -6 -5 -4 -3 -2 -3 -4 -4 -5 -6 -6 -5 -4 -3 -3 -2 -2 -2 -3 -3 -2 -2 -0 1 3 4 5 5 5 3 2 -0 -1 -1 -2 -2 -3 -4 -5 -5 -5 -4 -3 -3 -2 -2 -3 -4 -4 -4 -3 -2 -0 1 2 2 2 2 1 1 1 1 2 1 0 -1 -3 -5 -6 -6 -7 -8 -9 -9 -9 -8 -7 -6 -6 -6 -5 -3 -4 -6 -6 -6 -8 -12 -13 -12 -10 -11 -10 -7 -4 -1 2 2 1 -0 -1 -2 -2 -2 -1 -0 0 0 0 -1 -1 -3 -5 -8 -12 -15 -16 -16 -14 -14 -11 -6 -2 -2 -2 -1 1 3 5 7 9 11 14 18 21 23 25 26 28 29 31 34 37 -17 -18 -18 -18 -17 -14 -13 -11 -10 -9 -8 -6 -6 -7 -8 -9 -10 -9 -8 -8 -7 -6 -5 -5 -5 -5 -4 -3 -3 -4 -5 -7 -9 -10 -12 -12 -12 -12 -11 -11 -10 -11 -11 -12 -13 -13 -15 -16 -18 -20 -22 -24 -27 -30 -33 -35 -37 -39 -39 -38 -35 -32 -28 -25 -22 -20 -18 -17 -15 -12 -11 -10 -11 -13 -14 -14 -13 -13 -13 -14 -15 -16 -18 -19 -19 -19 -18 -18 -19 -20 -20 -20 -20 -19 -20 -21 -21 -20 -18 -15 -13 -12 -12 -14 -16 -17 -18 -18 -18 -18 -18 -19 -20 -21 -21 -21 -21 -22 -24 -25 -25 -24 -22 -21 -21 -22 -23 -25 -27 -29 -31 -32 -33 -34 -34 -35 -37 -38 -36 -33 -32 -33 -35 -37 -37 -37 -38 -38 -37 -35 -32 -29 -26 -24 -25 -28 -31 -35 -38 -40 -41 -38 -32 -26 -23 -23 -23 -23 -24 -26 -27 -30 -32 -33 -31 -28 -28 -30 -33 -36 -39 -38 -35 -31 -28 -26 -23 -19 -16 -16 -16 -12 -10 -9 -10 -11 -11 -11 -10 -10 -8 -8 -7 -7 -8 -8 -9 -9 -9 -9 -9 -9 -9 -10 -10 -10 -10 -10 -11 -11 -12 -13 -13 -14 -14 -15 -16 -16 -15 -14 -13 -12 -11 -11 -11 -12 -12 -12 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -3 -3 -3 -3 -3 -3 -4 -4 -4 -4 -5 -6 -6 -7 -7 -7 -7 -7 -8 -8 -8 -7 -5 -4 -3 -2 -2 -3 -4 -5 -6 -7 -6 -5 -4 -3 -3 -2 -3 -3 -4 -4 -3 -2 -0 1 3 4 5 5 4 3 1 -0 -1 -2 -2 -3 -4 -5 -6 -6 -6 -5 -4 -3 -3 -3 -4 -5 -5 -5 -4 -3 -2 -1 -0 0 0 0 -0 -0 -0 0 1 0 -1 -3 -5 -6 -7 -7 -8 -9 -10 -11 -10 -9 -9 -10 -10 -9 -4 -6 -10 -11 -11 -11 -12 -13 -15 -17 -18 -16 -13 -10 -7 -2 1 1 -0 -1 -2 -2 -2 -2 -1 -0 -0 -1 -1 -2 -3 -5 -10 -13 -16 -17 -17 -12 -12 -12 -9 -4 -3 -3 -3 -1 1 3 5 7 10 13 17 20 23 25 25 26 27 28 30 33 -17 -19 -20 -21 -20 -17 -14 -12 -11 -10 -9 -7 -7 -8 -9 -11 -12 -12 -10 -10 -9 -8 -6 -6 -6 -6 -5 -4 -5 -5 -6 -8 -10 -11 -12 -13 -13 -12 -12 -11 -11 -11 -11 -11 -12 -13 -15 -17 -19 -21 -22 -24 -27 -30 -33 -36 -38 -38 -38 -35 -32 -29 -26 -25 -23 -21 -19 -17 -14 -12 -10 -9 -10 -11 -13 -13 -13 -13 -14 -15 -16 -17 -18 -18 -18 -18 -18 -18 -20 -21 -21 -21 -20 -21 -20 -19 -17 -16 -15 -13 -13 -12 -13 -15 -16 -17 -18 -18 -19 -20 -20 -20 -20 -21 -21 -21 -21 -22 -23 -24 -24 -24 -23 -22 -22 -22 -23 -24 -26 -28 -30 -31 -33 -34 -35 -37 -38 -39 -38 -35 -33 -33 -34 -36 -37 -37 -37 -38 -38 -37 -36 -33 -29 -26 -24 -26 -27 -30 -32 -35 -39 -40 -35 -29 -24 -23 -24 -24 -24 -24 -24 -25 -27 -28 -28 -27 -28 -29 -31 -32 -33 -34 -34 -33 -32 -33 -33 -28 -20 -14 -14 -15 -13 -11 -11 -11 -11 -11 -11 -10 -9 -8 -7 -7 -8 -9 -9 -10 -10 -10 -10 -10 -10 -11 -11 -11 -10 -10 -11 -11 -12 -12 -13 -14 -14 -15 -16 -16 -15 -13 -12 -10 -10 -10 -10 -11 -11 -11 -11 -10 -10 -9 -8 -7 -5 -4 -3 -3 -3 -3 -3 -3 -3 -3 -4 -4 -5 -5 -6 -6 -7 -7 -8 -7 -8 -8 -8 -8 -8 -7 -6 -5 -3 -2 -2 -3 -4 -5 -6 -7 -7 -7 -6 -5 -4 -3 -3 -3 -4 -4 -4 -3 -2 -0 1 3 4 5 5 4 2 0 -1 -2 -2 -3 -4 -5 -6 -7 -7 -6 -6 -5 -4 -4 -4 -5 -6 -6 -6 -6 -5 -4 -3 -2 -1 -1 -1 -1 -1 -0 0 0 -0 -2 -4 -6 -8 -8 -8 -9 -11 -13 -15 -14 -14 -16 -17 -15 -9 -11 -13 -15 -13 -11 -8 -8 -11 -17 -20 -19 -19 -17 -15 -9 -3 -1 -0 -1 -2 -2 -3 -3 -2 -2 -1 -2 -2 -3 -4 -5 -10 -13 -15 -16 -18 -13 -9 -7 -6 -4 -4 -4 -4 -3 -1 1 4 6 8 11 15 19 22 24 24 24 24 25 26 29 -17 -19 -20 -21 -20 -18 -14 -13 -12 -12 -11 -9 -9 -10 -11 -13 -14 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -6 -6 -7 -8 -9 -10 -11 -12 -12 -13 -13 -13 -13 -12 -12 -11 -10 -11 -13 -14 -16 -18 -20 -22 -24 -26 -28 -30 -32 -33 -33 -32 -31 -29 -27 -25 -24 -22 -20 -18 -16 -13 -11 -10 -10 -11 -11 -11 -12 -12 -12 -12 -15 -16 -17 -18 -18 -18 -18 -18 -18 -20 -20 -20 -20 -21 -23 -23 -20 -16 -13 -13 -13 -13 -14 -15 -16 -16 -17 -18 -19 -21 -22 -22 -21 -20 -20 -20 -21 -22 -22 -23 -24 -24 -24 -23 -23 -23 -24 -24 -26 -27 -29 -31 -32 -32 -32 -34 -37 -39 -39 -39 -38 -36 -34 -34 -35 -36 -36 -35 -36 -36 -37 -38 -36 -33 -29 -27 -27 -26 -26 -27 -29 -32 -35 -33 -29 -24 -24 -24 -25 -25 -24 -22 -22 -22 -22 -23 -24 -24 -25 -25 -24 -26 -28 -30 -30 -29 -29 -29 -26 -20 -14 -11 -12 -15 -16 -15 -12 -11 -11 -11 -10 -9 -8 -7 -7 -8 -9 -10 -11 -11 -11 -11 -11 -11 -11 -12 -11 -11 -11 -11 -11 -12 -12 -13 -14 -14 -15 -15 -15 -14 -13 -11 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -8 -7 -6 -5 -4 -4 -3 -3 -3 -3 -3 -3 -4 -4 -5 -5 -6 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -7 -6 -5 -4 -2 -2 -2 -3 -4 -5 -7 -7 -7 -7 -6 -5 -4 -4 -4 -4 -4 -4 -4 -3 -2 -0 1 3 4 5 4 3 1 -1 -2 -2 -3 -4 -5 -6 -7 -7 -7 -7 -6 -5 -5 -5 -5 -6 -7 -8 -7 -7 -6 -5 -4 -3 -2 -2 -1 -1 -0 0 1 1 -1 -3 -5 -7 -9 -10 -11 -14 -18 -23 -22 -21 -21 -22 -20 -15 -16 -16 -15 -13 -10 -8 -8 -10 -15 -19 -20 -20 -19 -20 -17 -11 -4 -1 -1 -1 -2 -3 -3 -3 -3 -3 -3 -4 -5 -6 -6 -9 -12 -14 -14 -19 -16 -10 -4 -4 -3 -4 -4 -5 -5 -3 -0 2 5 7 10 13 17 21 23 23 23 23 23 23 25 -18 -19 -20 -19 -18 -16 -14 -13 -14 -14 -13 -12 -12 -13 -14 -15 -16 -16 -15 -14 -13 -12 -11 -9 -8 -8 -7 -7 -8 -9 -9 -10 -10 -10 -10 -11 -11 -11 -12 -12 -12 -10 -9 -9 -10 -11 -13 -14 -15 -17 -19 -22 -24 -25 -26 -28 -28 -27 -26 -26 -25 -24 -23 -22 -21 -19 -16 -14 -11 -9 -9 -9 -10 -11 -10 -10 -9 -9 -10 -13 -15 -16 -17 -17 -18 -19 -19 -20 -21 -20 -19 -18 -19 -23 -24 -21 -15 -12 -11 -12 -13 -14 -16 -16 -16 -16 -17 -19 -21 -23 -23 -23 -21 -20 -20 -20 -21 -22 -22 -23 -24 -25 -25 -24 -24 -25 -27 -28 -29 -30 -31 -32 -32 -32 -33 -35 -37 -38 -38 -38 -37 -36 -35 -35 -35 -34 -33 -34 -35 -36 -36 -35 -34 -33 -32 -31 -29 -26 -25 -24 -24 -26 -27 -26 -24 -23 -22 -22 -22 -22 -20 -20 -19 -19 -20 -21 -20 -20 -20 -19 -20 -22 -25 -26 -25 -24 -23 -23 -22 -18 -13 -10 -12 -15 -18 -17 -14 -13 -11 -10 -10 -9 -8 -8 -8 -9 -10 -11 -12 -12 -12 -12 -12 -13 -13 -12 -12 -12 -12 -12 -12 -12 -13 -13 -14 -14 -15 -14 -13 -12 -10 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -6 -6 -5 -5 -4 -4 -4 -4 -4 -3 -4 -4 -4 -5 -6 -6 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -7 -6 -5 -4 -3 -2 -2 -2 -3 -4 -6 -7 -8 -8 -8 -7 -6 -5 -4 -4 -4 -4 -4 -4 -3 -2 -1 1 3 4 4 3 1 -1 -2 -3 -3 -4 -5 -5 -6 -7 -7 -7 -7 -6 -6 -6 -6 -7 -8 -9 -9 -9 -8 -7 -6 -5 -4 -3 -2 -1 -0 0 1 1 0 -2 -4 -7 -10 -14 -16 -19 -23 -26 -24 -20 -20 -23 -23 -22 -21 -20 -17 -15 -12 -12 -13 -14 -17 -20 -21 -19 -19 -21 -21 -18 -10 -3 -1 -1 -2 -3 -4 -5 -5 -5 -5 -6 -8 -10 -11 -12 -13 -14 -13 -19 -19 -13 -4 -3 -3 -3 -4 -6 -7 -5 -3 1 3 6 8 11 14 18 21 22 22 22 22 22 22 -21 -20 -19 -18 -17 -15 -14 -15 -16 -16 -16 -17 -16 -15 -16 -18 -18 -18 -16 -14 -13 -12 -11 -10 -9 -9 -9 -9 -10 -11 -11 -11 -11 -10 -10 -9 -9 -9 -10 -10 -10 -9 -8 -8 -9 -10 -11 -12 -12 -14 -16 -18 -20 -22 -23 -25 -25 -23 -22 -21 -21 -21 -21 -21 -20 -18 -15 -12 -9 -8 -7 -8 -9 -10 -10 -9 -8 -8 -9 -11 -12 -14 -15 -16 -17 -19 -20 -21 -21 -19 -17 -16 -17 -20 -22 -20 -16 -12 -12 -12 -13 -15 -16 -16 -16 -16 -17 -18 -20 -23 -24 -24 -22 -21 -20 -20 -20 -21 -21 -22 -24 -26 -27 -27 -26 -27 -29 -30 -31 -30 -31 -33 -34 -33 -32 -34 -36 -37 -37 -38 -38 -38 -37 -36 -35 -33 -32 -32 -33 -34 -34 -34 -35 -36 -37 -36 -33 -30 -28 -25 -22 -20 -21 -22 -23 -22 -19 -18 -18 -18 -18 -18 -18 -18 -18 -19 -19 -18 -17 -16 -15 -17 -19 -21 -24 -24 -21 -21 -20 -20 -17 -12 -11 -12 -16 -19 -22 -21 -18 -13 -10 -10 -9 -8 -8 -9 -10 -11 -12 -13 -13 -13 -13 -14 -14 -14 -14 -13 -13 -13 -13 -13 -13 -13 -14 -14 -14 -14 -13 -11 -10 -9 -9 -8 -8 -8 -8 -7 -7 -7 -7 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -5 -5 -5 -6 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -7 -6 -5 -4 -3 -2 -2 -2 -3 -4 -5 -6 -7 -8 -9 -9 -8 -7 -5 -5 -4 -4 -4 -4 -4 -3 -2 -0 2 3 4 3 2 -0 -2 -3 -4 -4 -5 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -7 -8 -9 -10 -10 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 -0 -1 -3 -6 -11 -17 -21 -23 -25 -27 -25 -20 -20 -24 -25 -25 -25 -25 -24 -20 -17 -18 -20 -20 -20 -21 -22 -21 -21 -22 -23 -21 -16 -9 -4 -3 -3 -4 -5 -6 -8 -9 -8 -9 -11 -16 -18 -18 -18 -17 -17 -18 -17 -12 -5 -3 -2 -3 -4 -6 -7 -7 -5 -2 1 4 6 8 10 13 19 20 21 21 22 22 21 -24 -21 -20 -18 -17 -16 -17 -18 -18 -18 -18 -19 -18 -17 -17 -18 -19 -18 -18 -17 -15 -12 -10 -10 -9 -9 -10 -11 -12 -12 -12 -11 -11 -10 -10 -10 -9 -9 -9 -9 -9 -8 -8 -8 -8 -9 -9 -10 -10 -11 -13 -14 -16 -19 -21 -23 -23 -21 -20 -18 -18 -18 -18 -19 -18 -17 -14 -11 -8 -7 -6 -6 -7 -8 -9 -9 -8 -8 -8 -9 -11 -12 -14 -15 -17 -18 -20 -21 -21 -20 -18 -16 -15 -17 -18 -17 -14 -12 -12 -13 -14 -15 -16 -16 -16 -16 -17 -17 -19 -21 -23 -24 -23 -22 -20 -19 -19 -20 -21 -22 -24 -27 -29 -29 -29 -29 -31 -32 -31 -30 -31 -33 -35 -35 -33 -32 -33 -34 -36 -37 -38 -38 -37 -36 -34 -32 -31 -30 -31 -31 -32 -33 -35 -37 -38 -35 -32 -31 -30 -29 -24 -21 -20 -21 -21 -20 -18 -17 -17 -17 -16 -15 -15 -15 -16 -19 -19 -17 -15 -13 -12 -13 -15 -18 -22 -25 -23 -21 -19 -18 -17 -15 -14 -14 -15 -14 -18 -23 -24 -20 -14 -11 -10 -9 -9 -9 -10 -11 -12 -13 -14 -14 -14 -15 -15 -15 -15 -15 -15 -15 -14 -14 -13 -13 -13 -13 -13 -13 -12 -11 -10 -10 -9 -9 -9 -8 -8 -7 -7 -7 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -5 -5 -5 -5 -5 -6 -6 -7 -7 -8 -8 -9 -9 -9 -9 -9 -8 -7 -5 -4 -3 -3 -2 -2 -2 -2 -3 -4 -5 -6 -7 -9 -9 -9 -8 -7 -6 -5 -5 -4 -4 -4 -4 -3 -2 0 2 3 3 2 0 -2 -4 -5 -5 -5 -6 -6 -6 -6 -6 -6 -6 -7 -7 -7 -8 -9 -10 -11 -12 -12 -11 -10 -10 -9 -8 -7 -5 -4 -3 -2 -1 -1 -2 -4 -6 -10 -18 -22 -24 -25 -26 -25 -21 -21 -27 -28 -28 -27 -25 -22 -18 -20 -22 -23 -23 -22 -22 -23 -23 -23 -23 -23 -23 -21 -17 -10 -7 -6 -6 -7 -9 -11 -13 -14 -13 -14 -19 -20 -21 -20 -21 -21 -20 -15 -10 -6 -3 -2 -2 -3 -5 -7 -8 -7 -4 -1 2 4 5 5 7 15 18 19 20 20 20 20 -24 -23 -21 -20 -20 -20 -20 -20 -20 -21 -21 -22 -22 -21 -19 -19 -20 -20 -18 -17 -15 -13 -11 -10 -10 -10 -11 -12 -12 -12 -11 -11 -10 -10 -10 -10 -9 -9 -8 -8 -8 -8 -8 -8 -8 -9 -9 -9 -9 -9 -10 -11 -13 -16 -19 -21 -22 -21 -19 -17 -16 -16 -16 -17 -16 -15 -13 -10 -8 -6 -6 -6 -6 -7 -8 -8 -8 -7 -8 -8 -9 -10 -12 -14 -16 -18 -20 -21 -22 -21 -19 -17 -16 -16 -16 -14 -12 -10 -11 -14 -16 -16 -17 -18 -18 -17 -17 -17 -18 -20 -22 -23 -23 -22 -21 -20 -19 -20 -20 -22 -24 -27 -30 -31 -31 -32 -32 -33 -32 -31 -31 -32 -35 -36 -34 -31 -31 -32 -34 -36 -37 -37 -37 -36 -35 -33 -31 -29 -29 -29 -30 -32 -34 -36 -37 -35 -31 -29 -28 -27 -23 -20 -18 -18 -17 -17 -17 -17 -17 -16 -15 -14 -13 -13 -13 -15 -15 -14 -12 -11 -11 -12 -14 -17 -20 -24 -25 -23 -20 -17 -16 -17 -17 -17 -15 -10 -12 -19 -23 -23 -18 -13 -11 -10 -10 -9 -10 -11 -12 -14 -14 -15 -15 -15 -16 -17 -17 -17 -17 -17 -16 -15 -15 -14 -13 -13 -12 -12 -12 -11 -11 -10 -10 -9 -9 -9 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -6 -5 -5 -5 -5 -5 -6 -6 -7 -8 -8 -9 -10 -10 -10 -10 -9 -7 -4 -3 -2 -2 -2 -3 -2 -2 -2 -3 -3 -4 -6 -8 -9 -10 -9 -8 -7 -6 -5 -4 -4 -4 -3 -3 -2 -1 1 2 3 3 1 -2 -4 -5 -6 -6 -6 -7 -7 -7 -6 -5 -5 -6 -7 -8 -9 -10 -11 -12 -13 -13 -13 -12 -12 -11 -11 -10 -9 -8 -6 -5 -4 -4 -4 -5 -6 -9 -16 -22 -25 -24 -22 -21 -21 -24 -29 -30 -30 -28 -24 -18 -18 -23 -26 -26 -25 -24 -24 -23 -24 -24 -23 -21 -21 -22 -20 -16 -14 -12 -11 -11 -13 -14 -17 -19 -19 -19 -20 -21 -21 -21 -22 -23 -21 -18 -14 -11 -6 -3 -2 -3 -4 -6 -7 -8 -6 -4 -1 1 2 2 2 11 15 16 17 17 16 16 -23 -23 -23 -22 -22 -21 -22 -22 -22 -22 -23 -23 -23 -22 -21 -19 -21 -22 -21 -18 -17 -16 -14 -12 -12 -12 -13 -13 -12 -11 -10 -9 -9 -9 -10 -10 -10 -9 -9 -9 -9 -9 -10 -10 -10 -10 -10 -10 -9 -9 -9 -9 -10 -12 -15 -18 -20 -20 -19 -17 -16 -16 -16 -16 -15 -13 -11 -9 -8 -7 -6 -5 -6 -7 -7 -7 -7 -7 -7 -7 -8 -9 -11 -13 -15 -17 -18 -20 -21 -21 -20 -19 -18 -18 -18 -16 -12 -9 -9 -13 -16 -18 -19 -21 -21 -20 -19 -18 -19 -20 -21 -22 -23 -22 -22 -20 -19 -19 -20 -22 -24 -27 -29 -32 -33 -33 -33 -33 -34 -33 -32 -32 -33 -35 -34 -31 -29 -30 -32 -34 -36 -36 -36 -35 -36 -34 -32 -30 -29 -29 -31 -33 -35 -36 -35 -34 -31 -28 -25 -24 -22 -19 -18 -17 -16 -16 -17 -17 -17 -17 -16 -15 -13 -12 -12 -13 -15 -15 -13 -10 -10 -12 -13 -16 -18 -22 -24 -24 -21 -19 -17 -17 -19 -19 -16 -11 -10 -11 -14 -16 -15 -12 -11 -11 -11 -10 -11 -12 -13 -14 -15 -15 -15 -16 -16 -17 -18 -19 -19 -18 -18 -17 -16 -15 -14 -13 -12 -12 -12 -11 -11 -11 -11 -10 -10 -9 -9 -8 -8 -7 -7 -7 -7 -7 -8 -8 -8 -7 -7 -7 -7 -7 -6 -6 -6 -6 -6 -5 -6 -6 -7 -8 -9 -10 -11 -11 -12 -11 -9 -7 -4 -2 -1 -2 -2 -3 -3 -2 -2 -2 -2 -3 -4 -6 -8 -10 -10 -9 -8 -7 -6 -5 -4 -3 -3 -3 -2 -1 -0 1 2 3 2 -1 -3 -5 -6 -6 -6 -7 -7 -7 -7 -5 -5 -5 -6 -7 -9 -10 -11 -13 -14 -14 -14 -13 -13 -13 -13 -13 -12 -12 -10 -9 -7 -7 -6 -6 -7 -8 -13 -20 -25 -21 -16 -17 -21 -27 -31 -31 -31 -30 -26 -19 -20 -24 -28 -28 -27 -26 -25 -24 -23 -24 -22 -19 -18 -19 -19 -17 -18 -18 -18 -18 -19 -18 -19 -21 -22 -22 -21 -20 -20 -21 -23 -23 -23 -21 -20 -18 -12 -6 -2 -2 -3 -4 -6 -8 -8 -7 -4 -2 0 1 2 6 10 12 13 12 10 9 -24 -24 -24 -23 -22 -22 -22 -22 -22 -23 -24 -25 -24 -23 -21 -19 -20 -22 -22 -20 -19 -19 -18 -17 -16 -15 -15 -14 -12 -10 -9 -8 -8 -8 -9 -9 -10 -10 -9 -9 -9 -10 -12 -12 -13 -13 -14 -12 -11 -11 -10 -9 -8 -10 -12 -14 -16 -18 -19 -18 -17 -16 -16 -15 -14 -12 -9 -8 -7 -7 -6 -6 -6 -6 -6 -6 -7 -7 -7 -7 -7 -8 -10 -12 -14 -15 -15 -17 -18 -20 -20 -20 -20 -20 -20 -18 -14 -9 -7 -10 -15 -19 -21 -22 -24 -24 -23 -21 -20 -20 -21 -22 -22 -22 -21 -20 -19 -19 -20 -22 -24 -27 -29 -32 -34 -33 -32 -32 -33 -35 -34 -34 -33 -33 -33 -30 -28 -28 -29 -33 -35 -35 -35 -34 -36 -36 -35 -33 -32 -32 -33 -35 -37 -37 -34 -33 -31 -28 -23 -20 -19 -18 -17 -17 -16 -16 -17 -17 -17 -17 -16 -16 -15 -13 -12 -11 -11 -10 -10 -9 -9 -10 -12 -15 -18 -22 -23 -23 -22 -20 -18 -18 -18 -19 -18 -15 -11 -7 -6 -7 -9 -9 -10 -11 -11 -11 -12 -12 -13 -14 -15 -15 -15 -16 -17 -18 -19 -20 -20 -20 -19 -19 -18 -16 -15 -14 -13 -12 -12 -12 -12 -12 -12 -11 -11 -10 -9 -9 -9 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -7 -7 -7 -7 -7 -7 -7 -6 -6 -6 -7 -8 -10 -11 -12 -13 -13 -12 -10 -7 -4 -2 -1 -2 -2 -3 -3 -2 -2 -1 -1 -1 -2 -4 -7 -9 -10 -10 -9 -7 -6 -5 -4 -3 -3 -2 -2 -2 -1 0 1 2 2 0 -2 -4 -5 -6 -6 -7 -7 -8 -8 -7 -5 -4 -4 -5 -7 -9 -11 -12 -14 -14 -14 -14 -13 -14 -14 -15 -15 -15 -14 -13 -11 -9 -8 -8 -8 -8 -11 -16 -20 -17 -18 -21 -26 -30 -32 -32 -32 -31 -29 -25 -23 -25 -27 -27 -26 -26 -25 -23 -21 -23 -22 -19 -17 -18 -20 -18 -18 -20 -22 -24 -22 -21 -21 -21 -22 -21 -19 -18 -19 -21 -22 -23 -23 -23 -22 -20 -15 -9 -4 -2 -2 -3 -5 -7 -9 -9 -7 -5 -3 -3 -3 -1 3 7 7 4 2 3 -25 -25 -24 -23 -23 -22 -22 -22 -22 -23 -24 -25 -25 -24 -22 -20 -19 -20 -20 -20 -19 -21 -22 -22 -21 -20 -19 -17 -14 -11 -8 -6 -6 -7 -9 -10 -10 -10 -9 -9 -10 -11 -13 -13 -14 -14 -14 -12 -12 -11 -9 -8 -7 -8 -9 -11 -13 -15 -17 -18 -18 -18 -17 -15 -13 -11 -9 -8 -7 -7 -7 -7 -6 -6 -6 -6 -7 -7 -7 -7 -7 -8 -9 -10 -11 -12 -13 -13 -15 -17 -18 -19 -20 -21 -21 -19 -15 -12 -10 -10 -11 -14 -16 -18 -20 -24 -27 -28 -25 -22 -21 -21 -22 -22 -21 -20 -19 -19 -20 -22 -24 -27 -29 -32 -34 -33 -32 -31 -32 -35 -36 -36 -35 -32 -30 -29 -28 -27 -28 -30 -33 -34 -33 -33 -35 -36 -36 -36 -36 -37 -38 -39 -40 -39 -35 -32 -30 -28 -24 -20 -19 -17 -17 -16 -16 -16 -16 -16 -16 -16 -16 -16 -15 -14 -12 -11 -10 -10 -9 -9 -9 -9 -11 -14 -17 -20 -20 -20 -20 -19 -18 -18 -18 -19 -20 -20 -16 -12 -9 -8 -9 -8 -7 -8 -9 -11 -12 -13 -14 -14 -15 -15 -16 -16 -17 -18 -19 -20 -20 -21 -20 -20 -19 -18 -17 -15 -14 -13 -13 -13 -13 -14 -14 -13 -12 -11 -10 -10 -9 -9 -8 -8 -8 -8 -8 -7 -7 -7 -7 -8 -8 -8 -8 -8 -8 -8 -8 -8 -7 -8 -8 -10 -12 -13 -14 -14 -14 -12 -9 -6 -4 -2 -2 -2 -2 -2 -2 -2 -1 -1 -0 -0 -1 -3 -5 -8 -10 -11 -10 -9 -7 -6 -5 -3 -3 -2 -2 -1 -1 -1 -0 1 1 0 -1 -3 -5 -6 -6 -6 -7 -8 -8 -8 -6 -5 -3 -3 -5 -8 -10 -12 -13 -14 -14 -13 -13 -13 -14 -15 -16 -16 -16 -15 -14 -12 -10 -10 -9 -9 -10 -11 -13 -16 -23 -28 -29 -30 -31 -32 -32 -32 -31 -29 -28 -28 -27 -24 -24 -25 -24 -21 -19 -22 -22 -19 -18 -21 -24 -21 -18 -18 -21 -24 -23 -22 -21 -20 -21 -20 -17 -15 -18 -21 -21 -22 -22 -23 -22 -20 -16 -10 -4 -3 -2 -2 -3 -5 -8 -10 -10 -10 -8 -8 -10 -9 -5 -2 -1 -4 -3 2 -26 -25 -24 -23 -23 -22 -23 -23 -22 -22 -23 -25 -26 -26 -24 -21 -20 -18 -18 -17 -18 -21 -24 -25 -26 -26 -26 -24 -21 -15 -10 -6 -5 -7 -9 -10 -11 -11 -10 -11 -12 -13 -13 -12 -13 -14 -13 -12 -12 -11 -10 -9 -7 -7 -8 -9 -10 -12 -13 -15 -17 -18 -18 -16 -13 -11 -9 -8 -8 -8 -7 -7 -6 -6 -6 -6 -7 -7 -7 -7 -7 -8 -9 -10 -10 -11 -11 -11 -13 -15 -17 -19 -21 -24 -24 -21 -17 -14 -12 -11 -12 -13 -15 -16 -18 -22 -26 -29 -29 -26 -24 -22 -22 -22 -22 -21 -20 -19 -20 -22 -24 -26 -29 -32 -34 -33 -31 -30 -30 -33 -36 -37 -36 -32 -26 -25 -26 -27 -28 -29 -30 -31 -31 -31 -32 -34 -35 -35 -38 -41 -43 -43 -42 -40 -36 -31 -29 -27 -26 -23 -20 -18 -17 -16 -16 -16 -16 -16 -15 -15 -15 -15 -14 -13 -12 -11 -10 -10 -9 -9 -9 -9 -9 -11 -13 -15 -17 -20 -22 -22 -20 -19 -19 -19 -19 -19 -19 -17 -15 -12 -10 -7 -4 -3 -4 -7 -9 -11 -13 -14 -15 -15 -16 -16 -17 -18 -19 -20 -20 -21 -21 -21 -20 -19 -18 -17 -16 -15 -14 -14 -14 -15 -15 -15 -14 -13 -12 -11 -10 -10 -9 -8 -8 -8 -8 -7 -7 -7 -7 -8 -8 -8 -9 -10 -10 -10 -10 -10 -10 -10 -11 -13 -15 -16 -15 -14 -12 -10 -7 -6 -4 -3 -3 -2 -2 -2 -1 -1 -1 -1 -0 -0 -0 -2 -3 -6 -9 -11 -11 -10 -8 -7 -5 -4 -3 -2 -2 -1 -1 -1 -1 -1 -0 -0 -1 -2 -4 -5 -5 -5 -6 -6 -7 -8 -7 -6 -4 -2 -3 -6 -8 -10 -11 -12 -13 -13 -13 -12 -13 -14 -16 -17 -17 -17 -16 -14 -12 -11 -11 -12 -12 -12 -13 -17 -23 -27 -27 -27 -30 -32 -32 -32 -31 -30 -30 -29 -28 -25 -25 -26 -26 -24 -21 -22 -22 -21 -20 -22 -26 -25 -21 -17 -19 -23 -24 -24 -22 -20 -20 -20 -18 -17 -19 -21 -21 -21 -21 -23 -22 -20 -17 -11 -5 -4 -3 -2 -2 -3 -6 -10 -13 -15 -13 -13 -14 -12 -10 -9 -9 -9 -5 5 -26 -25 -24 -23 -23 -23 -24 -24 -23 -23 -23 -26 -26 -25 -24 -22 -21 -19 -18 -18 -17 -18 -21 -23 -25 -28 -31 -29 -26 -20 -13 -7 -5 -6 -8 -9 -10 -10 -10 -11 -11 -12 -11 -11 -11 -12 -12 -11 -11 -11 -11 -11 -9 -8 -8 -9 -9 -10 -11 -13 -15 -17 -18 -15 -13 -11 -10 -8 -8 -7 -7 -7 -6 -5 -5 -6 -7 -7 -7 -7 -7 -7 -8 -9 -9 -10 -10 -11 -12 -15 -17 -19 -20 -22 -24 -23 -20 -16 -14 -12 -13 -14 -15 -15 -16 -19 -23 -28 -33 -31 -27 -25 -24 -23 -22 -21 -20 -20 -20 -22 -23 -25 -28 -30 -33 -32 -31 -29 -28 -30 -33 -35 -35 -32 -26 -25 -25 -27 -28 -29 -30 -30 -29 -28 -29 -30 -31 -32 -36 -41 -46 -48 -47 -42 -36 -30 -27 -27 -27 -25 -22 -20 -18 -17 -16 -16 -16 -16 -16 -15 -15 -14 -14 -13 -13 -12 -10 -9 -9 -8 -8 -8 -8 -9 -11 -13 -15 -18 -20 -22 -21 -19 -19 -18 -17 -16 -16 -17 -16 -15 -13 -10 -7 -2 1 0 -2 -5 -8 -11 -13 -14 -15 -16 -17 -18 -18 -19 -20 -21 -21 -22 -21 -21 -20 -19 -18 -17 -16 -16 -16 -16 -17 -17 -17 -16 -14 -13 -12 -11 -10 -9 -9 -8 -8 -8 -8 -7 -7 -8 -8 -9 -10 -11 -12 -12 -13 -13 -13 -14 -15 -17 -17 -16 -14 -11 -8 -6 -5 -4 -4 -4 -4 -3 -2 -1 -0 -0 -1 -1 -1 -0 -0 -1 -2 -4 -7 -10 -12 -12 -10 -8 -6 -5 -4 -3 -2 -2 -2 -2 -2 -3 -2 -2 -2 -2 -3 -5 -5 -5 -5 -5 -6 -6 -7 -7 -5 -4 -3 -4 -6 -9 -10 -11 -12 -12 -12 -12 -12 -13 -14 -16 -17 -18 -17 -16 -14 -12 -13 -16 -18 -18 -18 -21 -24 -25 -25 -25 -27 -29 -31 -32 -31 -30 -30 -30 -29 -28 -27 -27 -27 -25 -23 -23 -23 -24 -25 -27 -27 -26 -23 -21 -21 -24 -26 -26 -24 -21 -20 -19 -19 -19 -21 -22 -22 -22 -22 -21 -20 -20 -18 -13 -6 -5 -5 -4 -2 -2 -4 -8 -14 -19 -18 -16 -14 -12 -12 -12 -11 -10 -3 7 -27 -26 -25 -25 -25 -25 -25 -26 -25 -24 -24 -24 -24 -24 -23 -22 -21 -21 -22 -21 -19 -18 -18 -20 -21 -23 -24 -24 -23 -20 -14 -8 -6 -6 -7 -8 -10 -10 -10 -11 -12 -13 -13 -12 -11 -11 -11 -10 -10 -10 -10 -11 -10 -9 -8 -9 -9 -8 -9 -11 -13 -16 -17 -15 -13 -11 -10 -9 -8 -7 -7 -6 -6 -5 -5 -6 -6 -6 -6 -6 -7 -8 -8 -9 -9 -10 -11 -12 -14 -16 -17 -18 -19 -20 -23 -24 -22 -19 -17 -14 -14 -15 -16 -16 -16 -18 -21 -25 -29 -29 -28 -26 -25 -25 -24 -21 -20 -20 -20 -21 -23 -25 -27 -29 -31 -32 -30 -28 -27 -27 -29 -32 -34 -32 -27 -26 -26 -28 -29 -30 -31 -31 -29 -27 -26 -27 -28 -30 -33 -39 -46 -50 -51 -48 -40 -32 -27 -25 -26 -26 -24 -22 -19 -17 -17 -17 -16 -16 -16 -15 -15 -15 -14 -14 -13 -12 -11 -9 -8 -7 -6 -6 -7 -8 -10 -12 -13 -16 -18 -20 -20 -19 -17 -17 -16 -15 -14 -14 -15 -15 -15 -14 -13 -10 -7 -2 2 2 -0 -4 -7 -10 -12 -14 -15 -16 -17 -18 -19 -20 -21 -22 -22 -22 -21 -21 -20 -19 -18 -18 -17 -18 -19 -20 -20 -19 -17 -15 -13 -11 -10 -10 -9 -9 -9 -8 -8 -8 -8 -8 -8 -9 -11 -12 -14 -15 -15 -16 -16 -17 -19 -20 -19 -15 -11 -6 -4 -3 -3 -4 -5 -6 -6 -5 -3 -2 -0 -0 -1 -1 -2 -1 -1 -1 -1 -2 -5 -9 -12 -13 -12 -9 -7 -6 -5 -4 -3 -2 -2 -2 -3 -4 -4 -4 -3 -3 -3 -5 -5 -6 -5 -5 -5 -5 -5 -6 -6 -6 -6 -5 -5 -7 -9 -10 -10 -11 -11 -11 -11 -12 -13 -14 -16 -17 -18 -17 -16 -14 -15 -20 -24 -24 -24 -25 -26 -26 -25 -25 -27 -28 -30 -31 -31 -30 -29 -29 -29 -28 -28 -28 -27 -26 -24 -25 -26 -26 -27 -28 -27 -26 -26 -26 -27 -28 -28 -28 -26 -23 -20 -18 -18 -20 -21 -22 -22 -21 -19 -17 -15 -16 -17 -14 -8 -8 -9 -7 -4 -3 -5 -8 -13 -17 -17 -14 -13 -13 -13 -12 -9 -6 1 11 -28 -28 -27 -27 -27 -28 -28 -28 -28 -27 -25 -24 -24 -24 -24 -24 -26 -28 -27 -23 -20 -19 -20 -20 -19 -20 -20 -21 -21 -18 -13 -9 -7 -6 -6 -7 -9 -9 -10 -11 -13 -14 -14 -12 -11 -10 -10 -10 -9 -9 -10 -11 -10 -9 -9 -9 -8 -7 -8 -10 -12 -13 -14 -13 -11 -10 -9 -8 -8 -7 -6 -5 -5 -5 -5 -5 -6 -6 -6 -6 -7 -8 -9 -9 -9 -10 -11 -14 -16 -17 -17 -17 -18 -20 -22 -24 -23 -22 -20 -17 -15 -15 -16 -17 -17 -19 -20 -21 -23 -24 -24 -24 -25 -27 -25 -23 -21 -20 -20 -21 -23 -25 -27 -29 -31 -31 -30 -28 -27 -26 -26 -28 -30 -31 -28 -27 -28 -29 -30 -31 -31 -31 -30 -28 -26 -25 -26 -28 -32 -37 -42 -46 -48 -47 -44 -38 -31 -25 -22 -23 -22 -21 -19 -17 -16 -17 -17 -16 -16 -15 -15 -15 -15 -14 -14 -13 -12 -11 -9 -7 -6 -5 -5 -6 -8 -10 -12 -15 -17 -19 -19 -18 -17 -17 -16 -15 -14 -12 -12 -12 -13 -14 -13 -11 -9 -6 -5 -3 0 2 1 -2 -5 -8 -10 -12 -14 -15 -17 -19 -20 -21 -22 -22 -22 -22 -21 -20 -20 -19 -19 -20 -21 -22 -23 -22 -20 -17 -14 -12 -10 -9 -9 -9 -9 -9 -9 -9 -9 -9 -9 -10 -12 -13 -15 -17 -18 -19 -19 -21 -22 -22 -18 -13 -7 -3 -2 -3 -4 -5 -6 -7 -8 -7 -5 -3 -1 -0 -1 -2 -2 -2 -2 -1 -1 -2 -3 -7 -11 -13 -14 -12 -9 -7 -5 -5 -4 -3 -2 -1 -2 -3 -5 -5 -5 -5 -5 -5 -6 -6 -6 -5 -5 -5 -5 -5 -7 -9 -12 -11 -8 -6 -8 -9 -9 -9 -10 -10 -10 -11 -12 -13 -15 -17 -18 -18 -18 -17 -19 -22 -25 -25 -26 -28 -29 -28 -27 -27 -27 -28 -29 -30 -30 -29 -29 -29 -29 -29 -28 -28 -27 -25 -25 -27 -27 -27 -28 -29 -28 -27 -26 -26 -28 -29 -29 -29 -28 -25 -21 -18 -17 -19 -21 -22 -21 -16 -10 -8 -9 -13 -17 -17 -12 -11 -12 -11 -8 -7 -9 -11 -13 -15 -16 -14 -13 -13 -13 -11 -5 0 6 13 -29 -30 -30 -30 -30 -30 -29 -28 -28 -27 -27 -26 -26 -27 -27 -27 -27 -29 -28 -25 -22 -22 -22 -21 -20 -20 -21 -21 -19 -15 -13 -11 -10 -7 -6 -7 -8 -9 -10 -12 -13 -14 -13 -12 -11 -10 -10 -10 -9 -10 -11 -11 -10 -9 -9 -9 -8 -7 -8 -9 -10 -10 -10 -10 -9 -8 -7 -7 -7 -6 -6 -5 -5 -5 -5 -5 -6 -7 -7 -7 -8 -9 -9 -9 -9 -9 -11 -14 -17 -18 -18 -18 -18 -21 -24 -25 -24 -23 -23 -20 -18 -16 -16 -17 -18 -20 -22 -22 -21 -20 -20 -21 -24 -26 -26 -24 -22 -21 -21 -21 -23 -25 -27 -30 -31 -30 -29 -28 -27 -25 -24 -25 -26 -28 -27 -28 -29 -30 -32 -32 -32 -31 -31 -30 -28 -26 -27 -29 -32 -36 -39 -41 -43 -44 -45 -44 -39 -31 -23 -20 -19 -18 -17 -16 -16 -17 -17 -17 -16 -15 -15 -14 -14 -14 -14 -13 -13 -12 -10 -8 -7 -6 -6 -5 -7 -9 -11 -13 -15 -16 -16 -16 -16 -16 -15 -15 -15 -13 -11 -10 -11 -12 -12 -11 -9 -9 -9 -8 -5 -2 1 2 1 -0 -2 -5 -7 -10 -12 -15 -17 -19 -20 -21 -22 -22 -22 -22 -21 -20 -20 -21 -22 -23 -25 -25 -23 -20 -16 -13 -10 -9 -9 -9 -9 -10 -10 -10 -10 -10 -10 -11 -13 -15 -17 -20 -21 -22 -23 -24 -24 -22 -16 -10 -5 -2 -3 -4 -5 -6 -7 -8 -8 -8 -7 -5 -3 -2 -2 -2 -3 -3 -3 -2 -2 -2 -3 -5 -9 -12 -15 -13 -10 -7 -6 -5 -4 -4 -3 -2 -1 -2 -4 -5 -6 -6 -6 -6 -7 -7 -7 -6 -6 -6 -7 -8 -12 -13 -14 -15 -15 -11 -9 -9 -9 -9 -8 -9 -9 -10 -12 -14 -16 -18 -20 -21 -22 -23 -26 -28 -28 -27 -27 -28 -30 -29 -28 -28 -28 -28 -28 -28 -29 -29 -29 -30 -30 -29 -28 -27 -25 -25 -25 -27 -27 -28 -29 -29 -29 -27 -26 -26 -27 -28 -29 -29 -28 -26 -22 -19 -17 -18 -20 -20 -17 -12 -8 -7 -8 -12 -17 -18 -15 -14 -13 -12 -11 -10 -11 -12 -13 -14 -15 -15 -14 -14 -13 -8 -1 5 8 12 -30 -30 -30 -31 -30 -28 -27 -27 -27 -26 -26 -25 -26 -28 -28 -27 -27 -27 -25 -24 -23 -23 -24 -23 -22 -22 -23 -22 -17 -14 -12 -12 -11 -8 -7 -8 -10 -10 -11 -12 -12 -12 -12 -11 -10 -10 -10 -10 -11 -11 -11 -11 -10 -9 -9 -9 -8 -7 -6 -7 -7 -7 -8 -7 -6 -6 -6 -6 -6 -7 -8 -7 -6 -5 -5 -5 -6 -7 -8 -8 -7 -6 -6 -6 -7 -9 -12 -15 -16 -17 -18 -18 -19 -21 -25 -26 -26 -25 -25 -25 -22 -19 -17 -18 -18 -20 -22 -23 -23 -20 -18 -19 -21 -25 -27 -26 -24 -22 -22 -22 -23 -25 -27 -30 -30 -29 -28 -27 -27 -25 -24 -24 -24 -25 -26 -28 -29 -31 -32 -33 -33 -32 -31 -30 -29 -28 -29 -31 -33 -36 -37 -38 -39 -39 -41 -43 -42 -36 -28 -21 -18 -17 -16 -16 -15 -16 -17 -17 -17 -16 -14 -14 -13 -13 -13 -13 -13 -12 -11 -10 -9 -8 -7 -6 -5 -7 -9 -12 -14 -14 -13 -12 -13 -13 -13 -14 -15 -15 -14 -12 -12 -13 -13 -12 -10 -9 -9 -8 -6 -4 -4 -5 -5 -3 0 1 0 -2 -5 -8 -12 -15 -17 -19 -21 -22 -22 -22 -21 -21 -21 -21 -22 -24 -26 -26 -25 -22 -18 -14 -11 -10 -10 -10 -10 -11 -11 -12 -12 -13 -13 -14 -16 -17 -20 -22 -25 -26 -26 -26 -24 -20 -14 -8 -5 -4 -5 -5 -6 -6 -7 -7 -8 -8 -8 -7 -5 -4 -3 -3 -3 -3 -4 -3 -3 -2 -2 -4 -6 -10 -13 -14 -12 -9 -7 -6 -6 -6 -5 -5 -4 -4 -4 -5 -6 -8 -8 -8 -8 -8 -8 -8 -8 -11 -13 -14 -15 -15 -16 -17 -18 -18 -15 -11 -9 -8 -8 -8 -9 -10 -13 -18 -21 -23 -26 -27 -28 -30 -32 -32 -30 -28 -28 -28 -29 -29 -28 -27 -27 -27 -27 -27 -27 -27 -28 -30 -30 -29 -28 -28 -27 -26 -26 -26 -27 -28 -29 -30 -29 -28 -27 -27 -27 -27 -27 -27 -27 -25 -22 -19 -17 -17 -18 -19 -16 -10 -10 -8 -8 -10 -14 -15 -14 -13 -12 -11 -11 -11 -11 -11 -11 -12 -13 -14 -15 -15 -12 -6 -0 3 7 10 -29 -30 -30 -30 -28 -26 -25 -26 -26 -25 -25 -25 -26 -27 -27 -27 -26 -26 -24 -22 -23 -24 -26 -26 -25 -24 -23 -21 -16 -13 -11 -11 -9 -8 -9 -11 -13 -13 -14 -13 -11 -10 -10 -9 -9 -9 -10 -10 -11 -10 -10 -10 -10 -9 -9 -9 -8 -6 -5 -5 -6 -7 -7 -6 -5 -5 -6 -7 -7 -8 -9 -10 -8 -6 -6 -6 -7 -7 -7 -7 -6 -6 -5 -6 -7 -9 -12 -14 -15 -17 -18 -19 -20 -22 -25 -27 -29 -28 -27 -26 -24 -23 -21 -20 -19 -20 -21 -21 -19 -18 -18 -19 -20 -22 -25 -25 -25 -23 -23 -23 -24 -25 -27 -28 -29 -28 -28 -27 -25 -25 -24 -23 -23 -24 -25 -27 -28 -30 -32 -33 -34 -33 -32 -29 -28 -29 -31 -33 -34 -36 -37 -38 -37 -37 -35 -36 -38 -38 -35 -28 -21 -17 -16 -16 -15 -15 -16 -17 -17 -16 -15 -14 -13 -12 -12 -13 -13 -13 -12 -11 -9 -8 -7 -7 -7 -7 -9 -12 -15 -15 -13 -13 -13 -13 -13 -13 -14 -15 -16 -16 -17 -17 -17 -17 -14 -12 -10 -8 -8 -8 -10 -11 -12 -11 -8 -4 -1 1 0 -2 -5 -8 -11 -15 -17 -20 -21 -21 -20 -20 -20 -20 -21 -23 -25 -26 -25 -23 -19 -16 -13 -12 -11 -11 -12 -13 -13 -14 -15 -16 -17 -18 -19 -21 -23 -26 -28 -30 -29 -27 -22 -17 -11 -8 -7 -8 -8 -7 -6 -6 -6 -6 -7 -7 -8 -8 -7 -6 -5 -4 -3 -3 -3 -4 -4 -3 -3 -3 -5 -7 -11 -14 -15 -14 -11 -10 -10 -10 -11 -11 -12 -11 -9 -7 -8 -8 -9 -10 -10 -10 -10 -12 -14 -16 -18 -18 -18 -18 -18 -18 -19 -19 -18 -15 -11 -9 -8 -7 -8 -9 -13 -21 -25 -28 -30 -31 -32 -34 -35 -34 -32 -31 -30 -28 -26 -26 -26 -25 -25 -25 -25 -24 -24 -25 -27 -29 -30 -29 -29 -30 -31 -30 -27 -26 -27 -29 -30 -30 -29 -28 -28 -28 -27 -26 -26 -25 -25 -24 -22 -20 -18 -16 -17 -17 -16 -11 -12 -11 -11 -11 -12 -12 -12 -12 -12 -11 -11 -11 -11 -10 -9 -10 -11 -13 -14 -14 -10 -6 -2 1 4 8 -27 -29 -29 -28 -26 -23 -22 -24 -24 -24 -24 -24 -25 -26 -27 -27 -27 -26 -25 -24 -24 -27 -29 -31 -30 -26 -20 -17 -15 -13 -12 -10 -9 -9 -10 -11 -12 -12 -13 -13 -11 -9 -8 -9 -9 -10 -10 -10 -11 -11 -10 -9 -7 -7 -7 -7 -6 -4 -4 -4 -6 -6 -6 -5 -5 -5 -6 -6 -7 -8 -9 -8 -7 -6 -5 -5 -5 -5 -6 -7 -7 -7 -6 -7 -9 -11 -11 -12 -14 -16 -19 -21 -23 -24 -25 -28 -31 -31 -28 -26 -26 -27 -26 -22 -20 -19 -19 -19 -19 -19 -19 -20 -20 -21 -21 -23 -24 -24 -23 -24 -25 -25 -26 -26 -28 -28 -28 -26 -25 -23 -22 -22 -22 -23 -24 -26 -27 -29 -31 -33 -34 -34 -33 -31 -29 -29 -30 -32 -34 -35 -37 -38 -38 -37 -33 -30 -32 -35 -38 -33 -25 -20 -17 -17 -16 -16 -16 -17 -17 -16 -15 -14 -13 -13 -12 -12 -12 -12 -11 -11 -10 -9 -8 -7 -7 -7 -9 -12 -15 -15 -13 -12 -13 -13 -14 -14 -15 -15 -15 -17 -18 -20 -22 -24 -24 -20 -15 -12 -12 -13 -13 -14 -15 -16 -16 -13 -10 -6 -4 -1 -1 -3 -6 -9 -13 -16 -18 -19 -19 -18 -17 -17 -19 -21 -23 -24 -24 -23 -20 -17 -15 -14 -13 -13 -14 -14 -16 -17 -18 -19 -20 -21 -22 -24 -26 -28 -30 -31 -30 -26 -19 -13 -10 -9 -10 -11 -10 -8 -6 -5 -5 -5 -5 -6 -7 -8 -8 -8 -7 -5 -4 -3 -3 -5 -6 -6 -6 -6 -6 -7 -10 -14 -17 -18 -16 -14 -13 -13 -13 -13 -13 -14 -14 -14 -14 -12 -13 -14 -15 -14 -13 -18 -19 -19 -20 -21 -21 -21 -20 -19 -18 -15 -15 -14 -12 -10 -8 -7 -7 -9 -13 -21 -26 -28 -30 -31 -32 -34 -36 -36 -34 -33 -31 -28 -24 -23 -23 -23 -23 -23 -22 -22 -22 -23 -26 -30 -31 -32 -32 -32 -33 -32 -30 -29 -30 -30 -31 -31 -30 -29 -29 -28 -27 -25 -24 -24 -24 -23 -21 -19 -18 -17 -16 -16 -16 -14 -12 -11 -11 -11 -10 -10 -10 -11 -12 -12 -11 -11 -11 -11 -10 -10 -10 -12 -13 -12 -9 -6 -4 -0 3 6 -26 -27 -28 -27 -24 -22 -21 -22 -24 -24 -24 -24 -26 -27 -28 -29 -28 -26 -26 -26 -26 -28 -33 -36 -34 -28 -20 -15 -14 -13 -12 -11 -11 -11 -11 -11 -11 -11 -11 -11 -10 -10 -10 -9 -8 -9 -10 -10 -10 -8 -6 -5 -5 -5 -5 -5 -4 -3 -2 -2 -3 -4 -5 -5 -5 -5 -5 -5 -5 -7 -8 -8 -7 -5 -5 -5 -6 -6 -6 -7 -8 -9 -9 -9 -10 -10 -10 -10 -12 -16 -20 -24 -26 -27 -28 -29 -31 -32 -30 -27 -26 -27 -26 -24 -21 -20 -19 -20 -21 -21 -21 -21 -21 -20 -21 -22 -23 -23 -24 -25 -26 -26 -26 -25 -26 -27 -27 -26 -23 -21 -21 -22 -23 -23 -24 -25 -26 -27 -29 -31 -32 -34 -34 -33 -30 -28 -27 -28 -30 -34 -37 -38 -39 -40 -38 -32 -30 -30 -33 -33 -28 -23 -20 -18 -17 -17 -17 -17 -16 -15 -15 -14 -13 -13 -12 -11 -11 -10 -10 -11 -11 -10 -9 -8 -7 -8 -9 -11 -14 -14 -13 -12 -13 -13 -14 -15 -16 -16 -16 -16 -17 -19 -22 -27 -30 -28 -24 -20 -16 -15 -15 -15 -16 -17 -18 -18 -17 -15 -12 -10 -7 -5 -4 -5 -8 -12 -15 -17 -17 -16 -14 -13 -15 -17 -19 -21 -22 -21 -20 -18 -16 -14 -14 -14 -15 -16 -17 -19 -21 -22 -23 -24 -24 -25 -26 -27 -28 -27 -25 -21 -16 -12 -11 -11 -13 -14 -12 -8 -5 -4 -3 -4 -4 -5 -6 -7 -8 -8 -8 -6 -5 -4 -5 -7 -11 -12 -12 -12 -11 -11 -12 -14 -17 -19 -18 -15 -14 -14 -14 -12 -13 -14 -16 -17 -18 -19 -21 -22 -20 -18 -15 -18 -20 -20 -20 -22 -22 -22 -20 -17 -15 -12 -11 -12 -12 -11 -9 -8 -8 -9 -14 -21 -26 -29 -30 -30 -32 -34 -35 -36 -35 -34 -33 -29 -26 -24 -24 -23 -22 -21 -20 -21 -22 -24 -27 -31 -33 -35 -35 -35 -35 -34 -33 -33 -34 -34 -33 -32 -31 -30 -30 -29 -26 -24 -23 -24 -25 -24 -21 -18 -17 -17 -16 -16 -17 -15 -8 -6 -8 -11 -10 -7 -6 -8 -11 -12 -11 -11 -11 -11 -10 -10 -10 -11 -11 -10 -10 -8 -5 -1 2 4 -26 -27 -27 -26 -24 -21 -20 -22 -23 -24 -24 -25 -28 -29 -29 -29 -29 -27 -26 -26 -26 -27 -31 -33 -32 -28 -23 -18 -15 -14 -13 -12 -12 -12 -12 -12 -11 -10 -10 -10 -10 -10 -9 -7 -7 -7 -7 -7 -6 -5 -4 -3 -4 -4 -4 -4 -3 -2 -2 -1 -2 -3 -4 -5 -6 -6 -5 -4 -4 -6 -7 -8 -7 -6 -7 -7 -8 -8 -8 -9 -10 -10 -10 -10 -10 -10 -10 -10 -12 -16 -20 -24 -28 -31 -31 -31 -31 -32 -32 -29 -27 -26 -26 -25 -23 -21 -21 -21 -22 -22 -22 -22 -21 -21 -21 -21 -22 -23 -24 -25 -27 -27 -27 -26 -25 -25 -24 -23 -21 -20 -20 -21 -22 -22 -23 -23 -24 -25 -27 -30 -32 -33 -35 -35 -33 -29 -27 -26 -27 -28 -30 -33 -37 -41 -43 -40 -35 -31 -29 -30 -30 -26 -22 -19 -19 -19 -18 -17 -17 -16 -15 -15 -14 -13 -12 -11 -11 -10 -10 -10 -11 -11 -10 -9 -8 -8 -9 -12 -14 -15 -14 -14 -13 -13 -14 -16 -17 -18 -18 -17 -17 -19 -22 -27 -33 -35 -32 -27 -21 -17 -16 -16 -16 -16 -17 -18 -18 -17 -17 -17 -15 -11 -9 -8 -8 -10 -13 -15 -16 -15 -12 -10 -10 -12 -15 -16 -17 -18 -19 -18 -17 -15 -14 -13 -14 -16 -18 -20 -22 -23 -24 -24 -24 -24 -24 -24 -23 -21 -19 -17 -15 -14 -14 -15 -16 -14 -11 -8 -5 -3 -3 -3 -4 -5 -6 -6 -7 -9 -9 -8 -8 -9 -10 -11 -14 -15 -15 -14 -13 -13 -12 -12 -15 -20 -21 -17 -15 -14 -14 -11 -12 -14 -17 -18 -19 -21 -20 -18 -14 -13 -13 -14 -15 -14 -15 -19 -20 -20 -17 -13 -11 -11 -11 -11 -11 -11 -10 -10 -10 -12 -18 -23 -26 -28 -29 -30 -32 -33 -35 -35 -35 -35 -34 -32 -28 -25 -27 -27 -26 -24 -23 -24 -25 -27 -29 -33 -35 -36 -37 -37 -36 -35 -36 -36 -36 -34 -34 -33 -32 -32 -31 -30 -27 -25 -24 -25 -25 -24 -22 -21 -20 -19 -17 -16 -17 -14 -7 -4 -6 -11 -10 -6 -4 -4 -8 -10 -10 -12 -13 -13 -12 -11 -11 -11 -11 -12 -12 -10 -6 -2 1 3 -27 -28 -28 -25 -23 -21 -20 -22 -24 -25 -27 -30 -33 -33 -31 -29 -29 -32 -29 -26 -25 -26 -28 -30 -31 -30 -26 -21 -18 -15 -14 -13 -13 -14 -13 -13 -12 -11 -11 -11 -11 -10 -8 -7 -6 -6 -6 -5 -3 -3 -3 -3 -4 -4 -5 -4 -4 -4 -3 -2 -2 -2 -4 -6 -7 -7 -5 -4 -4 -5 -6 -7 -8 -8 -9 -10 -10 -9 -9 -10 -11 -12 -11 -11 -10 -9 -9 -10 -13 -16 -20 -24 -29 -33 -34 -34 -33 -33 -34 -32 -28 -26 -26 -26 -24 -22 -22 -22 -23 -23 -23 -23 -23 -22 -22 -22 -22 -23 -25 -26 -28 -28 -28 -28 -26 -24 -22 -20 -19 -18 -18 -19 -21 -22 -22 -22 -23 -24 -26 -28 -30 -33 -34 -35 -34 -31 -27 -25 -25 -25 -26 -29 -34 -41 -45 -46 -43 -38 -34 -33 -33 -30 -25 -21 -20 -20 -19 -19 -18 -18 -17 -16 -14 -13 -12 -12 -12 -11 -11 -10 -11 -11 -11 -10 -8 -8 -10 -13 -15 -17 -16 -15 -15 -14 -14 -15 -17 -18 -19 -19 -18 -19 -20 -24 -30 -35 -37 -34 -27 -20 -17 -17 -17 -16 -16 -17 -17 -17 -17 -17 -16 -16 -16 -15 -13 -12 -13 -14 -15 -15 -13 -9 -8 -8 -10 -12 -13 -15 -16 -17 -17 -16 -14 -12 -12 -14 -17 -19 -21 -23 -23 -23 -22 -21 -21 -19 -18 -16 -15 -14 -15 -17 -18 -19 -17 -14 -10 -6 -4 -3 -3 -3 -3 -4 -6 -7 -8 -10 -13 -13 -12 -14 -14 -14 -15 -16 -16 -16 -16 -15 -13 -10 -12 -16 -19 -16 -14 -12 -11 -10 -12 -15 -18 -20 -21 -21 -16 -12 -9 -9 -10 -12 -14 -14 -13 -11 -10 -10 -11 -12 -11 -11 -11 -11 -11 -11 -11 -13 -15 -16 -20 -24 -27 -29 -31 -32 -32 -34 -35 -36 -36 -36 -36 -34 -30 -28 -31 -32 -30 -26 -27 -29 -31 -32 -32 -33 -35 -37 -38 -37 -37 -37 -37 -37 -36 -34 -33 -33 -33 -33 -32 -31 -29 -28 -26 -25 -24 -23 -23 -23 -22 -20 -18 -16 -17 -13 -7 -4 -5 -8 -10 -8 -6 -4 -6 -8 -10 -11 -13 -13 -13 -13 -12 -12 -12 -13 -14 -12 -8 -4 0 3 -29 -29 -28 -25 -23 -21 -22 -24 -26 -27 -30 -33 -38 -41 -40 -36 -34 -34 -31 -28 -27 -27 -27 -28 -29 -29 -27 -24 -22 -20 -18 -15 -14 -14 -14 -14 -14 -13 -13 -12 -11 -10 -8 -8 -7 -7 -6 -5 -3 -3 -3 -4 -5 -5 -5 -5 -5 -5 -4 -3 -2 -3 -5 -7 -8 -7 -5 -4 -4 -4 -5 -7 -8 -11 -12 -12 -11 -10 -10 -12 -12 -13 -12 -11 -9 -8 -9 -11 -14 -17 -20 -24 -28 -32 -35 -36 -35 -34 -35 -34 -31 -28 -27 -27 -25 -24 -23 -23 -24 -24 -25 -25 -24 -23 -24 -24 -24 -24 -26 -27 -28 -29 -30 -30 -28 -25 -22 -19 -17 -16 -17 -18 -20 -21 -21 -21 -22 -22 -23 -24 -27 -30 -33 -36 -35 -31 -27 -24 -24 -24 -25 -28 -33 -39 -43 -45 -45 -43 -39 -37 -34 -30 -25 -22 -23 -23 -22 -20 -19 -19 -20 -19 -17 -15 -13 -13 -13 -12 -12 -12 -12 -12 -12 -12 -10 -10 -11 -13 -16 -18 -18 -17 -16 -17 -16 -15 -16 -17 -19 -20 -19 -19 -21 -23 -28 -32 -35 -35 -30 -23 -19 -18 -18 -16 -15 -16 -17 -17 -16 -16 -15 -15 -16 -18 -19 -18 -16 -15 -17 -18 -15 -12 -9 -8 -8 -11 -12 -13 -13 -15 -16 -16 -14 -12 -11 -11 -13 -16 -18 -19 -20 -20 -19 -18 -17 -16 -15 -14 -14 -15 -17 -19 -21 -21 -18 -13 -8 -5 -4 -4 -4 -4 -4 -5 -7 -9 -11 -13 -17 -18 -17 -16 -15 -15 -15 -16 -19 -19 -18 -16 -14 -11 -10 -12 -14 -16 -14 -12 -11 -10 -11 -14 -18 -22 -24 -21 -14 -10 -8 -8 -9 -10 -12 -14 -14 -13 -10 -8 -8 -10 -12 -13 -12 -12 -12 -11 -11 -15 -19 -20 -22 -26 -29 -30 -32 -33 -34 -35 -36 -37 -37 -37 -36 -35 -33 -32 -34 -34 -32 -29 -31 -33 -34 -35 -34 -35 -36 -37 -37 -37 -38 -38 -37 -37 -36 -35 -34 -34 -33 -34 -32 -31 -31 -31 -28 -25 -23 -22 -22 -21 -19 -16 -15 -14 -15 -13 -8 -6 -6 -5 -7 -8 -7 -6 -6 -7 -9 -10 -11 -13 -13 -13 -13 -13 -13 -13 -14 -13 -10 -6 -2 2 -29 -29 -28 -25 -23 -23 -24 -26 -28 -29 -31 -34 -38 -42 -42 -41 -39 -38 -35 -32 -30 -29 -27 -26 -26 -26 -26 -25 -24 -24 -22 -18 -15 -15 -15 -15 -15 -15 -14 -14 -13 -11 -10 -10 -9 -9 -9 -7 -5 -3 -3 -4 -5 -5 -5 -5 -5 -4 -3 -3 -3 -4 -6 -7 -7 -6 -5 -4 -4 -5 -6 -7 -9 -12 -13 -12 -11 -11 -11 -12 -12 -12 -12 -11 -10 -9 -10 -12 -15 -18 -21 -23 -26 -30 -35 -37 -38 -37 -37 -37 -35 -31 -28 -28 -28 -26 -25 -24 -25 -25 -26 -26 -26 -25 -26 -26 -26 -27 -27 -28 -29 -30 -31 -32 -30 -27 -24 -20 -17 -17 -17 -18 -20 -20 -21 -21 -20 -20 -20 -21 -23 -26 -31 -35 -35 -32 -28 -25 -24 -25 -27 -29 -33 -37 -39 -41 -42 -43 -42 -39 -35 -31 -27 -25 -26 -27 -26 -24 -20 -20 -21 -21 -20 -19 -16 -14 -14 -14 -14 -14 -13 -13 -13 -14 -13 -12 -12 -14 -16 -19 -19 -18 -17 -19 -19 -16 -15 -16 -18 -19 -19 -20 -21 -23 -26 -30 -32 -34 -33 -28 -23 -21 -19 -16 -15 -15 -16 -17 -17 -16 -15 -15 -15 -16 -18 -19 -20 -20 -20 -21 -19 -18 -16 -14 -13 -15 -16 -16 -14 -14 -15 -15 -14 -13 -11 -10 -10 -11 -13 -15 -17 -18 -18 -17 -16 -15 -15 -15 -16 -17 -19 -21 -21 -20 -17 -12 -8 -5 -4 -4 -5 -7 -8 -8 -10 -13 -16 -17 -17 -17 -18 -17 -16 -15 -15 -16 -19 -20 -18 -16 -11 -8 -6 -7 -10 -14 -15 -14 -12 -12 -11 -13 -18 -23 -26 -21 -15 -10 -9 -8 -8 -8 -10 -12 -13 -13 -13 -11 -10 -9 -12 -14 -14 -14 -13 -12 -12 -15 -20 -21 -23 -27 -31 -33 -33 -34 -34 -34 -34 -35 -35 -36 -36 -36 -35 -33 -31 -31 -30 -31 -34 -35 -35 -35 -35 -35 -36 -37 -37 -36 -38 -38 -37 -37 -37 -36 -36 -35 -34 -33 -32 -31 -31 -31 -29 -25 -22 -20 -20 -18 -13 -11 -10 -10 -12 -12 -10 -8 -7 -7 -8 -8 -7 -7 -7 -7 -7 -8 -10 -11 -12 -12 -13 -14 -14 -14 -14 -13 -10 -8 -4 0 -29 -29 -28 -27 -24 -24 -25 -27 -29 -30 -31 -33 -35 -38 -40 -40 -40 -39 -37 -34 -30 -26 -23 -21 -21 -22 -23 -24 -25 -25 -24 -21 -18 -17 -17 -16 -16 -16 -16 -15 -15 -15 -15 -14 -12 -11 -11 -10 -7 -4 -3 -4 -4 -5 -4 -4 -3 -2 -2 -3 -4 -5 -5 -5 -5 -6 -6 -7 -7 -7 -8 -9 -9 -10 -11 -10 -10 -11 -11 -11 -11 -11 -10 -10 -9 -9 -11 -13 -16 -19 -21 -23 -25 -28 -33 -38 -40 -40 -39 -37 -36 -33 -29 -27 -29 -29 -28 -26 -26 -27 -27 -27 -27 -27 -28 -29 -30 -30 -30 -31 -31 -32 -33 -34 -33 -30 -26 -21 -19 -19 -19 -19 -20 -20 -20 -21 -20 -19 -17 -17 -19 -23 -27 -32 -34 -32 -30 -27 -25 -25 -28 -31 -33 -35 -36 -37 -38 -40 -41 -40 -37 -33 -29 -28 -30 -31 -31 -29 -23 -21 -21 -22 -23 -23 -20 -16 -15 -14 -15 -16 -15 -15 -15 -17 -18 -17 -16 -16 -17 -19 -19 -17 -16 -15 -17 -16 -14 -13 -15 -17 -18 -19 -21 -23 -26 -27 -29 -30 -33 -32 -28 -23 -19 -16 -15 -15 -16 -17 -17 -17 -16 -15 -15 -16 -17 -18 -20 -20 -20 -21 -22 -24 -25 -25 -22 -22 -21 -21 -18 -17 -16 -15 -14 -13 -11 -10 -10 -10 -10 -12 -15 -17 -18 -19 -18 -17 -16 -17 -18 -19 -19 -20 -19 -17 -14 -12 -9 -7 -6 -7 -9 -12 -15 -16 -16 -15 -16 -18 -18 -17 -17 -18 -17 -16 -15 -15 -16 -17 -15 -14 -8 -5 -4 -5 -6 -10 -13 -14 -13 -13 -12 -13 -16 -21 -21 -17 -13 -11 -10 -9 -9 -8 -8 -10 -11 -13 -14 -15 -16 -12 -12 -14 -16 -16 -15 -14 -15 -19 -23 -23 -25 -28 -32 -33 -33 -33 -33 -33 -33 -33 -33 -34 -35 -35 -31 -26 -24 -25 -29 -33 -35 -36 -35 -35 -35 -34 -35 -36 -36 -35 -37 -38 -38 -38 -37 -37 -37 -36 -35 -33 -32 -32 -32 -31 -29 -25 -22 -19 -18 -15 -11 -9 -9 -9 -9 -11 -12 -10 -9 -8 -8 -8 -9 -8 -7 -7 -7 -7 -8 -10 -11 -12 -13 -15 -15 -14 -14 -12 -5 -4 -4 -2 -30 -30 -29 -27 -25 -24 -26 -27 -28 -30 -32 -34 -36 -38 -38 -39 -38 -37 -37 -34 -28 -21 -16 -15 -16 -18 -21 -22 -23 -24 -24 -22 -20 -19 -18 -17 -17 -17 -17 -17 -17 -18 -20 -20 -17 -14 -11 -9 -5 -3 -2 -2 -3 -4 -4 -3 -2 -2 -2 -3 -3 -2 -2 -2 -4 -6 -9 -11 -11 -10 -10 -9 -8 -8 -7 -7 -8 -8 -9 -10 -11 -11 -11 -11 -10 -10 -11 -14 -17 -20 -22 -23 -24 -27 -32 -37 -41 -42 -40 -37 -35 -34 -31 -28 -29 -30 -30 -28 -27 -28 -28 -28 -28 -28 -29 -30 -31 -32 -33 -34 -34 -34 -34 -35 -34 -31 -26 -22 -21 -22 -22 -22 -21 -21 -22 -22 -21 -19 -15 -14 -15 -18 -23 -27 -30 -30 -29 -27 -25 -26 -29 -32 -33 -33 -32 -33 -33 -35 -37 -38 -36 -33 -31 -31 -33 -34 -35 -32 -26 -22 -22 -23 -24 -24 -23 -19 -16 -15 -14 -15 -16 -16 -16 -18 -22 -23 -22 -21 -21 -22 -21 -19 -15 -12 -13 -12 -10 -9 -12 -15 -17 -19 -21 -22 -24 -26 -26 -27 -29 -33 -31 -26 -21 -19 -17 -16 -16 -16 -17 -17 -17 -16 -16 -16 -16 -17 -19 -20 -21 -21 -23 -25 -27 -29 -27 -24 -22 -22 -24 -23 -20 -19 -19 -17 -14 -13 -12 -12 -11 -13 -15 -18 -20 -20 -21 -21 -20 -18 -18 -18 -18 -17 -16 -13 -12 -11 -12 -13 -13 -13 -15 -18 -20 -21 -20 -18 -18 -19 -19 -18 -18 -18 -18 -17 -16 -16 -15 -13 -10 -10 -8 -6 -6 -6 -6 -9 -12 -15 -14 -14 -14 -14 -16 -18 -17 -15 -14 -15 -13 -11 -10 -9 -8 -8 -9 -11 -13 -17 -22 -19 -16 -17 -20 -22 -20 -19 -21 -24 -28 -28 -28 -30 -32 -32 -30 -30 -30 -32 -33 -32 -32 -33 -34 -34 -28 -25 -24 -27 -33 -35 -35 -35 -35 -35 -35 -35 -35 -36 -37 -35 -36 -36 -37 -37 -37 -37 -37 -37 -37 -35 -34 -33 -32 -31 -28 -25 -23 -20 -21 -20 -16 -12 -9 -9 -9 -11 -12 -12 -10 -9 -9 -10 -10 -10 -10 -9 -7 -7 -7 -8 -9 -11 -12 -14 -15 -15 -14 -13 -7 -5 -5 -5 -30 -30 -29 -27 -25 -24 -25 -26 -28 -31 -34 -37 -40 -42 -41 -39 -38 -36 -34 -31 -25 -18 -13 -13 -14 -17 -21 -23 -23 -23 -23 -22 -20 -19 -19 -19 -19 -20 -20 -21 -21 -19 -17 -16 -15 -14 -13 -11 -8 -5 -3 -3 -3 -4 -4 -3 -3 -3 -4 -3 -3 -3 -2 -3 -4 -8 -11 -14 -13 -12 -11 -9 -7 -6 -5 -5 -6 -6 -7 -9 -11 -12 -13 -12 -12 -11 -12 -14 -18 -20 -22 -23 -25 -27 -30 -35 -40 -43 -42 -37 -35 -34 -34 -33 -31 -30 -30 -30 -29 -29 -29 -29 -29 -29 -30 -30 -31 -33 -34 -35 -35 -35 -36 -36 -36 -34 -30 -26 -24 -25 -26 -26 -25 -24 -24 -24 -23 -19 -14 -12 -13 -15 -18 -22 -26 -28 -28 -26 -24 -26 -30 -33 -33 -31 -30 -30 -30 -31 -33 -34 -33 -31 -30 -31 -33 -35 -35 -32 -27 -23 -21 -21 -23 -24 -24 -22 -19 -15 -12 -13 -15 -16 -16 -16 -20 -23 -25 -25 -25 -25 -24 -22 -19 -14 -12 -9 -6 -6 -9 -13 -17 -21 -23 -22 -23 -25 -26 -25 -25 -29 -30 -29 -26 -23 -19 -17 -16 -16 -16 -16 -17 -17 -17 -17 -16 -16 -17 -19 -20 -22 -24 -26 -28 -32 -33 -29 -25 -21 -22 -24 -25 -25 -26 -23 -19 -18 -18 -18 -18 -19 -21 -24 -25 -24 -26 -27 -26 -22 -20 -20 -19 -18 -16 -15 -13 -14 -17 -20 -21 -21 -21 -22 -22 -22 -22 -21 -21 -21 -20 -20 -19 -18 -18 -18 -18 -17 -15 -11 -8 -9 -9 -10 -10 -10 -9 -11 -14 -15 -15 -15 -15 -15 -16 -18 -18 -18 -18 -21 -20 -16 -13 -10 -9 -8 -8 -9 -12 -17 -24 -24 -22 -23 -26 -30 -29 -27 -27 -29 -32 -34 -33 -32 -32 -31 -29 -28 -29 -31 -31 -30 -30 -31 -32 -33 -31 -30 -29 -30 -33 -34 -35 -35 -35 -36 -36 -36 -36 -37 -37 -36 -36 -37 -37 -38 -39 -40 -40 -41 -40 -38 -36 -34 -33 -30 -28 -25 -24 -23 -23 -23 -21 -18 -13 -11 -11 -11 -12 -14 -12 -11 -10 -11 -11 -12 -11 -10 -9 -8 -7 -7 -7 -8 -10 -12 -13 -14 -15 -14 -12 -10 -9 -9 -29 -29 -29 -27 -25 -24 -25 -26 -28 -31 -34 -39 -44 -47 -44 -41 -38 -35 -31 -26 -22 -19 -17 -16 -16 -17 -20 -23 -22 -20 -19 -18 -18 -18 -19 -20 -21 -22 -24 -26 -26 -24 -20 -16 -15 -16 -15 -13 -11 -8 -6 -5 -4 -4 -5 -4 -4 -4 -5 -5 -4 -3 -3 -4 -6 -9 -12 -14 -14 -14 -12 -10 -7 -5 -4 -4 -4 -5 -6 -8 -10 -12 -13 -13 -13 -12 -12 -14 -17 -20 -22 -23 -25 -27 -29 -34 -39 -44 -43 -39 -35 -34 -35 -36 -35 -33 -32 -32 -32 -31 -30 -30 -31 -31 -30 -30 -31 -33 -34 -35 -35 -35 -35 -37 -38 -37 -35 -31 -28 -27 -27 -28 -30 -31 -30 -29 -27 -23 -18 -14 -14 -16 -18 -20 -23 -25 -26 -25 -25 -27 -30 -33 -33 -31 -30 -29 -29 -30 -31 -30 -28 -26 -25 -26 -29 -31 -31 -31 -27 -22 -19 -18 -19 -21 -21 -20 -18 -15 -10 -10 -12 -15 -16 -15 -17 -20 -22 -23 -24 -24 -24 -22 -20 -17 -13 -10 -8 -9 -11 -16 -20 -23 -25 -24 -24 -26 -27 -27 -24 -25 -27 -29 -29 -28 -23 -18 -16 -15 -15 -16 -17 -18 -18 -19 -18 -17 -16 -17 -19 -22 -25 -28 -30 -31 -29 -29 -29 -24 -22 -23 -24 -25 -26 -26 -26 -26 -26 -26 -25 -25 -26 -28 -30 -31 -33 -35 -34 -30 -27 -25 -24 -23 -23 -22 -21 -21 -21 -22 -22 -23 -23 -23 -23 -22 -22 -22 -22 -22 -22 -22 -21 -21 -20 -19 -19 -19 -18 -15 -9 -9 -11 -14 -17 -16 -14 -16 -18 -18 -16 -16 -16 -16 -16 -17 -19 -20 -21 -23 -23 -21 -18 -14 -12 -10 -9 -8 -10 -15 -23 -26 -28 -29 -32 -35 -34 -33 -32 -32 -32 -32 -31 -30 -30 -30 -30 -30 -30 -30 -28 -26 -26 -27 -28 -30 -31 -31 -31 -31 -32 -33 -34 -35 -35 -36 -36 -37 -37 -37 -37 -38 -38 -39 -39 -40 -41 -42 -42 -43 -41 -39 -37 -35 -33 -30 -27 -26 -26 -26 -25 -24 -23 -22 -19 -17 -16 -15 -13 -14 -14 -13 -12 -11 -12 -13 -12 -12 -11 -9 -7 -6 -5 -6 -7 -9 -11 -13 -14 -14 -14 -12 -10 -9 -28 -28 -28 -27 -26 -24 -24 -25 -28 -31 -34 -38 -43 -46 -45 -41 -36 -32 -31 -27 -25 -25 -26 -26 -24 -21 -20 -21 -22 -20 -18 -16 -17 -18 -20 -21 -21 -22 -24 -27 -26 -24 -22 -20 -19 -18 -17 -16 -13 -11 -8 -6 -6 -6 -6 -6 -6 -6 -6 -5 -5 -4 -5 -5 -7 -9 -11 -13 -14 -14 -13 -10 -7 -5 -4 -3 -3 -4 -6 -8 -9 -11 -13 -13 -14 -13 -13 -14 -16 -19 -22 -24 -25 -27 -29 -33 -37 -42 -44 -41 -37 -34 -34 -36 -37 -35 -34 -34 -34 -33 -31 -31 -31 -31 -31 -31 -31 -31 -33 -34 -35 -35 -34 -35 -37 -38 -37 -36 -34 -32 -30 -30 -32 -35 -36 -35 -31 -27 -22 -18 -17 -17 -18 -19 -20 -21 -23 -24 -26 -28 -31 -32 -33 -31 -30 -29 -30 -31 -31 -30 -27 -23 -19 -19 -20 -23 -25 -28 -27 -23 -18 -15 -15 -16 -16 -16 -15 -13 -10 -8 -9 -12 -14 -16 -17 -19 -19 -19 -21 -23 -22 -21 -20 -18 -15 -11 -8 -8 -10 -14 -19 -23 -26 -27 -27 -28 -29 -29 -25 -23 -25 -28 -31 -32 -27 -21 -16 -15 -15 -16 -17 -18 -20 -21 -20 -18 -16 -15 -16 -20 -24 -29 -33 -34 -31 -31 -31 -28 -25 -23 -22 -23 -25 -26 -28 -30 -31 -30 -28 -27 -27 -29 -32 -36 -39 -41 -41 -39 -34 -30 -28 -27 -26 -25 -24 -23 -23 -23 -24 -24 -24 -24 -23 -23 -22 -23 -23 -24 -25 -25 -24 -22 -21 -20 -19 -20 -20 -17 -12 -12 -15 -18 -18 -18 -19 -21 -22 -22 -19 -17 -17 -17 -17 -17 -19 -21 -23 -24 -24 -24 -22 -20 -18 -15 -12 -11 -10 -14 -20 -27 -30 -31 -33 -35 -36 -36 -35 -34 -33 -30 -28 -27 -27 -27 -29 -31 -31 -30 -26 -23 -22 -24 -26 -28 -30 -32 -32 -31 -31 -32 -34 -35 -35 -35 -35 -35 -35 -35 -37 -38 -40 -41 -42 -43 -43 -43 -43 -43 -42 -40 -38 -35 -32 -29 -27 -27 -28 -29 -28 -27 -26 -24 -22 -21 -20 -20 -18 -16 -15 -14 -13 -12 -12 -13 -13 -12 -11 -10 -8 -5 -3 -5 -5 -6 -8 -11 -12 -13 -13 -12 -10 -8 -27 -28 -27 -26 -25 -24 -24 -26 -29 -31 -33 -37 -40 -42 -42 -40 -38 -35 -35 -33 -30 -28 -28 -27 -26 -23 -20 -19 -20 -19 -17 -16 -17 -19 -20 -20 -20 -21 -22 -24 -24 -24 -24 -24 -21 -19 -18 -17 -15 -13 -10 -8 -7 -7 -8 -8 -8 -7 -6 -5 -5 -5 -6 -7 -8 -9 -11 -12 -14 -14 -12 -10 -7 -5 -3 -3 -3 -4 -6 -7 -9 -10 -12 -13 -14 -14 -15 -15 -16 -19 -22 -24 -25 -27 -29 -32 -36 -40 -43 -42 -39 -36 -33 -34 -36 -36 -35 -34 -35 -35 -33 -32 -31 -32 -32 -32 -31 -30 -30 -32 -33 -34 -33 -33 -35 -36 -37 -38 -39 -38 -35 -33 -33 -36 -40 -40 -38 -34 -28 -23 -20 -19 -19 -19 -20 -21 -23 -24 -27 -29 -31 -32 -32 -31 -30 -29 -29 -30 -32 -32 -30 -25 -20 -17 -16 -17 -20 -24 -27 -25 -20 -16 -15 -14 -13 -14 -14 -14 -11 -9 -8 -10 -13 -18 -22 -22 -20 -18 -18 -21 -21 -20 -19 -19 -17 -13 -9 -7 -8 -12 -17 -22 -26 -27 -28 -29 -29 -29 -26 -24 -24 -26 -30 -33 -31 -24 -18 -15 -15 -15 -16 -18 -20 -22 -22 -20 -16 -14 -15 -18 -22 -27 -33 -35 -35 -35 -33 -30 -28 -25 -24 -23 -24 -27 -29 -33 -36 -37 -34 -31 -30 -31 -33 -36 -41 -43 -44 -44 -38 -32 -30 -29 -29 -29 -27 -25 -24 -24 -24 -24 -24 -24 -23 -23 -23 -24 -24 -25 -25 -25 -24 -21 -19 -17 -17 -18 -21 -20 -17 -17 -18 -20 -20 -20 -20 -22 -25 -24 -20 -19 -19 -20 -19 -19 -20 -22 -24 -26 -27 -26 -25 -24 -22 -20 -19 -17 -15 -20 -24 -28 -30 -31 -33 -35 -37 -37 -36 -34 -32 -29 -27 -27 -29 -28 -29 -31 -33 -33 -28 -23 -21 -23 -26 -29 -31 -33 -33 -32 -30 -31 -34 -36 -36 -35 -35 -35 -35 -35 -36 -38 -40 -43 -44 -44 -44 -44 -44 -44 -43 -41 -39 -36 -32 -30 -29 -29 -31 -32 -31 -31 -29 -27 -22 -19 -19 -20 -20 -18 -17 -15 -14 -12 -11 -12 -13 -13 -12 -11 -9 -7 -6 -6 -5 -5 -6 -8 -10 -11 -12 -11 -10 -7 -27 -26 -24 -22 -21 -22 -23 -26 -29 -30 -33 -35 -38 -40 -41 -40 -38 -36 -35 -33 -31 -28 -26 -25 -23 -21 -19 -18 -17 -17 -17 -18 -19 -20 -20 -20 -20 -20 -20 -20 -21 -23 -24 -24 -21 -19 -18 -17 -16 -14 -12 -11 -9 -9 -8 -8 -8 -8 -6 -5 -5 -6 -7 -7 -8 -9 -10 -12 -13 -13 -11 -8 -6 -4 -3 -3 -3 -4 -5 -7 -8 -10 -11 -13 -14 -15 -16 -17 -17 -19 -22 -24 -25 -26 -29 -32 -35 -38 -42 -43 -41 -38 -35 -33 -34 -35 -35 -34 -34 -36 -37 -35 -33 -33 -34 -33 -32 -30 -29 -30 -31 -32 -33 -32 -32 -33 -35 -38 -41 -42 -40 -37 -35 -36 -40 -43 -44 -42 -36 -29 -24 -22 -21 -19 -19 -21 -24 -26 -28 -30 -31 -31 -31 -31 -30 -28 -28 -29 -32 -34 -33 -30 -24 -20 -17 -17 -18 -20 -22 -23 -20 -16 -14 -14 -14 -14 -15 -14 -13 -12 -11 -12 -15 -21 -26 -27 -24 -19 -18 -20 -20 -20 -18 -18 -16 -13 -10 -9 -9 -10 -13 -17 -22 -26 -28 -29 -29 -28 -25 -23 -23 -25 -28 -31 -31 -27 -21 -17 -16 -16 -17 -18 -20 -23 -23 -20 -17 -16 -16 -17 -19 -24 -30 -35 -37 -38 -37 -33 -31 -29 -27 -24 -24 -26 -29 -33 -36 -37 -38 -36 -35 -35 -34 -36 -39 -41 -43 -44 -38 -32 -30 -30 -33 -35 -33 -30 -26 -25 -26 -25 -25 -25 -24 -24 -24 -24 -25 -24 -21 -23 -21 -17 -15 -14 -14 -18 -22 -22 -21 -20 -20 -20 -21 -21 -22 -23 -24 -23 -20 -20 -21 -22 -22 -22 -22 -23 -25 -28 -29 -28 -28 -26 -23 -23 -22 -21 -19 -20 -22 -25 -27 -30 -34 -36 -36 -34 -33 -32 -31 -29 -28 -29 -32 -31 -31 -32 -34 -32 -27 -23 -21 -23 -26 -31 -33 -34 -32 -33 -31 -31 -33 -35 -36 -36 -36 -37 -37 -36 -38 -39 -41 -43 -44 -45 -45 -45 -44 -44 -41 -39 -38 -37 -34 -32 -32 -32 -33 -33 -34 -33 -33 -30 -24 -20 -19 -22 -22 -20 -19 -19 -17 -14 -12 -12 -13 -13 -13 -12 -10 -9 -8 -7 -6 -6 -4 -3 -5 -7 -8 -9 -9 -7 -25 -24 -21 -20 -20 -21 -23 -26 -29 -31 -33 -35 -37 -38 -40 -40 -39 -37 -36 -34 -31 -28 -25 -24 -22 -20 -18 -16 -16 -16 -17 -18 -20 -21 -21 -20 -20 -20 -19 -18 -18 -19 -21 -21 -19 -17 -16 -16 -15 -15 -14 -13 -11 -11 -10 -9 -8 -8 -7 -6 -6 -8 -8 -7 -7 -8 -9 -11 -12 -11 -10 -7 -4 -3 -2 -2 -2 -3 -4 -6 -8 -10 -12 -13 -14 -16 -19 -21 -21 -21 -22 -23 -25 -25 -27 -30 -34 -38 -41 -42 -42 -40 -37 -34 -34 -35 -36 -35 -34 -37 -39 -39 -38 -36 -35 -34 -33 -31 -29 -28 -29 -31 -32 -33 -32 -31 -33 -36 -41 -44 -44 -41 -39 -37 -38 -42 -46 -46 -40 -32 -26 -23 -21 -19 -18 -21 -24 -27 -29 -30 -31 -30 -30 -30 -29 -28 -27 -28 -30 -34 -36 -35 -29 -23 -20 -18 -18 -18 -19 -20 -19 -17 -15 -14 -14 -15 -14 -14 -14 -14 -15 -16 -19 -23 -27 -29 -28 -24 -19 -19 -20 -20 -17 -16 -14 -12 -11 -10 -11 -12 -13 -14 -18 -23 -27 -30 -30 -29 -25 -21 -20 -22 -25 -28 -29 -28 -25 -21 -20 -19 -19 -18 -18 -21 -22 -21 -18 -17 -17 -17 -19 -21 -27 -33 -37 -40 -40 -37 -34 -33 -30 -28 -27 -27 -28 -31 -33 -33 -34 -36 -39 -41 -38 -37 -36 -37 -38 -40 -37 -32 -29 -30 -35 -40 -39 -34 -29 -26 -29 -28 -26 -26 -25 -24 -24 -24 -25 -26 -22 -20 -18 -17 -16 -17 -18 -20 -24 -24 -23 -22 -22 -22 -22 -23 -23 -24 -25 -23 -21 -21 -22 -23 -23 -23 -24 -25 -26 -27 -28 -28 -28 -26 -24 -24 -23 -22 -21 -20 -21 -23 -25 -28 -31 -32 -32 -31 -31 -32 -33 -32 -32 -32 -34 -34 -34 -34 -33 -29 -24 -21 -21 -23 -27 -31 -32 -30 -28 -34 -35 -34 -33 -34 -36 -38 -38 -39 -39 -38 -38 -39 -40 -42 -43 -44 -45 -45 -45 -43 -37 -33 -34 -38 -37 -35 -34 -34 -35 -35 -34 -34 -34 -33 -29 -25 -24 -25 -25 -24 -23 -22 -20 -18 -15 -14 -13 -13 -14 -13 -11 -10 -10 -10 -9 -6 -1 6 6 4 1 -4 -9 -8 -25 -23 -21 -20 -20 -22 -24 -26 -29 -32 -33 -34 -35 -37 -38 -39 -39 -39 -39 -37 -34 -31 -29 -27 -23 -20 -17 -15 -15 -16 -17 -18 -19 -21 -21 -20 -19 -19 -18 -18 -18 -17 -17 -17 -16 -15 -15 -15 -15 -15 -14 -14 -13 -12 -11 -10 -10 -9 -8 -8 -8 -9 -9 -7 -6 -7 -8 -9 -9 -9 -7 -5 -3 -2 -2 -2 -3 -4 -5 -7 -9 -10 -12 -13 -15 -17 -20 -22 -24 -25 -25 -26 -26 -24 -24 -27 -31 -36 -40 -42 -42 -42 -39 -36 -35 -36 -38 -38 -37 -37 -38 -39 -40 -39 -37 -35 -34 -32 -30 -29 -29 -30 -32 -33 -32 -31 -31 -34 -40 -43 -44 -43 -42 -39 -37 -39 -42 -44 -39 -30 -24 -20 -19 -17 -17 -19 -23 -26 -28 -30 -30 -30 -29 -28 -28 -27 -26 -26 -28 -32 -35 -36 -32 -26 -22 -20 -19 -18 -17 -16 -16 -15 -15 -15 -15 -15 -14 -14 -13 -14 -15 -19 -23 -27 -28 -28 -29 -28 -21 -18 -19 -19 -17 -13 -12 -11 -10 -11 -14 -16 -16 -16 -16 -20 -25 -29 -31 -32 -29 -23 -19 -18 -21 -23 -25 -25 -26 -25 -24 -22 -20 -17 -16 -19 -20 -20 -19 -18 -19 -19 -19 -20 -23 -29 -34 -37 -39 -39 -37 -35 -34 -33 -31 -30 -30 -31 -30 -27 -28 -32 -38 -41 -42 -41 -40 -40 -40 -38 -34 -31 -29 -30 -36 -41 -41 -37 -33 -30 -33 -31 -29 -27 -26 -25 -25 -25 -26 -28 -27 -23 -19 -18 -18 -22 -25 -26 -26 -26 -25 -25 -24 -24 -25 -25 -25 -25 -23 -22 -22 -22 -23 -23 -23 -23 -24 -25 -26 -25 -25 -24 -24 -24 -24 -24 -24 -23 -22 -21 -21 -22 -23 -25 -26 -28 -29 -30 -30 -34 -38 -38 -37 -35 -36 -36 -36 -35 -31 -26 -22 -20 -21 -23 -27 -30 -28 -24 -26 -34 -37 -36 -33 -34 -37 -39 -40 -40 -40 -39 -39 -40 -41 -41 -42 -43 -44 -45 -45 -41 -32 -26 -29 -37 -38 -37 -36 -37 -37 -36 -35 -35 -35 -33 -30 -29 -28 -28 -27 -27 -26 -25 -23 -21 -18 -15 -14 -14 -15 -14 -13 -12 -11 -11 -10 -5 4 10 11 10 5 -2 -9 -9 -26 -24 -22 -21 -22 -23 -25 -27 -29 -31 -32 -32 -33 -34 -35 -37 -38 -39 -40 -40 -39 -37 -34 -31 -26 -22 -18 -16 -16 -17 -17 -18 -19 -21 -22 -22 -21 -19 -19 -20 -19 -17 -16 -17 -16 -16 -15 -15 -14 -14 -14 -14 -13 -14 -13 -12 -10 -9 -9 -9 -9 -9 -8 -6 -6 -5 -5 -5 -6 -5 -4 -3 -2 -2 -2 -3 -5 -6 -7 -8 -9 -10 -11 -13 -15 -17 -20 -22 -25 -26 -27 -27 -27 -25 -24 -24 -26 -30 -35 -38 -41 -42 -41 -39 -37 -37 -38 -39 -38 -37 -37 -38 -40 -41 -39 -37 -35 -33 -31 -30 -30 -31 -32 -33 -33 -32 -31 -33 -38 -41 -43 -43 -43 -40 -37 -37 -40 -43 -40 -30 -22 -17 -16 -16 -15 -17 -20 -23 -26 -29 -30 -29 -28 -27 -25 -24 -24 -23 -24 -28 -31 -33 -31 -26 -22 -21 -21 -20 -17 -15 -14 -14 -15 -15 -16 -15 -14 -13 -13 -13 -15 -19 -25 -29 -29 -29 -29 -28 -23 -20 -19 -19 -18 -14 -12 -11 -9 -10 -15 -18 -19 -18 -15 -17 -22 -27 -31 -34 -34 -28 -22 -17 -17 -17 -19 -22 -26 -29 -28 -24 -19 -16 -16 -18 -19 -19 -20 -20 -20 -20 -21 -21 -23 -27 -30 -32 -33 -35 -36 -35 -36 -37 -35 -33 -33 -33 -31 -27 -29 -32 -36 -40 -45 -47 -45 -43 -42 -40 -34 -30 -30 -33 -40 -44 -43 -41 -40 -39 -38 -36 -33 -30 -28 -27 -27 -27 -28 -29 -29 -25 -20 -19 -20 -21 -24 -28 -29 -29 -29 -29 -28 -28 -28 -28 -27 -26 -23 -23 -23 -24 -24 -24 -23 -23 -23 -24 -25 -24 -24 -23 -23 -23 -23 -23 -23 -23 -23 -22 -22 -21 -22 -23 -24 -25 -27 -29 -31 -37 -40 -40 -41 -38 -37 -36 -35 -33 -30 -25 -21 -20 -21 -24 -28 -31 -30 -26 -27 -34 -37 -37 -34 -36 -39 -41 -42 -41 -40 -40 -40 -41 -41 -42 -42 -43 -44 -45 -46 -42 -34 -26 -28 -36 -38 -38 -37 -38 -37 -37 -37 -37 -36 -35 -32 -31 -31 -30 -29 -29 -28 -27 -25 -22 -19 -16 -15 -15 -15 -15 -14 -13 -10 -10 -9 -4 5 10 12 12 9 2 -7 -9 -28 -26 -24 -23 -23 -24 -25 -27 -28 -29 -30 -30 -30 -30 -32 -33 -35 -36 -38 -39 -38 -36 -34 -31 -28 -25 -21 -18 -18 -18 -19 -19 -19 -20 -22 -23 -24 -25 -27 -25 -22 -19 -18 -19 -19 -18 -16 -15 -14 -14 -13 -12 -12 -13 -13 -12 -11 -11 -10 -11 -10 -10 -8 -7 -6 -5 -4 -3 -3 -3 -3 -3 -3 -3 -3 -5 -6 -8 -10 -10 -11 -11 -11 -13 -15 -17 -20 -22 -25 -26 -27 -28 -28 -27 -26 -25 -25 -27 -30 -33 -37 -39 -40 -39 -39 -39 -39 -38 -36 -34 -33 -34 -36 -38 -38 -38 -36 -33 -31 -30 -30 -31 -32 -32 -32 -31 -32 -33 -37 -40 -43 -44 -45 -41 -38 -36 -38 -41 -41 -34 -25 -18 -15 -14 -14 -15 -18 -21 -24 -27 -29 -30 -28 -26 -24 -22 -22 -21 -22 -24 -26 -28 -27 -24 -21 -21 -21 -21 -18 -15 -14 -14 -15 -16 -16 -16 -15 -13 -12 -12 -14 -19 -24 -28 -29 -29 -30 -30 -26 -22 -19 -20 -19 -16 -12 -9 -7 -8 -13 -16 -17 -15 -12 -14 -18 -23 -28 -33 -34 -31 -26 -21 -17 -14 -15 -18 -24 -30 -30 -25 -19 -17 -17 -18 -18 -20 -20 -21 -21 -21 -22 -23 -25 -28 -30 -30 -29 -29 -31 -33 -36 -40 -39 -36 -36 -36 -33 -30 -32 -34 -36 -40 -46 -50 -51 -50 -47 -42 -35 -31 -31 -37 -42 -45 -45 -44 -47 -47 -46 -43 -40 -35 -31 -30 -29 -29 -30 -30 -28 -25 -23 -23 -26 -26 -27 -29 -31 -32 -32 -32 -31 -31 -31 -31 -31 -29 -26 -26 -26 -26 -25 -25 -23 -23 -23 -24 -25 -25 -24 -24 -23 -22 -22 -22 -23 -23 -23 -22 -21 -20 -20 -21 -22 -24 -26 -29 -33 -35 -35 -36 -41 -40 -39 -36 -34 -30 -27 -23 -21 -20 -22 -25 -29 -32 -33 -31 -32 -35 -37 -38 -37 -38 -40 -42 -42 -41 -40 -40 -40 -41 -41 -41 -41 -41 -42 -44 -45 -43 -37 -31 -32 -37 -39 -39 -39 -38 -38 -38 -39 -39 -38 -37 -35 -34 -34 -33 -32 -31 -30 -28 -26 -23 -20 -18 -18 -17 -17 -16 -16 -13 -6 -5 -6 -4 4 7 10 12 12 6 -5 -8 -29 -27 -26 -24 -24 -24 -25 -26 -27 -29 -29 -29 -28 -28 -28 -29 -32 -34 -35 -35 -34 -31 -28 -25 -25 -24 -23 -22 -23 -22 -21 -20 -20 -20 -22 -25 -28 -29 -29 -25 -22 -20 -20 -22 -22 -20 -17 -14 -13 -13 -12 -12 -12 -12 -12 -12 -11 -11 -11 -11 -10 -9 -8 -7 -6 -5 -3 -3 -3 -2 -2 -2 -3 -4 -5 -6 -8 -9 -11 -12 -12 -13 -13 -14 -15 -17 -19 -21 -23 -24 -25 -27 -28 -29 -29 -29 -28 -28 -28 -30 -32 -34 -36 -37 -37 -37 -38 -38 -36 -33 -31 -31 -32 -33 -34 -36 -36 -33 -30 -29 -29 -30 -32 -32 -32 -31 -32 -34 -37 -40 -42 -44 -44 -40 -37 -35 -36 -39 -42 -38 -28 -18 -13 -13 -14 -15 -18 -20 -23 -25 -28 -30 -30 -27 -24 -22 -21 -22 -22 -22 -23 -24 -25 -23 -20 -20 -21 -22 -19 -16 -15 -14 -15 -16 -16 -17 -16 -14 -13 -12 -14 -18 -22 -26 -29 -30 -32 -32 -29 -24 -20 -18 -20 -18 -15 -10 -6 -7 -10 -11 -12 -12 -12 -12 -15 -19 -24 -28 -30 -31 -30 -27 -22 -18 -16 -17 -19 -25 -27 -24 -20 -18 -19 -19 -20 -21 -22 -22 -22 -23 -24 -25 -27 -29 -31 -33 -32 -30 -28 -30 -34 -41 -42 -40 -38 -35 -29 -29 -32 -34 -36 -39 -43 -48 -52 -53 -52 -46 -37 -32 -32 -38 -41 -44 -46 -48 -53 -54 -54 -51 -48 -44 -38 -34 -32 -32 -34 -33 -31 -29 -28 -29 -32 -31 -30 -31 -32 -33 -34 -34 -34 -34 -33 -34 -34 -33 -31 -30 -30 -29 -28 -26 -24 -23 -23 -24 -25 -25 -25 -25 -24 -22 -22 -22 -23 -23 -23 -22 -21 -20 -20 -20 -21 -24 -28 -31 -34 -34 -34 -35 -40 -40 -39 -37 -33 -27 -23 -21 -20 -21 -22 -25 -29 -33 -35 -34 -34 -35 -36 -38 -38 -40 -43 -44 -42 -41 -40 -40 -40 -40 -39 -39 -38 -39 -40 -43 -44 -44 -42 -40 -40 -41 -41 -40 -40 -39 -39 -40 -40 -40 -39 -38 -38 -37 -36 -35 -34 -33 -32 -30 -28 -24 -21 -19 -19 -19 -19 -18 -15 -10 -7 -5 -3 -0 2 5 8 11 12 9 -0 -6 -30 -28 -27 -25 -24 -24 -24 -25 -27 -28 -28 -28 -27 -26 -26 -28 -30 -33 -34 -34 -33 -31 -28 -26 -25 -25 -25 -25 -25 -26 -25 -25 -25 -25 -25 -25 -26 -27 -26 -21 -19 -18 -20 -22 -21 -18 -16 -14 -12 -12 -12 -11 -11 -12 -12 -12 -12 -11 -11 -11 -10 -9 -8 -7 -6 -5 -3 -2 -2 -1 -1 -2 -3 -5 -6 -7 -9 -10 -11 -12 -13 -14 -14 -15 -16 -17 -18 -19 -21 -22 -23 -24 -26 -29 -31 -32 -33 -33 -32 -30 -30 -31 -32 -32 -32 -34 -35 -37 -36 -34 -32 -31 -30 -30 -31 -33 -34 -33 -29 -27 -27 -29 -31 -33 -33 -33 -33 -35 -37 -39 -41 -43 -43 -39 -36 -35 -35 -38 -42 -40 -32 -21 -13 -12 -13 -16 -18 -20 -22 -23 -25 -28 -30 -29 -26 -23 -22 -22 -22 -21 -21 -22 -24 -24 -23 -21 -20 -20 -20 -18 -16 -14 -15 -15 -16 -17 -17 -16 -15 -14 -14 -16 -21 -24 -28 -31 -32 -34 -33 -28 -22 -17 -17 -18 -15 -11 -8 -7 -8 -9 -10 -11 -12 -12 -13 -16 -21 -25 -27 -27 -27 -27 -25 -24 -22 -20 -17 -18 -21 -21 -20 -20 -21 -22 -23 -24 -25 -25 -25 -25 -25 -25 -26 -28 -31 -35 -37 -36 -34 -33 -35 -40 -45 -45 -41 -36 -30 -30 -32 -34 -36 -37 -37 -39 -44 -50 -52 -47 -38 -33 -35 -39 -41 -43 -48 -52 -56 -57 -57 -55 -52 -52 -47 -41 -37 -36 -37 -37 -37 -37 -36 -35 -36 -35 -34 -33 -33 -34 -35 -36 -36 -36 -35 -36 -37 -38 -36 -35 -33 -32 -30 -27 -25 -24 -24 -24 -24 -25 -25 -25 -24 -23 -23 -23 -24 -23 -23 -23 -23 -22 -20 -19 -21 -25 -29 -32 -32 -35 -38 -40 -41 -40 -39 -37 -32 -26 -22 -21 -21 -21 -22 -25 -29 -32 -34 -33 -33 -34 -34 -35 -36 -40 -44 -45 -44 -42 -42 -40 -39 -38 -38 -37 -37 -37 -38 -41 -42 -43 -43 -42 -42 -42 -41 -40 -40 -39 -39 -40 -41 -42 -41 -40 -39 -38 -36 -35 -35 -35 -34 -32 -30 -26 -23 -20 -20 -20 -19 -18 -16 -11 -8 -6 -4 -1 1 2 4 7 10 11 6 -0 -30 -28 -27 -26 -25 -25 -25 -25 -26 -26 -25 -25 -26 -26 -27 -29 -31 -32 -32 -32 -32 -30 -28 -27 -27 -27 -27 -26 -26 -27 -26 -26 -26 -25 -24 -22 -21 -20 -20 -17 -16 -16 -18 -18 -17 -16 -15 -14 -13 -12 -11 -11 -11 -11 -12 -12 -12 -12 -12 -12 -11 -9 -8 -7 -5 -4 -2 -1 0 -0 -1 -2 -3 -5 -7 -9 -10 -11 -11 -12 -13 -14 -14 -15 -17 -17 -18 -18 -19 -20 -21 -22 -24 -26 -29 -33 -36 -38 -37 -34 -32 -31 -30 -30 -30 -31 -32 -33 -35 -35 -34 -34 -33 -31 -30 -30 -31 -31 -28 -26 -26 -27 -30 -33 -34 -35 -35 -34 -36 -38 -40 -41 -41 -37 -35 -34 -35 -38 -42 -42 -36 -25 -15 -12 -12 -14 -18 -21 -21 -22 -23 -25 -28 -29 -28 -26 -24 -22 -21 -20 -18 -18 -20 -22 -23 -22 -21 -21 -21 -20 -18 -16 -15 -16 -17 -17 -18 -18 -18 -16 -15 -16 -19 -23 -26 -29 -32 -36 -38 -35 -27 -18 -14 -15 -13 -11 -9 -9 -9 -9 -10 -11 -12 -11 -11 -13 -18 -21 -23 -23 -24 -25 -26 -29 -30 -27 -21 -18 -17 -18 -19 -21 -23 -25 -26 -27 -28 -28 -28 -28 -26 -24 -21 -23 -29 -35 -41 -42 -40 -38 -36 -38 -43 -43 -40 -36 -31 -31 -33 -34 -35 -34 -29 -29 -34 -40 -45 -42 -37 -35 -39 -41 -42 -44 -48 -51 -53 -54 -54 -54 -52 -54 -52 -48 -42 -39 -39 -40 -41 -42 -41 -39 -39 -39 -37 -36 -35 -35 -36 -37 -39 -39 -39 -40 -41 -41 -39 -37 -35 -33 -32 -28 -26 -25 -24 -23 -23 -23 -24 -25 -25 -24 -24 -24 -24 -23 -22 -23 -23 -22 -21 -20 -21 -24 -28 -30 -31 -36 -41 -42 -40 -40 -39 -36 -31 -25 -23 -22 -23 -23 -23 -25 -27 -31 -32 -31 -32 -33 -33 -32 -34 -37 -40 -43 -45 -44 -43 -41 -39 -39 -39 -38 -36 -36 -37 -39 -40 -41 -41 -41 -41 -42 -42 -40 -39 -39 -39 -40 -41 -42 -42 -41 -39 -38 -38 -38 -37 -36 -34 -31 -30 -29 -26 -23 -21 -20 -19 -19 -17 -14 -11 -8 -6 -4 -1 1 2 3 6 9 10 6 -30 -28 -28 -27 -26 -24 -24 -24 -23 -23 -23 -24 -25 -26 -28 -30 -31 -31 -31 -31 -30 -29 -28 -28 -30 -30 -29 -28 -28 -27 -27 -26 -26 -24 -21 -19 -17 -15 -15 -15 -15 -17 -18 -16 -15 -15 -15 -15 -13 -11 -11 -11 -11 -11 -12 -13 -13 -14 -14 -14 -12 -10 -8 -6 -4 -2 0 2 3 2 1 -0 -2 -5 -7 -10 -12 -13 -13 -14 -14 -13 -13 -14 -16 -18 -19 -19 -19 -19 -19 -20 -21 -23 -26 -31 -36 -41 -42 -39 -36 -33 -33 -33 -32 -31 -30 -31 -32 -33 -34 -36 -37 -35 -33 -30 -29 -29 -28 -25 -24 -25 -28 -31 -34 -36 -35 -34 -36 -38 -40 -41 -40 -35 -33 -32 -35 -39 -44 -45 -40 -30 -18 -13 -11 -12 -15 -18 -20 -20 -21 -22 -23 -25 -26 -26 -25 -24 -23 -21 -18 -16 -15 -17 -19 -21 -21 -21 -21 -22 -21 -19 -17 -17 -17 -18 -19 -20 -21 -20 -18 -17 -18 -22 -25 -27 -30 -37 -44 -44 -35 -22 -14 -13 -11 -10 -10 -11 -11 -10 -10 -10 -11 -11 -11 -13 -16 -19 -21 -24 -27 -29 -29 -32 -35 -35 -30 -23 -19 -17 -19 -22 -25 -28 -30 -30 -31 -32 -32 -32 -31 -26 -20 -20 -25 -33 -39 -41 -41 -39 -37 -36 -38 -39 -37 -34 -32 -32 -33 -34 -34 -33 -28 -26 -28 -31 -37 -36 -35 -37 -44 -43 -44 -45 -47 -49 -49 -50 -51 -52 -52 -55 -54 -51 -48 -44 -42 -42 -44 -45 -44 -41 -40 -40 -40 -39 -38 -37 -37 -38 -40 -41 -42 -43 -44 -44 -42 -39 -35 -33 -31 -28 -26 -25 -24 -23 -23 -23 -24 -24 -25 -24 -24 -24 -23 -22 -22 -23 -23 -22 -21 -21 -22 -23 -26 -30 -31 -36 -40 -40 -38 -39 -39 -37 -32 -26 -25 -25 -26 -26 -25 -25 -26 -27 -29 -30 -32 -34 -33 -31 -32 -34 -37 -41 -43 -42 -40 -39 -39 -38 -39 -38 -37 -36 -37 -38 -39 -40 -39 -38 -38 -39 -40 -40 -40 -39 -39 -39 -40 -42 -42 -41 -40 -39 -39 -40 -40 -39 -36 -32 -30 -28 -27 -25 -24 -22 -20 -19 -19 -17 -14 -11 -9 -8 -4 -1 0 0 2 5 8 9 -31 -30 -29 -28 -27 -25 -23 -22 -22 -22 -22 -23 -24 -26 -28 -29 -30 -30 -30 -30 -29 -29 -29 -29 -32 -32 -31 -30 -30 -29 -28 -28 -26 -24 -22 -19 -16 -14 -14 -15 -17 -20 -21 -20 -15 -14 -15 -14 -13 -11 -11 -11 -11 -11 -11 -12 -13 -14 -14 -14 -12 -11 -9 -6 -3 -0 1 2 4 3 2 0 -1 -4 -6 -9 -12 -15 -17 -18 -17 -15 -14 -14 -15 -16 -18 -19 -20 -20 -19 -19 -20 -21 -23 -26 -32 -39 -43 -43 -41 -39 -39 -38 -36 -33 -31 -30 -29 -30 -31 -34 -37 -39 -38 -35 -31 -28 -27 -25 -24 -24 -25 -29 -32 -34 -35 -35 -37 -39 -40 -40 -39 -35 -32 -32 -33 -38 -44 -45 -42 -34 -23 -16 -12 -10 -11 -14 -16 -17 -18 -18 -19 -21 -23 -25 -25 -24 -25 -24 -21 -17 -14 -14 -15 -17 -18 -19 -21 -22 -22 -22 -19 -18 -18 -19 -21 -21 -21 -21 -21 -21 -23 -23 -23 -25 -29 -39 -48 -50 -43 -28 -16 -12 -10 -9 -9 -12 -13 -12 -10 -9 -10 -11 -12 -14 -16 -18 -21 -25 -29 -32 -33 -35 -38 -39 -37 -30 -24 -21 -20 -22 -27 -30 -33 -34 -35 -35 -35 -35 -35 -33 -28 -25 -25 -29 -33 -36 -37 -38 -38 -37 -38 -38 -37 -34 -34 -34 -34 -34 -34 -34 -33 -33 -34 -35 -36 -35 -35 -38 -44 -44 -45 -46 -48 -48 -49 -49 -50 -51 -53 -54 -53 -53 -52 -49 -47 -45 -44 -44 -43 -42 -41 -40 -40 -41 -41 -39 -38 -39 -40 -42 -43 -43 -42 -43 -42 -39 -35 -31 -29 -28 -27 -25 -24 -24 -24 -24 -24 -24 -24 -24 -24 -23 -22 -22 -22 -23 -23 -22 -22 -22 -23 -24 -26 -31 -35 -38 -38 -36 -35 -38 -39 -39 -35 -30 -29 -28 -29 -30 -30 -29 -29 -30 -31 -34 -36 -36 -33 -30 -30 -32 -35 -39 -40 -38 -37 -37 -38 -40 -41 -41 -41 -40 -40 -40 -40 -40 -39 -37 -36 -36 -38 -40 -40 -40 -39 -38 -39 -40 -41 -41 -42 -41 -41 -43 -44 -45 -42 -38 -33 -28 -24 -23 -24 -24 -23 -20 -19 -18 -17 -15 -13 -11 -7 -3 -1 -0 0 1 3 6 -32 -32 -31 -30 -29 -26 -24 -21 -21 -21 -22 -23 -24 -26 -28 -29 -29 -30 -30 -30 -29 -28 -29 -29 -30 -31 -31 -31 -31 -31 -30 -29 -27 -25 -24 -23 -20 -18 -17 -19 -20 -21 -21 -19 -15 -14 -14 -13 -12 -11 -10 -10 -10 -10 -10 -11 -12 -12 -13 -13 -12 -11 -9 -6 -3 -1 0 1 2 2 2 0 -1 -3 -6 -8 -11 -15 -19 -21 -21 -19 -17 -15 -15 -16 -17 -18 -20 -21 -22 -22 -21 -21 -21 -23 -28 -34 -40 -42 -42 -42 -41 -40 -38 -36 -33 -31 -29 -29 -29 -31 -33 -36 -38 -37 -34 -30 -28 -27 -25 -24 -24 -27 -30 -32 -34 -35 -38 -40 -40 -40 -38 -36 -34 -32 -32 -36 -42 -44 -41 -34 -27 -21 -16 -11 -8 -9 -11 -13 -14 -15 -16 -17 -20 -22 -23 -24 -26 -28 -27 -23 -16 -13 -12 -13 -14 -16 -19 -21 -23 -24 -22 -20 -20 -20 -21 -21 -21 -20 -21 -23 -27 -27 -25 -24 -29 -40 -49 -52 -46 -34 -20 -12 -9 -8 -9 -11 -13 -13 -12 -10 -10 -11 -13 -15 -17 -18 -20 -24 -28 -32 -35 -38 -41 -43 -44 -40 -34 -28 -24 -24 -28 -31 -34 -36 -37 -36 -36 -35 -36 -35 -32 -29 -27 -27 -30 -32 -34 -36 -38 -39 -40 -40 -39 -37 -37 -38 -37 -36 -35 -34 -34 -35 -37 -39 -39 -40 -40 -41 -45 -44 -45 -46 -48 -49 -49 -49 -49 -51 -53 -53 -53 -54 -55 -55 -53 -50 -47 -45 -42 -42 -43 -44 -43 -43 -41 -40 -39 -40 -40 -42 -42 -41 -40 -40 -40 -39 -36 -33 -29 -28 -26 -25 -24 -24 -24 -24 -24 -24 -23 -23 -23 -23 -22 -21 -21 -22 -23 -24 -24 -24 -25 -26 -28 -31 -34 -37 -37 -35 -34 -36 -38 -39 -38 -35 -33 -32 -32 -34 -34 -34 -34 -34 -34 -36 -38 -37 -33 -29 -29 -31 -34 -36 -38 -37 -36 -36 -39 -42 -42 -41 -40 -40 -41 -41 -41 -41 -40 -38 -36 -35 -35 -38 -41 -41 -39 -37 -38 -40 -43 -46 -46 -45 -45 -47 -49 -50 -47 -43 -38 -32 -27 -23 -22 -23 -23 -22 -20 -18 -18 -17 -16 -14 -11 -7 -3 -1 -0 0 1 3 -34 -33 -33 -32 -31 -28 -25 -22 -22 -22 -23 -24 -25 -27 -28 -29 -30 -31 -31 -30 -29 -29 -29 -29 -29 -29 -29 -29 -29 -28 -28 -28 -28 -28 -28 -28 -29 -28 -26 -22 -21 -21 -19 -16 -13 -13 -14 -13 -12 -11 -10 -9 -9 -8 -8 -9 -10 -11 -12 -13 -12 -10 -7 -5 -2 -0 1 1 2 2 1 -0 -2 -5 -7 -8 -11 -14 -18 -22 -23 -22 -20 -18 -17 -16 -16 -17 -19 -22 -24 -25 -25 -25 -24 -24 -25 -30 -36 -39 -41 -41 -41 -42 -40 -38 -35 -33 -31 -29 -29 -30 -31 -33 -35 -35 -32 -29 -28 -28 -27 -26 -25 -25 -26 -28 -30 -33 -36 -37 -38 -37 -36 -36 -36 -35 -33 -33 -37 -37 -34 -29 -25 -24 -20 -14 -9 -8 -7 -8 -10 -12 -14 -16 -18 -20 -22 -24 -27 -31 -34 -31 -23 -16 -12 -11 -11 -13 -16 -19 -22 -24 -25 -23 -22 -22 -22 -22 -21 -21 -21 -24 -28 -29 -28 -27 -31 -39 -48 -51 -47 -35 -20 -12 -9 -8 -8 -9 -11 -12 -12 -12 -12 -12 -13 -14 -16 -17 -20 -23 -26 -30 -33 -36 -39 -44 -47 -47 -44 -38 -31 -29 -30 -32 -34 -35 -36 -35 -34 -34 -34 -34 -34 -32 -29 -28 -30 -31 -33 -36 -39 -41 -42 -43 -43 -41 -42 -42 -41 -39 -37 -35 -35 -35 -37 -40 -44 -47 -47 -44 -43 -43 -44 -45 -46 -47 -47 -48 -49 -51 -52 -51 -52 -53 -56 -59 -57 -54 -51 -48 -43 -42 -44 -46 -46 -46 -45 -42 -40 -40 -39 -39 -39 -40 -38 -37 -37 -37 -36 -34 -31 -28 -26 -25 -24 -24 -25 -26 -26 -24 -23 -22 -22 -22 -22 -21 -21 -22 -23 -25 -26 -27 -27 -29 -32 -32 -33 -34 -35 -36 -37 -37 -37 -38 -39 -38 -37 -35 -35 -36 -36 -36 -37 -38 -36 -36 -36 -35 -32 -30 -30 -31 -32 -34 -37 -37 -37 -37 -40 -41 -41 -40 -39 -38 -38 -39 -39 -40 -39 -39 -38 -35 -33 -35 -39 -40 -40 -39 -41 -44 -46 -47 -47 -45 -45 -46 -48 -50 -47 -44 -40 -36 -32 -27 -24 -22 -23 -23 -21 -18 -16 -17 -16 -15 -14 -11 -7 -3 -1 0 1 2 -36 -35 -34 -33 -32 -29 -26 -24 -23 -23 -24 -25 -26 -27 -29 -30 -31 -31 -32 -31 -31 -30 -30 -30 -30 -30 -30 -29 -27 -27 -28 -29 -30 -31 -31 -31 -31 -30 -27 -24 -21 -19 -18 -16 -15 -15 -15 -14 -13 -12 -11 -9 -9 -8 -8 -9 -10 -11 -12 -12 -11 -9 -6 -4 -2 -0 1 1 1 1 -0 -2 -3 -5 -7 -8 -10 -13 -17 -20 -22 -23 -22 -20 -18 -17 -17 -17 -19 -22 -25 -28 -29 -29 -28 -27 -26 -27 -32 -36 -39 -41 -42 -43 -41 -38 -35 -33 -32 -30 -29 -29 -29 -30 -31 -31 -30 -27 -26 -26 -28 -29 -28 -27 -25 -24 -26 -30 -33 -35 -35 -35 -35 -36 -36 -35 -34 -33 -34 -35 -32 -27 -23 -22 -19 -15 -10 -8 -8 -7 -8 -10 -12 -14 -17 -20 -22 -25 -29 -34 -38 -38 -32 -23 -16 -12 -11 -11 -13 -17 -21 -24 -25 -25 -24 -23 -24 -24 -23 -22 -23 -24 -27 -28 -29 -31 -34 -39 -44 -47 -45 -36 -22 -14 -9 -8 -8 -9 -10 -11 -12 -12 -13 -14 -14 -15 -17 -19 -20 -22 -25 -28 -29 -30 -33 -39 -45 -48 -49 -46 -41 -36 -35 -35 -35 -36 -36 -35 -34 -33 -32 -32 -32 -32 -32 -29 -30 -31 -33 -37 -41 -43 -45 -46 -47 -45 -45 -46 -45 -43 -40 -38 -36 -35 -36 -38 -45 -50 -51 -47 -44 -43 -43 -43 -43 -44 -46 -47 -49 -49 -49 -47 -48 -50 -55 -61 -60 -58 -56 -52 -46 -43 -43 -45 -44 -45 -45 -43 -38 -34 -34 -34 -36 -38 -37 -36 -34 -34 -33 -34 -32 -29 -26 -25 -24 -24 -25 -26 -26 -25 -23 -21 -21 -21 -21 -21 -22 -22 -24 -26 -27 -29 -30 -31 -34 -33 -33 -34 -34 -36 -38 -38 -37 -36 -37 -38 -39 -40 -39 -38 -38 -39 -40 -40 -37 -36 -35 -35 -34 -33 -32 -31 -32 -33 -36 -37 -38 -39 -40 -40 -39 -38 -38 -37 -37 -38 -38 -39 -39 -39 -38 -37 -34 -33 -35 -38 -41 -44 -45 -46 -46 -47 -47 -46 -44 -44 -45 -46 -44 -41 -39 -36 -34 -30 -27 -24 -23 -23 -21 -18 -14 -12 -11 -12 -13 -13 -12 -7 -3 -1 0 1 -36 -35 -34 -32 -30 -27 -26 -25 -25 -24 -25 -27 -28 -29 -29 -30 -30 -31 -31 -31 -31 -30 -30 -30 -32 -33 -32 -30 -28 -28 -30 -32 -33 -32 -31 -31 -30 -28 -26 -24 -21 -19 -18 -17 -17 -18 -18 -18 -17 -15 -13 -11 -9 -9 -8 -9 -10 -11 -11 -11 -10 -8 -6 -4 -2 -1 -0 0 1 -0 -2 -3 -5 -6 -7 -8 -10 -12 -15 -18 -20 -20 -21 -20 -19 -17 -17 -17 -19 -21 -25 -28 -29 -30 -30 -29 -27 -27 -29 -33 -36 -39 -42 -43 -42 -39 -36 -34 -33 -30 -28 -27 -28 -29 -29 -28 -27 -24 -22 -22 -25 -28 -31 -30 -27 -24 -23 -25 -28 -30 -32 -34 -37 -36 -34 -32 -32 -35 -35 -35 -32 -27 -22 -19 -16 -13 -9 -8 -9 -8 -8 -9 -11 -14 -17 -20 -23 -28 -32 -35 -37 -39 -37 -29 -22 -16 -13 -12 -13 -15 -18 -21 -23 -23 -22 -22 -23 -23 -24 -25 -25 -25 -26 -26 -28 -33 -38 -39 -41 -42 -41 -36 -26 -17 -11 -8 -9 -10 -11 -12 -12 -12 -13 -14 -14 -15 -17 -19 -20 -21 -22 -24 -26 -28 -30 -33 -39 -43 -47 -50 -49 -46 -43 -41 -40 -39 -39 -37 -35 -33 -32 -32 -33 -33 -34 -32 -31 -32 -34 -37 -42 -47 -51 -54 -54 -51 -49 -48 -48 -46 -43 -41 -39 -37 -37 -37 -43 -50 -54 -51 -47 -44 -42 -42 -41 -42 -44 -45 -47 -49 -50 -48 -48 -51 -56 -61 -61 -60 -58 -57 -52 -47 -44 -43 -41 -42 -45 -44 -39 -34 -32 -32 -34 -37 -37 -35 -33 -32 -31 -31 -31 -30 -27 -25 -24 -24 -24 -26 -27 -26 -23 -21 -20 -20 -20 -22 -23 -23 -23 -25 -28 -30 -31 -33 -36 -35 -35 -36 -35 -37 -38 -38 -36 -35 -35 -36 -38 -40 -41 -40 -39 -40 -42 -41 -38 -37 -36 -36 -36 -36 -34 -32 -33 -34 -35 -35 -37 -40 -41 -40 -39 -38 -38 -37 -37 -37 -37 -38 -36 -34 -34 -36 -37 -33 -33 -36 -42 -46 -47 -47 -47 -47 -47 -47 -44 -42 -41 -41 -40 -38 -36 -34 -32 -31 -29 -26 -24 -22 -19 -16 -14 -12 -12 -11 -11 -12 -13 -11 -7 -4 -2 -1 -35 -34 -33 -31 -28 -26 -25 -25 -25 -25 -26 -28 -29 -29 -29 -29 -29 -29 -29 -29 -30 -30 -31 -31 -32 -33 -33 -32 -31 -31 -33 -34 -35 -33 -31 -30 -28 -26 -24 -23 -21 -19 -18 -18 -19 -20 -22 -22 -20 -18 -15 -13 -11 -9 -9 -9 -10 -10 -10 -9 -8 -7 -5 -4 -3 -2 -1 -0 0 -1 -2 -4 -5 -7 -8 -10 -11 -14 -16 -17 -18 -18 -18 -18 -18 -17 -17 -17 -19 -21 -23 -26 -29 -30 -30 -28 -27 -26 -28 -31 -34 -36 -39 -41 -42 -40 -38 -36 -34 -31 -28 -26 -26 -26 -26 -27 -26 -23 -20 -19 -20 -24 -29 -30 -29 -25 -22 -22 -24 -26 -29 -33 -38 -38 -33 -29 -28 -32 -34 -36 -35 -31 -24 -21 -17 -13 -10 -9 -9 -9 -8 -8 -11 -14 -17 -20 -24 -28 -32 -34 -34 -34 -34 -30 -25 -19 -16 -14 -13 -14 -16 -18 -19 -19 -19 -20 -21 -21 -23 -26 -28 -27 -25 -25 -28 -34 -41 -41 -39 -37 -35 -33 -28 -22 -15 -10 -9 -10 -12 -12 -12 -13 -14 -14 -14 -14 -17 -20 -22 -23 -24 -28 -32 -33 -34 -34 -37 -40 -43 -48 -52 -51 -49 -47 -45 -44 -43 -41 -38 -35 -34 -35 -36 -36 -35 -34 -34 -34 -36 -40 -44 -50 -56 -60 -61 -57 -55 -53 -51 -49 -46 -43 -41 -40 -40 -38 -41 -48 -54 -53 -50 -46 -44 -42 -41 -41 -42 -43 -44 -47 -50 -50 -51 -54 -58 -61 -59 -58 -58 -61 -57 -52 -47 -43 -41 -40 -44 -45 -43 -39 -36 -34 -34 -36 -37 -37 -35 -32 -31 -30 -31 -30 -29 -25 -24 -23 -24 -25 -27 -26 -24 -22 -21 -21 -22 -23 -23 -22 -22 -25 -27 -30 -32 -35 -38 -38 -38 -39 -38 -38 -38 -38 -36 -36 -36 -35 -35 -35 -38 -39 -41 -42 -42 -40 -38 -37 -38 -37 -37 -37 -35 -33 -34 -37 -38 -38 -38 -41 -43 -42 -41 -39 -38 -38 -38 -37 -37 -37 -35 -30 -26 -28 -33 -34 -33 -33 -37 -43 -45 -46 -47 -47 -47 -47 -45 -42 -39 -37 -36 -35 -33 -31 -30 -29 -28 -26 -24 -21 -18 -16 -14 -13 -13 -14 -15 -14 -13 -11 -9 -7 -6 -4 -33 -32 -31 -28 -26 -25 -25 -25 -25 -26 -27 -28 -28 -28 -29 -29 -29 -29 -29 -29 -29 -30 -31 -32 -32 -33 -34 -34 -34 -34 -35 -37 -37 -35 -32 -29 -26 -24 -22 -21 -19 -18 -18 -19 -21 -23 -25 -26 -24 -21 -18 -16 -14 -12 -10 -10 -10 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 -0 -0 -1 -2 -3 -5 -8 -10 -12 -14 -16 -18 -18 -17 -16 -16 -17 -17 -16 -15 -15 -18 -21 -23 -26 -28 -30 -30 -27 -25 -24 -27 -30 -32 -33 -36 -37 -39 -40 -40 -38 -36 -33 -30 -26 -23 -23 -24 -25 -26 -24 -21 -18 -17 -19 -24 -28 -28 -26 -22 -21 -22 -23 -27 -31 -37 -39 -35 -29 -25 -26 -29 -33 -35 -34 -28 -23 -19 -16 -12 -10 -10 -9 -8 -8 -10 -13 -17 -20 -24 -27 -31 -33 -32 -29 -26 -24 -21 -18 -16 -14 -14 -13 -14 -15 -17 -17 -18 -17 -16 -17 -21 -25 -28 -27 -26 -26 -29 -35 -43 -43 -39 -33 -29 -28 -28 -25 -20 -13 -9 -10 -11 -13 -14 -15 -15 -15 -14 -13 -14 -17 -20 -24 -27 -32 -35 -36 -36 -34 -34 -35 -37 -39 -42 -46 -48 -49 -49 -47 -45 -43 -41 -37 -37 -39 -40 -40 -39 -37 -37 -38 -40 -43 -46 -52 -58 -64 -67 -64 -61 -59 -57 -54 -49 -44 -43 -44 -47 -42 -40 -45 -50 -51 -49 -47 -45 -45 -43 -42 -41 -41 -42 -44 -48 -51 -53 -56 -58 -56 -55 -55 -57 -61 -59 -55 -50 -46 -44 -42 -44 -46 -45 -44 -42 -39 -36 -34 -36 -38 -37 -33 -31 -30 -30 -30 -29 -25 -24 -24 -24 -24 -26 -27 -25 -23 -21 -21 -23 -23 -22 -21 -22 -24 -27 -30 -32 -35 -40 -42 -42 -41 -40 -40 -40 -39 -38 -38 -38 -36 -35 -34 -37 -39 -40 -40 -40 -38 -37 -37 -38 -38 -38 -38 -36 -35 -36 -39 -40 -40 -40 -41 -43 -44 -43 -41 -39 -39 -38 -37 -36 -36 -33 -28 -22 -22 -24 -26 -28 -30 -29 -33 -39 -43 -45 -45 -46 -46 -45 -43 -39 -35 -33 -31 -30 -29 -27 -26 -25 -23 -21 -19 -18 -17 -15 -15 -15 -15 -15 -14 -12 -11 -10 -9 -7 -6 -32 -30 -28 -26 -24 -24 -24 -24 -24 -25 -26 -27 -27 -27 -28 -28 -29 -29 -29 -30 -30 -30 -31 -32 -33 -34 -35 -35 -35 -35 -36 -38 -38 -37 -34 -29 -26 -23 -20 -18 -17 -18 -19 -21 -23 -26 -29 -30 -28 -26 -24 -23 -21 -17 -13 -11 -10 -9 -9 -8 -7 -6 -5 -4 -3 -2 -1 -1 -1 -1 -1 -2 -5 -8 -10 -12 -14 -16 -18 -19 -18 -17 -15 -16 -16 -16 -15 -14 -15 -19 -23 -27 -29 -31 -31 -28 -24 -21 -22 -26 -28 -30 -32 -34 -36 -39 -41 -41 -38 -36 -32 -28 -23 -22 -23 -24 -25 -26 -24 -21 -19 -19 -21 -23 -24 -22 -20 -20 -21 -23 -25 -29 -33 -38 -38 -34 -26 -21 -23 -28 -32 -34 -30 -26 -22 -18 -15 -13 -11 -10 -9 -8 -9 -12 -15 -19 -23 -26 -29 -32 -34 -30 -23 -17 -14 -13 -12 -11 -12 -12 -13 -13 -14 -16 -17 -17 -15 -15 -18 -24 -28 -29 -28 -27 -29 -34 -43 -44 -40 -33 -27 -25 -25 -23 -19 -14 -10 -10 -11 -13 -15 -17 -17 -16 -13 -11 -11 -14 -18 -23 -29 -33 -35 -36 -37 -36 -36 -37 -37 -37 -35 -36 -38 -42 -46 -45 -44 -44 -43 -41 -40 -42 -44 -46 -44 -41 -40 -41 -43 -46 -48 -53 -60 -67 -70 -70 -68 -66 -64 -60 -54 -47 -43 -44 -49 -44 -40 -41 -45 -46 -45 -45 -46 -46 -45 -44 -42 -41 -41 -44 -47 -50 -54 -56 -58 -55 -53 -52 -54 -58 -59 -56 -52 -48 -47 -45 -46 -47 -46 -46 -43 -39 -35 -32 -34 -37 -38 -35 -32 -30 -30 -30 -28 -26 -25 -24 -24 -25 -26 -27 -26 -23 -20 -20 -22 -22 -21 -20 -21 -24 -29 -33 -33 -34 -40 -43 -43 -42 -42 -42 -42 -41 -39 -39 -39 -38 -36 -36 -37 -38 -38 -38 -37 -37 -35 -35 -36 -38 -39 -40 -39 -38 -38 -40 -41 -41 -41 -41 -41 -42 -43 -43 -41 -40 -39 -38 -35 -34 -33 -27 -20 -19 -19 -20 -21 -24 -27 -28 -31 -36 -40 -42 -44 -44 -45 -44 -40 -35 -31 -28 -26 -26 -25 -24 -22 -20 -19 -18 -19 -20 -19 -19 -17 -16 -14 -13 -12 -12 -11 -10 -8 -7 -30 -28 -26 -24 -23 -24 -23 -23 -23 -24 -25 -25 -26 -26 -27 -28 -29 -30 -30 -30 -30 -30 -30 -31 -33 -35 -36 -36 -36 -35 -35 -36 -37 -37 -34 -30 -26 -23 -20 -18 -18 -19 -21 -24 -26 -29 -31 -33 -31 -31 -32 -34 -35 -31 -23 -15 -10 -8 -7 -7 -7 -6 -5 -4 -3 -2 -1 -1 -2 -2 -2 -3 -4 -6 -9 -10 -12 -14 -15 -17 -17 -16 -13 -12 -14 -15 -16 -15 -15 -18 -21 -25 -28 -31 -33 -32 -28 -24 -21 -22 -24 -26 -27 -31 -33 -37 -40 -41 -38 -37 -35 -32 -26 -23 -21 -22 -24 -26 -27 -25 -23 -22 -23 -23 -22 -19 -18 -18 -20 -23 -25 -27 -29 -33 -37 -37 -32 -22 -19 -23 -29 -34 -33 -28 -23 -19 -16 -15 -13 -11 -10 -9 -9 -10 -13 -17 -22 -25 -28 -32 -35 -35 -26 -18 -12 -8 -7 -8 -9 -10 -10 -10 -12 -14 -14 -14 -14 -14 -17 -21 -25 -28 -29 -29 -30 -35 -42 -44 -41 -34 -27 -25 -24 -21 -17 -13 -11 -10 -11 -13 -17 -19 -19 -17 -14 -11 -11 -12 -16 -22 -27 -31 -34 -36 -38 -39 -41 -43 -44 -41 -35 -30 -29 -32 -38 -40 -42 -44 -45 -45 -44 -46 -48 -49 -48 -45 -44 -44 -46 -47 -48 -54 -61 -67 -70 -72 -72 -71 -68 -66 -60 -50 -44 -42 -46 -43 -39 -39 -42 -43 -42 -43 -45 -46 -47 -47 -45 -43 -43 -45 -47 -50 -52 -54 -55 -54 -51 -49 -50 -54 -57 -57 -55 -51 -48 -46 -46 -48 -48 -48 -41 -35 -31 -30 -31 -34 -37 -37 -34 -31 -30 -29 -27 -26 -25 -25 -25 -25 -26 -26 -26 -23 -20 -19 -21 -21 -20 -19 -21 -24 -29 -33 -35 -37 -41 -42 -42 -42 -43 -43 -43 -42 -40 -38 -38 -38 -37 -37 -37 -36 -36 -35 -34 -34 -33 -33 -34 -36 -37 -40 -42 -41 -39 -39 -40 -41 -41 -41 -41 -42 -43 -43 -42 -41 -40 -38 -35 -34 -32 -27 -19 -18 -18 -17 -17 -20 -26 -27 -28 -30 -33 -36 -39 -41 -42 -42 -39 -35 -31 -27 -24 -23 -23 -23 -23 -22 -21 -21 -23 -25 -24 -22 -20 -17 -15 -13 -13 -12 -12 -11 -9 -8 -28 -26 -24 -23 -23 -23 -23 -23 -23 -23 -24 -24 -25 -25 -26 -28 -29 -30 -30 -30 -30 -29 -28 -28 -29 -32 -34 -36 -37 -36 -33 -33 -33 -34 -32 -29 -27 -25 -24 -22 -21 -23 -27 -29 -29 -31 -33 -34 -32 -31 -34 -38 -43 -45 -40 -29 -17 -9 -6 -6 -5 -5 -4 -3 -3 -2 -1 -0 -1 -1 -2 -3 -4 -6 -7 -9 -11 -12 -14 -16 -16 -15 -13 -11 -12 -15 -17 -17 -17 -17 -18 -21 -25 -29 -32 -33 -32 -28 -23 -21 -20 -21 -23 -26 -28 -32 -36 -39 -38 -36 -34 -32 -28 -24 -21 -21 -22 -24 -26 -26 -25 -24 -26 -28 -26 -23 -18 -16 -18 -22 -25 -26 -25 -27 -30 -34 -33 -25 -20 -22 -29 -37 -39 -32 -24 -17 -15 -15 -13 -12 -10 -9 -9 -9 -11 -15 -19 -23 -27 -31 -34 -37 -33 -26 -17 -10 -6 -6 -8 -9 -9 -9 -10 -11 -11 -11 -11 -13 -16 -19 -23 -26 -28 -30 -32 -36 -41 -43 -40 -34 -27 -26 -25 -23 -19 -13 -10 -10 -11 -14 -18 -19 -20 -20 -18 -15 -12 -12 -15 -19 -22 -26 -30 -34 -37 -40 -44 -48 -49 -47 -40 -30 -25 -25 -30 -34 -37 -41 -43 -45 -47 -49 -52 -54 -53 -49 -47 -46 -46 -45 -46 -53 -60 -65 -67 -70 -71 -71 -70 -69 -63 -53 -46 -42 -45 -41 -39 -39 -43 -44 -42 -40 -39 -41 -46 -49 -49 -47 -46 -46 -48 -49 -49 -49 -50 -50 -49 -46 -46 -49 -53 -55 -55 -52 -47 -46 -48 -50 -52 -53 -45 -35 -29 -28 -29 -31 -35 -37 -35 -32 -30 -28 -26 -25 -25 -25 -25 -25 -25 -25 -24 -23 -20 -20 -20 -20 -20 -19 -20 -23 -27 -31 -34 -38 -40 -41 -39 -41 -42 -42 -41 -40 -38 -37 -36 -36 -37 -37 -37 -35 -34 -33 -34 -34 -34 -34 -35 -35 -36 -39 -43 -42 -39 -38 -39 -40 -40 -40 -41 -42 -42 -42 -42 -41 -40 -38 -35 -35 -32 -27 -18 -16 -16 -16 -16 -18 -24 -26 -27 -28 -29 -30 -32 -35 -37 -37 -36 -34 -31 -27 -23 -21 -22 -24 -28 -28 -27 -27 -27 -26 -25 -23 -21 -19 -16 -14 -13 -13 -13 -13 -11 -9 -26 -24 -23 -22 -22 -23 -22 -22 -22 -23 -24 -24 -24 -25 -26 -28 -29 -29 -29 -29 -28 -26 -25 -25 -26 -29 -32 -35 -38 -37 -33 -31 -31 -30 -29 -27 -26 -25 -24 -23 -24 -27 -30 -31 -30 -31 -32 -32 -32 -32 -33 -35 -38 -41 -42 -36 -26 -16 -9 -7 -6 -5 -5 -4 -3 -2 -1 -1 -0 -1 -2 -3 -4 -5 -7 -8 -10 -12 -14 -15 -15 -13 -12 -11 -12 -13 -16 -18 -18 -16 -16 -18 -22 -25 -29 -32 -33 -32 -27 -23 -20 -19 -20 -22 -24 -27 -30 -34 -35 -34 -33 -32 -29 -25 -23 -21 -21 -22 -23 -24 -24 -24 -26 -29 -30 -28 -23 -16 -15 -18 -23 -27 -26 -24 -24 -28 -32 -30 -25 -23 -26 -33 -39 -36 -28 -20 -14 -13 -12 -11 -11 -11 -11 -11 -12 -14 -17 -21 -25 -28 -31 -36 -38 -35 -27 -17 -9 -7 -8 -9 -9 -9 -9 -10 -9 -9 -9 -11 -14 -17 -21 -23 -26 -30 -33 -38 -41 -41 -38 -33 -28 -27 -27 -25 -20 -13 -9 -9 -12 -16 -21 -24 -24 -23 -21 -19 -16 -14 -14 -16 -18 -21 -25 -30 -34 -39 -45 -50 -51 -50 -45 -37 -29 -25 -25 -28 -32 -36 -40 -45 -48 -51 -55 -57 -56 -51 -47 -45 -43 -41 -43 -50 -58 -63 -64 -66 -68 -69 -69 -69 -63 -56 -49 -44 -43 -40 -37 -37 -40 -42 -41 -39 -37 -36 -40 -45 -50 -52 -51 -49 -48 -47 -45 -44 -45 -46 -46 -45 -44 -47 -51 -53 -54 -51 -47 -47 -49 -50 -53 -58 -52 -41 -31 -29 -28 -30 -33 -35 -35 -33 -30 -28 -26 -25 -25 -26 -26 -26 -26 -25 -24 -23 -21 -20 -20 -20 -20 -19 -20 -23 -26 -30 -33 -37 -39 -40 -39 -39 -40 -40 -39 -38 -36 -35 -34 -35 -35 -37 -37 -36 -34 -32 -34 -36 -37 -37 -36 -36 -38 -41 -44 -43 -41 -39 -38 -38 -38 -39 -41 -41 -40 -39 -40 -40 -40 -38 -36 -34 -33 -30 -22 -16 -14 -14 -15 -17 -23 -24 -25 -26 -27 -25 -25 -28 -31 -33 -33 -32 -30 -27 -23 -21 -22 -26 -31 -31 -30 -29 -27 -26 -25 -24 -23 -20 -17 -15 -14 -13 -13 -13 -12 -10 -25 -23 -22 -22 -22 -22 -22 -22 -22 -23 -23 -24 -24 -24 -26 -27 -28 -28 -27 -27 -26 -24 -23 -23 -24 -26 -29 -32 -36 -36 -34 -32 -31 -30 -29 -27 -27 -26 -25 -25 -26 -28 -30 -31 -32 -32 -32 -31 -31 -31 -32 -32 -34 -37 -38 -36 -29 -21 -13 -9 -7 -6 -5 -5 -3 -2 -2 -2 -1 -1 -2 -3 -4 -5 -7 -8 -10 -12 -14 -15 -15 -14 -12 -11 -10 -11 -12 -15 -16 -14 -15 -17 -20 -22 -26 -30 -32 -33 -31 -28 -24 -21 -19 -20 -22 -24 -27 -29 -30 -30 -29 -28 -27 -25 -23 -22 -22 -22 -22 -22 -22 -23 -24 -27 -28 -28 -25 -18 -13 -14 -18 -23 -27 -25 -23 -23 -27 -31 -30 -28 -28 -32 -40 -39 -33 -25 -18 -13 -11 -10 -10 -11 -12 -12 -12 -13 -15 -18 -22 -25 -28 -33 -37 -38 -36 -28 -17 -9 -7 -8 -9 -9 -9 -9 -8 -8 -8 -9 -11 -15 -18 -22 -25 -30 -35 -40 -41 -39 -34 -29 -26 -27 -27 -25 -20 -13 -9 -10 -13 -17 -23 -26 -26 -25 -22 -20 -18 -16 -15 -15 -17 -20 -23 -27 -31 -37 -44 -49 -51 -50 -47 -43 -36 -29 -24 -25 -26 -29 -34 -41 -46 -50 -55 -59 -59 -54 -48 -43 -41 -40 -42 -48 -55 -60 -62 -64 -66 -67 -68 -67 -63 -57 -51 -45 -41 -38 -36 -36 -37 -40 -41 -40 -38 -37 -39 -41 -45 -50 -52 -49 -46 -44 -42 -42 -43 -44 -44 -45 -45 -47 -49 -51 -51 -50 -48 -49 -50 -48 -51 -57 -54 -44 -35 -32 -30 -29 -30 -32 -34 -34 -31 -28 -27 -25 -25 -26 -27 -28 -28 -27 -25 -23 -21 -21 -20 -19 -19 -20 -20 -22 -25 -29 -33 -37 -40 -40 -39 -37 -37 -37 -38 -37 -36 -34 -33 -33 -34 -36 -37 -36 -34 -31 -35 -38 -41 -40 -37 -36 -38 -42 -45 -43 -40 -37 -36 -36 -37 -39 -40 -40 -37 -36 -37 -38 -38 -39 -37 -35 -33 -32 -28 -20 -14 -13 -15 -18 -21 -23 -23 -24 -25 -23 -21 -22 -25 -28 -29 -28 -28 -26 -25 -24 -25 -28 -31 -31 -29 -28 -27 -26 -25 -24 -23 -21 -18 -16 -15 -14 -13 -13 -12 -10 -23 -22 -21 -21 -21 -21 -21 -22 -23 -23 -24 -24 -24 -24 -25 -26 -26 -26 -26 -25 -24 -22 -21 -21 -22 -23 -25 -29 -31 -31 -31 -30 -31 -31 -31 -30 -28 -28 -27 -26 -27 -28 -30 -32 -33 -33 -33 -32 -31 -31 -32 -32 -32 -34 -35 -33 -29 -24 -17 -11 -9 -7 -6 -5 -3 -3 -3 -3 -2 -2 -2 -3 -4 -5 -7 -8 -10 -12 -14 -15 -15 -15 -13 -10 -9 -8 -9 -11 -12 -13 -14 -16 -18 -21 -23 -26 -29 -31 -32 -31 -28 -25 -22 -19 -20 -23 -25 -26 -27 -25 -24 -22 -22 -22 -21 -21 -22 -23 -23 -22 -21 -20 -22 -24 -25 -25 -24 -20 -16 -14 -14 -17 -22 -23 -23 -22 -24 -28 -29 -29 -30 -33 -39 -41 -38 -32 -23 -17 -14 -12 -11 -11 -11 -10 -10 -10 -13 -16 -20 -24 -28 -32 -35 -39 -41 -38 -28 -16 -10 -8 -9 -10 -9 -9 -9 -7 -7 -8 -10 -13 -17 -21 -26 -32 -37 -42 -42 -37 -32 -27 -25 -26 -26 -24 -20 -12 -9 -10 -13 -18 -23 -25 -25 -24 -21 -18 -16 -15 -15 -16 -17 -18 -21 -24 -29 -36 -43 -48 -51 -49 -46 -45 -42 -35 -28 -25 -24 -24 -28 -35 -41 -46 -52 -58 -61 -58 -51 -45 -42 -43 -43 -46 -51 -56 -61 -65 -67 -67 -67 -66 -63 -57 -50 -45 -40 -37 -36 -37 -38 -40 -41 -40 -40 -39 -39 -40 -41 -43 -45 -44 -43 -43 -42 -43 -44 -44 -45 -46 -46 -47 -48 -48 -49 -49 -48 -49 -50 -47 -49 -55 -54 -47 -39 -35 -32 -30 -29 -30 -32 -32 -30 -27 -27 -26 -25 -26 -27 -28 -29 -28 -27 -24 -22 -21 -20 -20 -20 -20 -20 -22 -25 -30 -36 -40 -42 -41 -38 -35 -35 -36 -37 -36 -36 -35 -34 -33 -33 -34 -36 -37 -36 -33 -35 -39 -42 -41 -39 -37 -39 -41 -43 -40 -38 -36 -36 -36 -38 -39 -40 -39 -35 -33 -34 -36 -37 -38 -38 -36 -34 -32 -30 -24 -18 -15 -17 -21 -23 -23 -24 -23 -24 -24 -22 -20 -20 -23 -25 -25 -25 -24 -26 -29 -30 -30 -30 -29 -29 -28 -26 -25 -25 -24 -23 -21 -20 -18 -16 -15 -14 -13 -12 -11 -22 -21 -20 -20 -20 -20 -21 -22 -23 -24 -24 -24 -24 -24 -25 -26 -26 -26 -25 -24 -23 -21 -20 -19 -19 -20 -22 -25 -26 -25 -25 -26 -28 -30 -32 -30 -29 -28 -28 -27 -26 -28 -30 -32 -33 -34 -34 -33 -32 -32 -32 -32 -31 -32 -33 -32 -29 -25 -19 -13 -10 -8 -7 -6 -4 -3 -3 -3 -4 -3 -3 -3 -4 -5 -6 -9 -11 -12 -13 -14 -15 -15 -14 -12 -9 -7 -7 -8 -10 -11 -13 -15 -18 -22 -22 -23 -25 -28 -30 -31 -30 -27 -25 -22 -21 -22 -24 -26 -25 -23 -21 -18 -17 -17 -18 -19 -20 -22 -24 -22 -20 -17 -17 -19 -21 -22 -21 -21 -21 -19 -17 -16 -18 -22 -23 -23 -23 -26 -28 -29 -30 -34 -38 -41 -41 -36 -27 -19 -16 -14 -13 -11 -10 -9 -9 -9 -11 -15 -19 -24 -28 -30 -32 -37 -41 -43 -38 -25 -15 -10 -9 -9 -9 -9 -10 -9 -9 -9 -10 -12 -15 -21 -28 -35 -41 -44 -42 -37 -31 -26 -24 -25 -26 -24 -20 -13 -10 -11 -14 -18 -22 -24 -23 -22 -19 -17 -16 -15 -16 -17 -18 -20 -22 -24 -29 -34 -42 -48 -52 -50 -46 -45 -44 -41 -34 -29 -26 -24 -24 -29 -35 -40 -47 -54 -61 -60 -55 -49 -45 -45 -44 -45 -48 -53 -60 -65 -69 -72 -72 -71 -66 -60 -53 -47 -41 -37 -37 -40 -41 -42 -42 -42 -41 -38 -40 -40 -41 -42 -42 -42 -42 -43 -44 -46 -47 -46 -46 -46 -47 -48 -49 -50 -49 -49 -48 -50 -51 -48 -48 -53 -55 -50 -43 -39 -35 -32 -30 -30 -30 -30 -29 -26 -26 -26 -26 -26 -27 -29 -29 -29 -28 -25 -23 -21 -20 -20 -20 -20 -21 -22 -25 -30 -37 -42 -43 -41 -37 -35 -35 -36 -36 -35 -36 -36 -35 -33 -32 -33 -35 -36 -37 -34 -35 -37 -39 -39 -39 -39 -39 -40 -39 -38 -37 -36 -37 -38 -38 -39 -40 -39 -36 -34 -34 -35 -36 -37 -37 -37 -35 -34 -30 -25 -21 -20 -21 -23 -24 -25 -26 -26 -26 -27 -26 -23 -20 -21 -23 -24 -25 -25 -28 -30 -29 -28 -27 -28 -28 -28 -27 -25 -24 -23 -22 -22 -21 -20 -18 -15 -14 -13 -13 -11 -22 -21 -20 -19 -19 -20 -21 -23 -23 -23 -23 -24 -24 -24 -25 -25 -25 -25 -25 -24 -22 -21 -20 -19 -18 -19 -20 -21 -21 -20 -20 -22 -26 -29 -31 -29 -28 -27 -27 -26 -26 -27 -29 -31 -31 -32 -33 -33 -32 -30 -31 -31 -32 -33 -33 -31 -29 -26 -20 -15 -11 -9 -7 -7 -5 -3 -3 -4 -5 -4 -3 -3 -3 -5 -6 -8 -10 -11 -12 -12 -13 -13 -14 -13 -10 -8 -7 -8 -8 -9 -11 -14 -19 -22 -24 -22 -22 -25 -27 -29 -29 -28 -27 -26 -24 -23 -24 -25 -25 -24 -22 -19 -16 -15 -14 -15 -17 -20 -23 -22 -19 -15 -12 -13 -15 -16 -17 -19 -23 -25 -24 -20 -20 -23 -25 -26 -26 -27 -28 -28 -29 -31 -36 -39 -39 -35 -26 -19 -16 -15 -14 -12 -11 -10 -10 -10 -11 -14 -18 -22 -25 -27 -29 -34 -40 -43 -39 -30 -20 -14 -11 -10 -9 -10 -10 -11 -10 -10 -11 -13 -16 -21 -29 -37 -43 -47 -43 -37 -30 -26 -24 -23 -24 -24 -21 -15 -12 -12 -15 -18 -21 -22 -22 -19 -17 -16 -15 -15 -16 -16 -19 -21 -23 -26 -28 -33 -41 -48 -52 -51 -47 -45 -44 -44 -41 -35 -31 -27 -24 -24 -28 -33 -40 -48 -58 -60 -57 -51 -47 -46 -45 -45 -47 -51 -57 -64 -71 -75 -77 -73 -68 -62 -56 -50 -43 -39 -38 -40 -42 -43 -44 -43 -41 -38 -39 -40 -42 -44 -43 -42 -41 -41 -44 -49 -50 -50 -49 -48 -49 -49 -51 -52 -53 -51 -50 -51 -54 -52 -48 -51 -55 -53 -47 -43 -39 -35 -31 -29 -29 -29 -29 -27 -27 -26 -26 -26 -28 -29 -29 -29 -28 -26 -23 -21 -20 -20 -20 -21 -23 -25 -26 -30 -36 -40 -42 -41 -38 -37 -36 -36 -35 -34 -34 -34 -34 -32 -32 -33 -34 -34 -35 -35 -36 -37 -39 -40 -41 -42 -41 -40 -39 -37 -37 -37 -38 -38 -38 -38 -40 -42 -40 -37 -35 -35 -36 -36 -37 -37 -37 -35 -30 -26 -23 -23 -23 -24 -25 -26 -28 -28 -28 -29 -29 -28 -25 -24 -25 -26 -27 -28 -29 -30 -29 -28 -27 -27 -28 -28 -27 -26 -24 -23 -22 -22 -21 -21 -19 -17 -16 -14 -13 -12 -22 -21 -20 -19 -19 -20 -21 -22 -22 -22 -22 -22 -23 -23 -24 -25 -25 -24 -23 -22 -21 -21 -20 -19 -18 -19 -19 -18 -17 -17 -18 -21 -24 -28 -29 -28 -26 -24 -24 -25 -26 -27 -29 -30 -30 -30 -31 -31 -30 -27 -27 -30 -34 -38 -37 -32 -28 -24 -19 -13 -11 -9 -8 -7 -6 -4 -3 -3 -4 -4 -4 -4 -5 -5 -6 -7 -9 -10 -10 -11 -11 -11 -12 -13 -13 -10 -7 -6 -6 -7 -9 -13 -18 -21 -24 -24 -23 -22 -24 -27 -28 -29 -29 -29 -27 -25 -23 -22 -23 -23 -23 -21 -18 -15 -13 -13 -15 -17 -20 -21 -19 -16 -12 -11 -11 -12 -14 -17 -21 -25 -26 -25 -25 -27 -30 -30 -29 -29 -29 -28 -27 -28 -33 -35 -35 -31 -23 -18 -15 -14 -14 -13 -12 -12 -12 -12 -12 -14 -17 -20 -22 -23 -26 -31 -37 -42 -39 -30 -23 -18 -15 -13 -11 -11 -11 -11 -11 -13 -15 -16 -18 -22 -29 -36 -43 -47 -45 -38 -31 -27 -25 -22 -23 -24 -23 -18 -14 -13 -15 -17 -20 -21 -19 -17 -15 -15 -16 -16 -16 -16 -18 -20 -23 -26 -29 -34 -41 -48 -53 -53 -49 -46 -45 -45 -42 -37 -33 -29 -25 -22 -22 -24 -30 -38 -50 -56 -55 -51 -47 -46 -45 -45 -45 -48 -54 -61 -68 -74 -76 -74 -69 -64 -57 -50 -43 -38 -37 -39 -42 -45 -46 -45 -41 -38 -37 -39 -41 -44 -45 -44 -42 -40 -44 -49 -52 -52 -49 -47 -49 -50 -51 -53 -55 -54 -52 -51 -55 -56 -49 -49 -54 -54 -49 -46 -42 -37 -33 -30 -28 -27 -27 -26 -27 -27 -27 -27 -28 -29 -29 -28 -26 -25 -23 -21 -20 -20 -20 -22 -25 -28 -30 -33 -36 -38 -39 -40 -39 -38 -37 -36 -33 -31 -30 -31 -31 -31 -33 -34 -34 -34 -35 -36 -37 -39 -42 -44 -44 -44 -44 -43 -41 -39 -37 -37 -39 -38 -38 -38 -40 -43 -42 -39 -36 -35 -35 -36 -37 -37 -36 -34 -30 -27 -26 -26 -25 -25 -26 -28 -30 -31 -32 -32 -32 -32 -30 -29 -28 -29 -29 -29 -29 -30 -29 -28 -26 -25 -26 -28 -27 -26 -25 -23 -22 -22 -21 -21 -20 -19 -18 -16 -15 -14 -22 -20 -19 -18 -18 -19 -20 -21 -21 -21 -21 -21 -22 -22 -23 -23 -23 -23 -22 -21 -20 -20 -19 -19 -18 -18 -17 -16 -16 -16 -18 -21 -23 -25 -26 -25 -23 -23 -24 -26 -29 -30 -29 -28 -29 -30 -30 -29 -27 -24 -26 -29 -34 -37 -37 -31 -23 -17 -13 -11 -10 -9 -7 -6 -5 -5 -4 -4 -4 -5 -6 -7 -7 -7 -6 -7 -8 -8 -8 -8 -9 -9 -10 -13 -15 -14 -11 -8 -6 -6 -7 -10 -13 -18 -22 -25 -26 -24 -23 -25 -27 -28 -30 -31 -31 -28 -25 -23 -22 -21 -21 -20 -18 -16 -14 -14 -14 -15 -17 -18 -19 -17 -14 -12 -12 -12 -14 -16 -19 -23 -25 -26 -27 -30 -32 -34 -33 -32 -31 -29 -28 -28 -31 -33 -31 -26 -18 -14 -14 -14 -13 -13 -13 -14 -14 -15 -16 -17 -18 -18 -19 -20 -24 -29 -35 -40 -37 -31 -25 -21 -19 -16 -14 -13 -12 -11 -12 -15 -18 -19 -20 -22 -28 -35 -42 -46 -45 -39 -32 -27 -24 -21 -19 -19 -19 -18 -18 -17 -16 -16 -19 -20 -18 -15 -14 -15 -16 -17 -17 -17 -18 -20 -23 -26 -30 -35 -42 -48 -53 -54 -51 -48 -46 -47 -45 -41 -35 -29 -24 -21 -21 -22 -25 -32 -42 -49 -51 -49 -47 -46 -45 -44 -43 -46 -51 -57 -64 -69 -72 -71 -69 -65 -59 -52 -45 -40 -38 -39 -43 -48 -50 -48 -43 -40 -39 -38 -40 -41 -44 -45 -44 -43 -44 -48 -51 -51 -49 -46 -47 -48 -50 -53 -56 -57 -55 -53 -54 -54 -47 -46 -52 -56 -50 -46 -43 -40 -36 -33 -29 -26 -24 -25 -26 -27 -27 -27 -27 -28 -28 -27 -25 -24 -23 -21 -20 -20 -21 -23 -26 -29 -31 -33 -34 -35 -37 -37 -36 -37 -37 -36 -32 -28 -26 -26 -27 -30 -34 -35 -35 -34 -36 -37 -38 -40 -44 -47 -46 -45 -44 -44 -43 -40 -38 -38 -38 -38 -39 -39 -41 -44 -43 -40 -37 -37 -36 -36 -37 -36 -34 -30 -29 -28 -27 -27 -27 -27 -27 -28 -30 -33 -34 -35 -35 -34 -32 -30 -29 -31 -30 -29 -28 -29 -29 -27 -25 -24 -25 -26 -27 -26 -25 -24 -23 -22 -22 -21 -20 -20 -20 -18 -17 -15 -21 -19 -17 -17 -18 -18 -19 -19 -20 -20 -20 -20 -21 -21 -21 -21 -22 -22 -21 -20 -19 -19 -18 -18 -17 -16 -16 -17 -17 -18 -18 -19 -20 -22 -22 -23 -23 -24 -26 -28 -30 -31 -29 -27 -26 -27 -27 -28 -29 -30 -31 -31 -31 -30 -27 -22 -17 -14 -12 -11 -11 -9 -7 -5 -5 -4 -4 -5 -5 -5 -6 -8 -9 -10 -10 -9 -9 -7 -5 -5 -7 -8 -9 -11 -15 -16 -14 -11 -8 -7 -7 -7 -8 -14 -19 -23 -27 -28 -25 -25 -25 -26 -28 -31 -33 -33 -30 -27 -24 -22 -21 -21 -20 -17 -15 -13 -13 -14 -15 -17 -17 -17 -15 -13 -13 -14 -16 -17 -20 -23 -25 -26 -28 -30 -32 -33 -34 -33 -33 -32 -31 -30 -31 -32 -29 -22 -13 -11 -11 -13 -13 -13 -13 -14 -15 -17 -20 -21 -20 -19 -17 -18 -23 -28 -34 -38 -37 -33 -27 -23 -21 -20 -18 -16 -15 -13 -14 -16 -19 -22 -24 -25 -28 -32 -39 -44 -45 -40 -34 -27 -23 -18 -14 -11 -12 -17 -22 -22 -18 -15 -18 -19 -17 -14 -13 -15 -17 -19 -20 -19 -19 -20 -22 -25 -29 -34 -40 -46 -51 -52 -51 -48 -46 -48 -50 -46 -40 -32 -25 -21 -20 -20 -24 -31 -37 -42 -45 -47 -47 -47 -46 -43 -42 -44 -47 -52 -58 -63 -65 -67 -67 -65 -60 -54 -48 -43 -40 -40 -45 -50 -53 -53 -48 -45 -42 -41 -41 -39 -40 -44 -46 -47 -46 -47 -49 -50 -49 -47 -47 -48 -50 -53 -57 -56 -55 -55 -56 -49 -43 -44 -50 -56 -49 -45 -43 -41 -39 -37 -32 -28 -24 -25 -26 -26 -26 -26 -26 -27 -27 -25 -23 -22 -22 -21 -21 -20 -21 -25 -28 -30 -30 -31 -32 -33 -34 -34 -34 -34 -34 -32 -29 -27 -25 -25 -27 -31 -34 -35 -35 -34 -36 -36 -38 -40 -46 -48 -48 -46 -45 -44 -43 -41 -40 -40 -39 -39 -40 -41 -40 -42 -41 -40 -38 -37 -37 -37 -36 -35 -32 -29 -28 -28 -27 -27 -27 -27 -27 -28 -30 -32 -34 -34 -33 -32 -30 -29 -29 -30 -29 -28 -27 -27 -27 -27 -25 -24 -23 -25 -26 -27 -26 -26 -25 -24 -23 -22 -21 -21 -21 -20 -18 -16 -19 -17 -16 -16 -17 -17 -18 -18 -19 -20 -20 -20 -20 -19 -18 -19 -21 -21 -21 -20 -18 -17 -16 -15 -15 -15 -15 -16 -17 -19 -17 -16 -17 -19 -20 -22 -23 -25 -26 -28 -29 -29 -29 -27 -25 -25 -26 -27 -30 -32 -33 -32 -30 -26 -21 -17 -15 -14 -13 -13 -11 -9 -7 -5 -4 -3 -4 -5 -6 -6 -7 -9 -11 -13 -13 -12 -9 -7 -5 -4 -6 -7 -7 -9 -13 -16 -17 -15 -11 -9 -7 -6 -5 -8 -13 -19 -24 -28 -28 -26 -24 -25 -26 -30 -33 -35 -35 -33 -29 -25 -23 -23 -22 -20 -17 -15 -14 -15 -15 -16 -17 -17 -16 -15 -15 -17 -19 -20 -21 -23 -24 -26 -28 -31 -32 -32 -32 -33 -33 -34 -33 -33 -34 -36 -34 -25 -14 -10 -10 -11 -13 -12 -11 -12 -14 -18 -23 -25 -25 -22 -18 -18 -21 -27 -33 -38 -39 -36 -31 -26 -24 -23 -22 -21 -19 -17 -17 -18 -20 -23 -27 -28 -29 -31 -36 -42 -44 -41 -35 -26 -20 -15 -11 -8 -8 -14 -21 -25 -23 -18 -17 -17 -16 -14 -14 -16 -18 -20 -23 -23 -23 -22 -22 -23 -26 -31 -37 -42 -46 -50 -50 -48 -47 -50 -53 -52 -45 -36 -28 -23 -20 -20 -23 -29 -33 -37 -41 -46 -47 -47 -45 -41 -39 -41 -44 -46 -50 -54 -58 -61 -63 -63 -61 -57 -53 -48 -44 -42 -46 -50 -54 -55 -53 -49 -46 -45 -45 -41 -40 -42 -45 -48 -50 -48 -48 -48 -49 -49 -49 -50 -50 -53 -56 -55 -54 -55 -57 -46 -40 -41 -46 -52 -48 -44 -42 -42 -41 -39 -36 -32 -27 -26 -26 -26 -26 -26 -26 -26 -26 -25 -22 -21 -21 -21 -20 -20 -21 -24 -28 -29 -29 -29 -30 -31 -31 -31 -32 -32 -31 -28 -26 -26 -25 -25 -27 -30 -32 -33 -34 -33 -35 -36 -38 -41 -47 -48 -48 -46 -45 -45 -44 -43 -43 -44 -42 -42 -42 -41 -39 -40 -39 -38 -37 -36 -37 -36 -34 -31 -30 -28 -28 -28 -28 -28 -28 -27 -28 -28 -30 -31 -32 -33 -33 -32 -30 -29 -29 -29 -27 -26 -26 -26 -26 -26 -25 -24 -22 -23 -25 -26 -27 -28 -27 -26 -24 -23 -22 -22 -22 -21 -20 -18 -17 -15 -14 -15 -16 -16 -17 -18 -19 -20 -20 -19 -18 -17 -17 -19 -21 -21 -21 -19 -18 -15 -13 -12 -12 -13 -13 -14 -15 -15 -14 -15 -17 -19 -21 -22 -23 -24 -26 -27 -28 -28 -28 -29 -28 -26 -26 -27 -28 -31 -33 -33 -31 -27 -22 -18 -16 -15 -15 -14 -12 -9 -7 -5 -3 -2 -3 -5 -7 -9 -10 -10 -11 -13 -14 -12 -10 -8 -6 -6 -6 -6 -6 -7 -12 -17 -19 -18 -15 -12 -9 -7 -5 -5 -8 -13 -19 -24 -27 -26 -25 -25 -26 -28 -31 -35 -38 -38 -33 -29 -26 -25 -25 -24 -21 -18 -16 -16 -17 -17 -18 -18 -18 -16 -16 -18 -21 -24 -26 -26 -25 -25 -28 -31 -32 -31 -30 -30 -30 -31 -32 -33 -34 -37 -36 -32 -23 -15 -10 -9 -10 -11 -10 -10 -12 -16 -23 -28 -29 -24 -16 -13 -15 -20 -26 -33 -38 -38 -34 -28 -26 -26 -26 -25 -23 -22 -20 -19 -19 -21 -25 -29 -30 -31 -34 -40 -44 -43 -37 -26 -17 -11 -8 -7 -7 -12 -18 -24 -27 -24 -21 -18 -15 -13 -15 -17 -20 -24 -27 -28 -27 -25 -24 -24 -26 -29 -33 -37 -41 -46 -49 -49 -49 -51 -55 -55 -50 -40 -30 -24 -21 -21 -23 -28 -32 -35 -37 -42 -46 -47 -46 -42 -38 -38 -39 -40 -43 -46 -50 -54 -57 -59 -60 -58 -57 -54 -50 -47 -48 -52 -55 -57 -56 -51 -49 -48 -47 -42 -40 -41 -43 -46 -50 -50 -48 -48 -49 -50 -52 -53 -54 -53 -55 -55 -55 -55 -58 -47 -39 -38 -41 -48 -48 -46 -43 -41 -39 -38 -37 -35 -31 -28 -27 -26 -26 -26 -26 -27 -26 -25 -21 -20 -20 -20 -20 -20 -20 -23 -26 -28 -29 -29 -28 -28 -28 -29 -30 -29 -28 -24 -23 -24 -25 -26 -27 -27 -27 -29 -32 -34 -37 -39 -41 -42 -45 -47 -46 -45 -44 -45 -44 -44 -44 -45 -43 -42 -41 -40 -38 -38 -37 -35 -34 -35 -36 -34 -31 -29 -29 -28 -28 -28 -29 -29 -28 -28 -28 -29 -30 -31 -31 -33 -34 -34 -32 -30 -29 -28 -27 -27 -28 -26 -26 -26 -25 -24 -23 -23 -24 -25 -26 -28 -28 -27 -25 -24 -23 -23 -22 -21 -20 -19 -15 -14 -14 -14 -15 -15 -15 -18 -20 -21 -20 -17 -15 -15 -17 -19 -20 -21 -20 -19 -16 -12 -9 -8 -9 -10 -11 -13 -13 -14 -14 -16 -18 -21 -22 -23 -24 -24 -24 -25 -26 -27 -29 -32 -34 -31 -29 -28 -29 -31 -34 -36 -36 -33 -29 -24 -20 -18 -17 -15 -11 -8 -6 -5 -2 -1 -3 -5 -7 -10 -13 -13 -11 -10 -13 -13 -11 -9 -7 -7 -7 -6 -5 -6 -11 -17 -20 -20 -19 -16 -12 -9 -7 -6 -7 -9 -13 -18 -22 -24 -25 -25 -26 -27 -30 -33 -38 -40 -36 -31 -28 -26 -27 -26 -24 -21 -19 -18 -19 -20 -21 -21 -21 -19 -17 -18 -22 -27 -30 -29 -26 -24 -26 -30 -31 -30 -28 -28 -27 -26 -26 -28 -31 -35 -38 -38 -34 -26 -17 -10 -8 -8 -8 -8 -10 -14 -23 -30 -30 -24 -13 -9 -10 -13 -17 -23 -29 -32 -32 -30 -28 -30 -31 -31 -29 -27 -24 -21 -19 -18 -21 -26 -30 -32 -34 -39 -44 -46 -41 -29 -16 -8 -5 -5 -7 -11 -16 -22 -27 -28 -26 -21 -16 -13 -16 -19 -24 -29 -33 -32 -29 -25 -22 -22 -24 -27 -29 -32 -35 -41 -46 -49 -51 -53 -57 -58 -53 -44 -33 -26 -23 -22 -23 -27 -31 -34 -36 -38 -41 -43 -43 -41 -37 -37 -38 -39 -39 -40 -44 -48 -52 -54 -56 -57 -59 -59 -56 -53 -53 -55 -57 -58 -57 -54 -51 -49 -47 -43 -41 -40 -41 -43 -46 -47 -50 -53 -54 -52 -53 -56 -58 -54 -53 -54 -56 -56 -57 -49 -41 -38 -37 -41 -44 -45 -44 -42 -39 -37 -36 -35 -32 -29 -28 -26 -26 -26 -26 -27 -27 -25 -21 -20 -19 -19 -20 -20 -20 -22 -25 -27 -27 -26 -25 -25 -25 -26 -26 -25 -24 -22 -21 -21 -23 -25 -26 -25 -24 -25 -28 -33 -39 -43 -44 -44 -44 -44 -43 -43 -43 -44 -44 -43 -44 -44 -43 -42 -41 -40 -39 -39 -38 -35 -33 -33 -34 -33 -31 -30 -29 -28 -27 -27 -28 -28 -28 -27 -28 -29 -31 -31 -31 -33 -35 -34 -33 -31 -29 -29 -29 -29 -29 -27 -26 -26 -25 -24 -24 -24 -24 -24 -25 -28 -28 -28 -27 -26 -25 -24 -23 -22 -20 -20 -14 -13 -14 -14 -14 -13 -15 -18 -20 -20 -18 -15 -14 -14 -16 -18 -19 -20 -19 -18 -14 -10 -7 -7 -7 -9 -11 -12 -14 -14 -15 -18 -20 -23 -24 -24 -24 -23 -23 -24 -26 -28 -31 -35 -38 -37 -34 -32 -31 -33 -37 -40 -42 -41 -37 -32 -26 -21 -16 -13 -9 -6 -5 -4 -3 -2 -3 -5 -5 -8 -11 -12 -11 -11 -13 -13 -12 -10 -7 -6 -5 -5 -3 -4 -9 -15 -19 -22 -22 -19 -16 -13 -10 -8 -8 -9 -10 -13 -16 -19 -21 -24 -27 -29 -30 -33 -36 -39 -37 -32 -28 -26 -27 -27 -26 -24 -22 -21 -22 -23 -24 -25 -24 -22 -20 -20 -23 -28 -31 -30 -26 -21 -23 -27 -29 -29 -26 -25 -24 -22 -21 -22 -26 -31 -36 -41 -42 -36 -27 -17 -10 -8 -6 -6 -8 -12 -21 -29 -31 -25 -14 -8 -7 -8 -11 -15 -20 -24 -26 -27 -28 -32 -34 -35 -34 -31 -30 -27 -22 -18 -19 -22 -27 -31 -35 -39 -45 -48 -46 -34 -18 -8 -3 -4 -7 -11 -16 -20 -24 -27 -28 -25 -20 -17 -18 -22 -28 -34 -37 -33 -27 -21 -18 -19 -22 -25 -29 -32 -34 -38 -42 -46 -49 -53 -58 -59 -54 -44 -35 -30 -26 -24 -24 -26 -30 -34 -37 -36 -37 -38 -38 -37 -36 -36 -37 -37 -36 -38 -42 -45 -48 -49 -51 -54 -58 -61 -61 -59 -58 -58 -59 -58 -58 -55 -52 -49 -45 -42 -41 -40 -41 -42 -43 -46 -51 -56 -56 -54 -53 -55 -61 -57 -53 -53 -55 -55 -54 -51 -46 -41 -36 -37 -40 -42 -43 -43 -40 -37 -36 -36 -34 -31 -29 -27 -26 -26 -26 -27 -27 -25 -22 -20 -19 -18 -19 -19 -20 -21 -23 -25 -26 -25 -23 -23 -24 -23 -21 -20 -20 -20 -19 -19 -21 -23 -24 -24 -23 -24 -26 -31 -36 -41 -43 -43 -41 -40 -41 -41 -42 -43 -43 -43 -43 -43 -43 -43 -43 -41 -40 -40 -38 -36 -34 -33 -33 -32 -31 -31 -29 -28 -27 -27 -27 -28 -28 -27 -27 -28 -29 -31 -32 -34 -34 -34 -33 -31 -30 -30 -31 -30 -29 -27 -26 -26 -26 -25 -25 -24 -23 -22 -24 -26 -27 -27 -27 -27 -26 -26 -25 -23 -21 -20 -14 -13 -13 -13 -13 -13 -15 -17 -18 -18 -16 -15 -14 -15 -16 -17 -18 -18 -18 -16 -13 -9 -7 -7 -7 -9 -11 -14 -15 -16 -17 -19 -22 -24 -25 -25 -24 -23 -23 -24 -26 -28 -32 -35 -38 -38 -36 -35 -35 -38 -42 -45 -45 -42 -36 -33 -30 -24 -17 -11 -8 -5 -4 -4 -3 -3 -4 -5 -4 -5 -6 -8 -10 -14 -15 -14 -13 -11 -7 -4 -2 -1 -1 -2 -8 -14 -19 -22 -23 -22 -21 -19 -15 -11 -10 -9 -9 -11 -14 -16 -18 -21 -26 -30 -33 -34 -36 -38 -37 -32 -28 -26 -27 -27 -28 -27 -27 -25 -24 -24 -26 -28 -28 -27 -25 -25 -26 -28 -29 -27 -23 -17 -17 -21 -25 -27 -24 -23 -22 -21 -18 -18 -21 -26 -32 -38 -43 -40 -34 -26 -19 -13 -8 -6 -7 -10 -18 -27 -31 -29 -19 -11 -6 -6 -7 -11 -13 -15 -17 -20 -24 -30 -35 -37 -36 -33 -32 -31 -28 -23 -19 -19 -23 -28 -34 -40 -45 -48 -47 -39 -25 -13 -5 -3 -6 -11 -15 -18 -21 -23 -26 -27 -26 -23 -23 -26 -31 -36 -39 -34 -26 -19 -15 -15 -18 -21 -26 -31 -35 -38 -41 -44 -47 -52 -57 -57 -52 -43 -36 -33 -28 -25 -23 -25 -29 -33 -36 -37 -37 -35 -33 -32 -34 -36 -36 -36 -35 -37 -40 -42 -44 -46 -47 -48 -52 -57 -59 -62 -64 -63 -60 -59 -58 -55 -51 -48 -43 -41 -41 -41 -40 -39 -41 -45 -51 -58 -60 -58 -55 -55 -59 -58 -55 -51 -49 -49 -51 -53 -51 -45 -38 -37 -37 -38 -40 -42 -41 -38 -36 -37 -35 -32 -31 -29 -27 -27 -27 -27 -27 -26 -23 -21 -20 -18 -18 -18 -19 -21 -22 -24 -25 -24 -23 -23 -23 -21 -19 -18 -18 -18 -18 -19 -19 -21 -22 -23 -23 -23 -25 -29 -33 -37 -39 -38 -37 -37 -38 -40 -41 -42 -43 -44 -44 -43 -43 -44 -45 -44 -43 -41 -39 -37 -35 -33 -32 -31 -31 -31 -30 -29 -29 -28 -28 -28 -28 -27 -27 -27 -28 -29 -32 -34 -34 -34 -33 -32 -31 -31 -31 -31 -30 -28 -27 -27 -28 -27 -27 -26 -23 -22 -22 -23 -25 -26 -28 -28 -28 -27 -26 -25 -23 -21 -14 -13 -13 -13 -13 -14 -16 -17 -17 -16 -15 -15 -15 -15 -15 -16 -17 -17 -17 -15 -12 -10 -9 -9 -10 -11 -13 -15 -16 -17 -18 -20 -22 -24 -25 -25 -23 -23 -23 -24 -26 -28 -30 -32 -35 -36 -37 -37 -38 -39 -42 -43 -41 -37 -32 -30 -28 -23 -15 -10 -8 -5 -4 -4 -3 -3 -4 -4 -3 -3 -3 -5 -7 -10 -12 -13 -12 -10 -7 -4 -1 0 1 0 -4 -11 -18 -22 -23 -24 -25 -24 -21 -15 -12 -10 -10 -10 -12 -14 -16 -19 -23 -28 -32 -35 -36 -37 -35 -33 -29 -27 -26 -27 -27 -28 -30 -29 -28 -28 -28 -29 -32 -32 -32 -31 -31 -28 -24 -21 -19 -15 -11 -14 -19 -24 -24 -23 -23 -22 -19 -17 -18 -22 -28 -34 -38 -38 -36 -33 -31 -25 -16 -9 -6 -8 -14 -22 -29 -31 -25 -16 -9 -5 -6 -8 -10 -11 -12 -14 -18 -24 -30 -33 -34 -33 -32 -31 -30 -27 -24 -22 -23 -25 -32 -40 -44 -46 -47 -47 -37 -24 -11 -4 -6 -9 -12 -15 -18 -20 -23 -27 -30 -31 -30 -29 -32 -35 -38 -33 -26 -20 -14 -11 -14 -18 -24 -30 -34 -38 -41 -44 -46 -50 -53 -53 -48 -40 -36 -32 -28 -25 -24 -25 -28 -31 -35 -37 -38 -36 -32 -29 -31 -34 -36 -36 -36 -36 -38 -40 -42 -44 -44 -44 -47 -51 -55 -59 -62 -64 -63 -60 -58 -55 -51 -47 -43 -41 -40 -41 -40 -39 -40 -44 -49 -55 -59 -60 -59 -56 -55 -54 -52 -50 -50 -50 -51 -53 -52 -46 -39 -37 -37 -37 -38 -40 -41 -39 -37 -37 -36 -34 -32 -32 -28 -27 -28 -29 -29 -27 -24 -22 -21 -19 -18 -18 -19 -20 -22 -24 -24 -23 -24 -24 -23 -20 -18 -18 -19 -20 -19 -19 -19 -19 -21 -21 -22 -22 -24 -27 -30 -34 -35 -35 -35 -35 -37 -39 -40 -41 -43 -44 -45 -44 -44 -45 -46 -46 -44 -42 -40 -38 -36 -34 -32 -31 -31 -31 -31 -31 -31 -30 -29 -29 -29 -27 -27 -27 -28 -29 -31 -33 -34 -34 -34 -33 -32 -32 -32 -32 -31 -29 -28 -27 -28 -28 -28 -26 -24 -22 -20 -21 -23 -26 -28 -29 -29 -28 -27 -26 -24 -23 -14 -13 -13 -13 -14 -16 -17 -16 -15 -15 -15 -16 -15 -15 -15 -17 -17 -18 -18 -16 -14 -13 -13 -13 -13 -14 -15 -16 -17 -19 -20 -21 -23 -25 -25 -24 -23 -22 -22 -23 -25 -26 -27 -30 -33 -35 -37 -38 -39 -38 -38 -38 -36 -34 -32 -30 -27 -21 -14 -9 -7 -5 -4 -3 -2 -3 -4 -4 -4 -3 -4 -5 -7 -9 -11 -11 -10 -8 -6 -4 -2 0 2 2 -1 -5 -11 -17 -21 -24 -28 -29 -26 -19 -14 -12 -11 -11 -12 -14 -16 -17 -19 -23 -28 -31 -34 -35 -33 -31 -30 -28 -28 -27 -27 -27 -29 -31 -33 -33 -32 -30 -29 -33 -36 -38 -39 -34 -25 -17 -13 -13 -10 -9 -13 -19 -22 -22 -23 -23 -21 -18 -17 -20 -25 -31 -35 -37 -37 -38 -41 -39 -29 -17 -8 -6 -10 -15 -22 -28 -28 -21 -14 -8 -6 -7 -9 -11 -12 -12 -13 -17 -22 -26 -29 -29 -29 -28 -28 -27 -27 -26 -26 -26 -30 -37 -42 -47 -51 -55 -47 -31 -14 -4 -4 -7 -10 -13 -15 -16 -21 -28 -35 -38 -34 -31 -31 -33 -34 -30 -25 -20 -15 -9 -11 -16 -22 -28 -34 -39 -43 -45 -46 -48 -49 -47 -44 -38 -35 -31 -28 -27 -30 -30 -29 -30 -32 -36 -39 -38 -36 -31 -29 -31 -34 -36 -36 -37 -37 -38 -39 -41 -41 -40 -42 -46 -51 -55 -58 -60 -62 -62 -59 -55 -51 -48 -44 -40 -39 -40 -41 -42 -43 -44 -46 -50 -54 -59 -60 -57 -52 -49 -48 -49 -52 -54 -51 -50 -48 -45 -40 -38 -37 -37 -38 -39 -40 -40 -38 -36 -36 -34 -33 -33 -29 -28 -29 -30 -30 -28 -27 -26 -24 -22 -19 -19 -20 -20 -22 -24 -23 -22 -24 -25 -24 -21 -18 -18 -22 -23 -22 -20 -18 -19 -19 -20 -20 -21 -23 -26 -29 -32 -32 -32 -33 -34 -36 -38 -39 -40 -43 -44 -45 -45 -45 -45 -44 -46 -45 -43 -41 -39 -37 -35 -34 -33 -33 -32 -32 -33 -33 -31 -31 -30 -29 -27 -27 -27 -28 -30 -31 -32 -33 -34 -34 -33 -33 -33 -32 -32 -32 -30 -29 -28 -28 -29 -28 -27 -26 -24 -22 -22 -24 -26 -28 -30 -30 -29 -28 -27 -25 -24 -14 -14 -14 -15 -17 -18 -18 -16 -15 -15 -16 -17 -16 -16 -17 -18 -19 -20 -20 -19 -18 -17 -17 -17 -17 -16 -17 -17 -18 -20 -22 -23 -24 -24 -24 -22 -21 -20 -20 -22 -24 -25 -26 -28 -31 -34 -37 -39 -39 -38 -36 -34 -32 -32 -33 -31 -26 -19 -12 -9 -7 -5 -3 -2 -2 -3 -3 -3 -3 -4 -4 -5 -6 -8 -10 -10 -9 -7 -5 -4 -3 -1 1 3 2 -1 -5 -10 -15 -20 -26 -30 -30 -23 -17 -14 -14 -14 -15 -16 -17 -17 -17 -19 -22 -26 -30 -33 -32 -30 -29 -29 -30 -29 -28 -27 -27 -29 -34 -37 -37 -33 -27 -28 -33 -41 -48 -43 -32 -20 -12 -11 -9 -6 -7 -13 -19 -20 -19 -20 -22 -22 -19 -17 -20 -28 -33 -35 -36 -39 -43 -46 -40 -28 -15 -7 -7 -11 -16 -22 -26 -24 -20 -14 -10 -8 -9 -11 -13 -13 -12 -13 -17 -21 -25 -25 -24 -24 -24 -25 -26 -28 -29 -29 -29 -33 -37 -42 -49 -54 -49 -35 -17 -5 -5 -7 -9 -10 -10 -11 -17 -25 -34 -38 -33 -29 -28 -30 -28 -24 -21 -19 -16 -10 -10 -14 -19 -26 -33 -39 -43 -46 -46 -46 -44 -41 -39 -37 -35 -31 -28 -27 -29 -29 -28 -29 -32 -37 -41 -43 -42 -36 -28 -27 -30 -33 -36 -37 -37 -36 -36 -36 -36 -36 -36 -40 -46 -51 -55 -57 -60 -60 -59 -56 -52 -47 -44 -40 -38 -38 -41 -45 -46 -45 -43 -45 -48 -53 -57 -58 -52 -46 -45 -48 -53 -55 -53 -51 -49 -46 -42 -39 -38 -38 -39 -38 -39 -40 -39 -37 -36 -34 -33 -34 -30 -29 -29 -30 -29 -28 -30 -31 -30 -27 -22 -20 -20 -21 -23 -24 -22 -21 -22 -25 -24 -21 -18 -18 -22 -23 -22 -20 -17 -18 -18 -17 -18 -19 -21 -25 -28 -30 -30 -31 -31 -33 -35 -37 -38 -40 -42 -43 -43 -44 -45 -45 -43 -45 -45 -44 -42 -40 -38 -36 -35 -34 -33 -33 -33 -33 -33 -32 -32 -31 -29 -28 -27 -27 -28 -30 -31 -31 -33 -34 -34 -34 -34 -33 -32 -32 -33 -32 -31 -29 -29 -29 -28 -27 -26 -24 -22 -22 -24 -26 -27 -29 -29 -28 -28 -27 -25 -24 -15 -14 -15 -17 -18 -19 -18 -16 -16 -16 -17 -17 -17 -18 -19 -21 -21 -22 -22 -21 -20 -20 -20 -20 -19 -18 -17 -18 -20 -22 -23 -25 -25 -24 -23 -21 -19 -19 -19 -20 -23 -25 -27 -29 -31 -35 -38 -39 -39 -36 -33 -29 -28 -29 -32 -30 -23 -16 -9 -8 -7 -5 -3 -3 -3 -3 -3 -3 -3 -4 -4 -5 -6 -7 -9 -9 -9 -7 -5 -4 -3 -2 0 2 3 2 -1 -4 -9 -14 -21 -27 -29 -26 -22 -19 -17 -17 -19 -20 -21 -20 -18 -17 -18 -21 -26 -31 -30 -29 -28 -29 -31 -32 -31 -27 -24 -25 -30 -36 -40 -37 -28 -26 -31 -40 -50 -49 -39 -27 -16 -13 -9 -6 -6 -9 -14 -15 -15 -16 -20 -22 -19 -17 -18 -25 -32 -37 -38 -39 -40 -42 -41 -33 -22 -11 -9 -10 -12 -16 -20 -21 -20 -17 -13 -10 -10 -11 -12 -12 -12 -14 -16 -19 -22 -21 -20 -19 -18 -21 -24 -27 -29 -30 -29 -30 -32 -36 -42 -47 -46 -37 -23 -10 -7 -7 -9 -10 -10 -11 -17 -25 -34 -39 -35 -29 -25 -25 -24 -20 -18 -17 -16 -13 -11 -12 -16 -22 -30 -37 -42 -44 -45 -43 -41 -38 -37 -36 -34 -31 -28 -26 -27 -27 -28 -30 -34 -38 -42 -46 -48 -44 -34 -28 -28 -32 -35 -36 -36 -34 -31 -30 -31 -31 -32 -35 -40 -46 -51 -53 -55 -57 -57 -56 -52 -47 -42 -40 -38 -38 -40 -45 -48 -48 -47 -46 -46 -49 -53 -57 -55 -49 -46 -48 -53 -56 -56 -55 -54 -51 -47 -43 -40 -39 -39 -39 -38 -39 -40 -37 -35 -33 -32 -34 -30 -29 -29 -30 -29 -28 -31 -34 -33 -28 -23 -22 -22 -23 -24 -24 -22 -20 -20 -22 -22 -20 -18 -20 -21 -20 -19 -18 -17 -17 -17 -17 -17 -17 -20 -24 -27 -28 -28 -29 -30 -31 -33 -36 -38 -39 -41 -42 -41 -42 -43 -43 -42 -43 -45 -45 -43 -41 -39 -37 -35 -34 -32 -32 -32 -33 -33 -33 -33 -32 -30 -29 -28 -28 -28 -30 -30 -31 -32 -34 -34 -34 -35 -35 -33 -33 -34 -34 -33 -31 -30 -29 -28 -26 -26 -24 -22 -22 -22 -23 -25 -27 -28 -28 -28 -27 -25 -24 -15 -14 -15 -18 -20 -20 -19 -17 -17 -17 -17 -18 -20 -21 -22 -23 -22 -22 -22 -21 -21 -20 -21 -21 -20 -19 -19 -20 -21 -23 -25 -27 -27 -26 -24 -22 -20 -20 -20 -22 -25 -27 -29 -31 -33 -35 -38 -38 -37 -33 -28 -26 -26 -28 -30 -26 -19 -13 -8 -7 -6 -5 -4 -3 -4 -4 -4 -4 -3 -4 -4 -4 -5 -6 -7 -8 -8 -7 -6 -5 -4 -2 -0 2 3 3 2 -1 -5 -10 -16 -21 -25 -26 -26 -24 -22 -21 -23 -25 -26 -24 -21 -17 -16 -18 -23 -28 -29 -28 -27 -28 -31 -33 -32 -29 -24 -21 -25 -31 -36 -37 -32 -29 -32 -39 -47 -48 -41 -31 -21 -16 -12 -8 -6 -6 -9 -11 -13 -15 -18 -20 -19 -17 -17 -23 -31 -38 -42 -42 -38 -36 -34 -31 -25 -17 -13 -12 -12 -13 -14 -15 -16 -16 -15 -13 -12 -12 -11 -11 -12 -13 -15 -18 -20 -20 -18 -16 -15 -17 -20 -24 -27 -29 -30 -29 -29 -30 -34 -39 -41 -38 -30 -18 -10 -9 -9 -10 -11 -13 -19 -27 -35 -40 -36 -30 -26 -23 -22 -21 -19 -19 -19 -16 -11 -9 -12 -17 -26 -34 -39 -42 -42 -40 -39 -38 -38 -37 -34 -31 -30 -29 -27 -26 -27 -30 -35 -39 -44 -48 -50 -45 -36 -30 -29 -30 -32 -34 -34 -31 -26 -25 -26 -27 -29 -31 -36 -41 -45 -48 -50 -52 -54 -54 -52 -48 -42 -39 -38 -38 -39 -42 -45 -48 -50 -49 -48 -48 -50 -54 -56 -54 -51 -50 -54 -56 -58 -58 -58 -56 -53 -49 -45 -43 -41 -40 -39 -39 -40 -38 -35 -33 -32 -33 -31 -29 -29 -29 -29 -28 -31 -33 -33 -29 -26 -24 -23 -24 -25 -24 -22 -19 -17 -18 -19 -18 -18 -20 -19 -18 -17 -16 -16 -16 -17 -17 -17 -17 -19 -22 -25 -26 -26 -26 -28 -29 -32 -35 -37 -39 -40 -40 -40 -40 -41 -41 -41 -42 -43 -44 -44 -41 -39 -37 -36 -34 -32 -32 -32 -33 -33 -33 -33 -33 -32 -31 -30 -29 -28 -29 -30 -30 -31 -33 -33 -34 -35 -36 -34 -33 -33 -34 -34 -32 -31 -29 -28 -26 -26 -24 -23 -22 -21 -22 -24 -26 -27 -27 -27 -27 -26 -24 -17 -16 -18 -20 -21 -21 -21 -19 -19 -19 -20 -22 -23 -24 -24 -23 -22 -22 -22 -22 -21 -21 -21 -21 -21 -21 -21 -21 -23 -24 -26 -28 -28 -28 -27 -25 -24 -24 -24 -26 -28 -30 -32 -33 -35 -37 -38 -37 -34 -29 -25 -25 -28 -31 -29 -21 -14 -10 -9 -7 -5 -5 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -5 -6 -6 -6 -4 -3 -3 -2 -0 2 3 3 2 0 -4 -9 -14 -18 -22 -24 -27 -27 -25 -24 -26 -28 -29 -29 -26 -21 -18 -18 -21 -26 -29 -28 -27 -26 -28 -31 -32 -31 -27 -21 -20 -23 -28 -32 -33 -34 -36 -39 -41 -41 -36 -30 -23 -19 -15 -10 -7 -4 -6 -10 -13 -16 -17 -18 -17 -17 -18 -21 -29 -38 -44 -45 -38 -31 -27 -25 -23 -20 -17 -16 -15 -15 -15 -15 -15 -15 -14 -13 -12 -12 -12 -13 -15 -15 -14 -14 -16 -17 -17 -15 -14 -15 -18 -21 -24 -27 -30 -29 -28 -28 -29 -33 -36 -37 -35 -26 -17 -12 -11 -12 -12 -16 -23 -31 -38 -40 -37 -32 -28 -25 -23 -21 -20 -19 -18 -17 -14 -11 -10 -12 -19 -28 -36 -40 -39 -37 -37 -38 -40 -37 -35 -34 -35 -35 -31 -27 -26 -29 -34 -40 -46 -50 -50 -44 -37 -33 -30 -30 -31 -33 -34 -32 -27 -25 -25 -26 -27 -29 -34 -37 -40 -43 -45 -48 -50 -51 -50 -48 -43 -39 -38 -38 -39 -41 -42 -43 -47 -49 -49 -48 -49 -51 -54 -57 -57 -54 -53 -56 -58 -59 -61 -60 -58 -55 -52 -49 -45 -43 -41 -40 -40 -39 -37 -35 -33 -33 -31 -29 -28 -28 -28 -29 -31 -33 -33 -31 -31 -29 -27 -26 -27 -26 -23 -19 -17 -17 -18 -18 -19 -19 -19 -18 -18 -17 -16 -16 -16 -17 -17 -18 -20 -22 -23 -23 -24 -24 -25 -27 -30 -33 -36 -38 -39 -39 -40 -39 -39 -39 -41 -42 -43 -43 -43 -41 -39 -37 -36 -34 -33 -32 -32 -32 -32 -32 -33 -33 -33 -32 -31 -30 -29 -29 -30 -30 -30 -31 -32 -33 -34 -35 -35 -34 -33 -34 -34 -34 -33 -31 -29 -27 -25 -24 -24 -23 -23 -23 -25 -27 -27 -26 -27 -26 -26 -25 -21 -21 -21 -22 -22 -23 -23 -22 -22 -22 -24 -25 -26 -26 -25 -23 -22 -22 -23 -23 -22 -22 -21 -22 -22 -23 -23 -23 -24 -25 -26 -28 -29 -30 -30 -30 -29 -29 -30 -31 -32 -33 -34 -35 -37 -38 -38 -35 -32 -27 -25 -27 -30 -33 -29 -18 -12 -9 -9 -7 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -4 -4 -4 -4 -4 -4 -2 -2 -1 0 1 2 2 1 -1 -6 -11 -15 -18 -21 -23 -24 -24 -24 -24 -25 -27 -29 -30 -30 -26 -23 -22 -23 -26 -30 -31 -29 -25 -25 -27 -30 -32 -31 -27 -21 -19 -20 -24 -29 -35 -39 -40 -36 -31 -27 -24 -22 -20 -17 -13 -9 -6 -6 -9 -12 -14 -15 -16 -16 -16 -18 -20 -28 -37 -44 -47 -40 -29 -23 -20 -19 -18 -18 -18 -18 -18 -19 -19 -19 -17 -14 -12 -12 -12 -13 -14 -15 -16 -15 -14 -13 -14 -15 -15 -14 -14 -14 -15 -17 -22 -27 -30 -30 -29 -27 -28 -33 -37 -38 -34 -25 -19 -15 -14 -15 -20 -27 -34 -39 -40 -38 -34 -31 -27 -24 -23 -22 -20 -19 -19 -19 -18 -16 -14 -18 -26 -35 -40 -37 -32 -31 -33 -37 -37 -37 -39 -42 -43 -36 -29 -26 -27 -31 -37 -43 -48 -48 -43 -37 -33 -30 -30 -32 -32 -32 -30 -29 -27 -26 -26 -27 -28 -30 -34 -36 -36 -37 -40 -45 -48 -48 -47 -43 -41 -39 -39 -39 -40 -40 -41 -43 -46 -48 -48 -48 -49 -51 -54 -57 -57 -53 -54 -56 -59 -62 -63 -62 -61 -58 -55 -50 -47 -46 -44 -42 -41 -42 -40 -35 -34 -31 -29 -28 -28 -28 -29 -31 -33 -33 -34 -35 -34 -29 -27 -28 -27 -24 -19 -17 -18 -20 -21 -21 -21 -21 -21 -21 -19 -18 -18 -18 -18 -19 -20 -21 -23 -22 -21 -22 -23 -24 -25 -27 -31 -34 -36 -37 -39 -40 -40 -38 -39 -41 -42 -42 -42 -43 -42 -41 -39 -37 -35 -35 -33 -32 -32 -32 -32 -32 -33 -33 -32 -31 -30 -29 -30 -31 -31 -30 -31 -31 -31 -33 -34 -35 -34 -34 -35 -36 -35 -34 -32 -30 -27 -26 -24 -24 -25 -25 -25 -27 -27 -26 -26 -27 -26 -25 -25 -24 -24 -24 -24 -25 -25 -24 -24 -24 -25 -26 -27 -27 -26 -24 -22 -21 -22 -23 -23 -23 -22 -22 -22 -23 -24 -24 -24 -25 -25 -26 -27 -29 -31 -32 -33 -33 -34 -35 -35 -36 -36 -37 -37 -38 -38 -37 -35 -32 -31 -31 -30 -29 -28 -22 -14 -11 -9 -8 -6 -6 -6 -7 -7 -7 -6 -6 -5 -5 -6 -6 -5 -5 -4 -3 -3 -4 -4 -3 -2 -1 -1 0 1 2 1 -0 -3 -7 -13 -17 -19 -21 -23 -24 -22 -20 -19 -21 -23 -25 -27 -28 -28 -28 -28 -29 -31 -31 -31 -31 -29 -25 -25 -27 -30 -32 -31 -25 -19 -16 -17 -24 -32 -39 -40 -32 -22 -17 -16 -16 -17 -16 -14 -13 -11 -9 -8 -8 -10 -12 -14 -15 -15 -16 -19 -26 -35 -42 -46 -42 -30 -22 -17 -16 -16 -17 -18 -19 -20 -22 -23 -24 -24 -19 -15 -13 -13 -13 -13 -13 -13 -13 -13 -13 -14 -14 -14 -14 -14 -15 -15 -16 -18 -21 -23 -25 -26 -26 -27 -31 -36 -39 -39 -33 -26 -20 -18 -19 -24 -29 -35 -39 -40 -38 -36 -33 -30 -27 -25 -24 -23 -22 -23 -25 -25 -24 -22 -22 -27 -34 -39 -37 -29 -25 -25 -30 -33 -37 -42 -46 -47 -42 -35 -30 -28 -26 -29 -34 -40 -44 -42 -36 -32 -30 -30 -32 -32 -30 -28 -27 -27 -27 -27 -27 -28 -29 -31 -31 -30 -30 -34 -39 -43 -46 -46 -44 -42 -42 -42 -41 -41 -41 -40 -41 -43 -46 -48 -49 -49 -50 -52 -55 -56 -53 -52 -54 -57 -62 -64 -64 -64 -62 -59 -54 -51 -50 -49 -46 -47 -47 -44 -37 -34 -31 -29 -28 -28 -28 -30 -31 -33 -34 -37 -38 -35 -30 -28 -28 -27 -25 -21 -19 -19 -21 -24 -25 -24 -25 -25 -24 -23 -22 -22 -22 -22 -22 -23 -24 -24 -22 -21 -21 -22 -23 -24 -25 -28 -31 -33 -34 -37 -40 -41 -39 -40 -41 -41 -41 -40 -41 -41 -39 -39 -38 -36 -35 -34 -33 -32 -32 -32 -32 -32 -33 -32 -31 -30 -30 -30 -31 -31 -30 -30 -30 -31 -32 -34 -35 -35 -35 -36 -36 -35 -34 -33 -30 -28 -26 -25 -25 -26 -26 -27 -28 -27 -26 -26 -26 -26 -25 -25 -26 -27 -26 -27 -26 -26 -26 -26 -26 -26 -27 -27 -27 -25 -23 -21 -21 -22 -22 -23 -23 -23 -22 -22 -23 -24 -25 -25 -26 -26 -26 -27 -29 -30 -31 -33 -34 -35 -36 -37 -37 -38 -38 -38 -39 -38 -36 -34 -36 -41 -50 -50 -46 -37 -24 -14 -10 -8 -7 -6 -6 -7 -8 -9 -8 -8 -7 -7 -6 -7 -6 -6 -5 -3 -3 -3 -3 -3 -2 -1 -0 -0 -0 1 1 0 -2 -5 -10 -15 -18 -21 -22 -23 -23 -21 -18 -15 -15 -19 -23 -25 -25 -26 -28 -31 -35 -39 -38 -34 -32 -31 -29 -27 -27 -28 -29 -29 -27 -23 -18 -16 -21 -30 -36 -38 -30 -16 -8 -6 -8 -10 -10 -11 -12 -13 -13 -11 -11 -11 -13 -14 -14 -13 -14 -17 -24 -33 -40 -45 -41 -31 -22 -17 -15 -16 -16 -17 -18 -20 -22 -26 -30 -31 -28 -21 -17 -15 -14 -12 -10 -9 -10 -11 -13 -13 -14 -14 -15 -15 -17 -17 -16 -15 -18 -19 -22 -25 -28 -29 -31 -34 -37 -40 -38 -32 -26 -22 -23 -27 -31 -35 -38 -40 -40 -38 -36 -33 -30 -27 -26 -27 -27 -28 -31 -33 -34 -33 -32 -33 -38 -43 -40 -31 -22 -18 -21 -29 -36 -42 -45 -45 -42 -38 -34 -28 -24 -23 -26 -30 -34 -36 -34 -31 -29 -31 -32 -31 -29 -27 -26 -26 -26 -27 -27 -28 -29 -29 -29 -28 -29 -32 -36 -41 -46 -46 -44 -44 -45 -46 -46 -45 -44 -42 -42 -43 -45 -48 -50 -50 -51 -52 -54 -56 -54 -54 -55 -57 -60 -62 -64 -65 -65 -62 -57 -54 -52 -53 -52 -53 -52 -47 -40 -35 -31 -28 -28 -29 -29 -29 -30 -32 -36 -40 -39 -34 -30 -29 -28 -26 -25 -23 -21 -20 -21 -24 -26 -25 -26 -27 -26 -25 -24 -24 -25 -25 -25 -25 -25 -24 -23 -21 -21 -22 -24 -23 -24 -26 -28 -31 -32 -35 -39 -41 -40 -40 -40 -41 -41 -40 -41 -39 -37 -37 -37 -37 -36 -35 -33 -33 -33 -33 -32 -33 -33 -33 -32 -31 -30 -30 -30 -29 -30 -30 -30 -30 -31 -33 -35 -35 -35 -36 -36 -36 -36 -34 -32 -28 -26 -25 -25 -25 -26 -28 -28 -28 -26 -26 -26 -27 -26 -26 -27 -28 -28 -28 -28 -27 -27 -27 -27 -27 -28 -28 -26 -24 -22 -21 -21 -22 -22 -23 -23 -22 -22 -22 -22 -24 -25 -26 -26 -26 -27 -28 -29 -30 -31 -32 -33 -35 -36 -37 -37 -37 -37 -38 -37 -35 -33 -33 -38 -49 -68 -78 -77 -64 -42 -22 -12 -8 -6 -6 -7 -8 -9 -10 -9 -8 -8 -8 -8 -8 -7 -6 -5 -3 -3 -3 -2 -2 -1 -0 0 0 0 1 1 0 -2 -6 -13 -17 -20 -22 -23 -21 -20 -18 -16 -13 -12 -15 -20 -23 -24 -26 -28 -31 -36 -43 -43 -38 -32 -30 -31 -29 -27 -26 -25 -25 -26 -24 -22 -20 -23 -29 -34 -34 -25 -12 -3 0 0 -3 -5 -6 -7 -9 -13 -16 -17 -17 -16 -14 -12 -11 -11 -15 -22 -30 -37 -42 -41 -32 -23 -16 -14 -15 -17 -17 -16 -16 -20 -27 -33 -37 -36 -29 -23 -19 -16 -13 -9 -7 -7 -8 -11 -13 -15 -16 -17 -18 -19 -19 -16 -14 -17 -19 -21 -25 -30 -32 -33 -34 -35 -37 -37 -34 -30 -26 -27 -29 -33 -37 -41 -42 -41 -39 -36 -35 -33 -31 -30 -30 -32 -34 -37 -41 -44 -44 -43 -43 -46 -50 -48 -37 -25 -16 -15 -22 -28 -34 -38 -39 -40 -39 -36 -30 -26 -24 -25 -26 -28 -29 -29 -28 -28 -31 -32 -32 -30 -28 -26 -25 -24 -25 -25 -26 -26 -26 -27 -27 -28 -30 -33 -36 -39 -41 -42 -44 -47 -50 -51 -51 -49 -45 -45 -44 -46 -48 -51 -52 -52 -53 -54 -56 -56 -57 -58 -58 -59 -62 -64 -66 -66 -65 -61 -58 -56 -57 -57 -59 -57 -50 -42 -37 -33 -30 -29 -29 -29 -29 -29 -32 -36 -39 -37 -34 -31 -30 -28 -25 -24 -24 -23 -22 -21 -23 -24 -25 -27 -29 -29 -27 -25 -25 -26 -25 -25 -25 -25 -25 -24 -22 -22 -22 -24 -24 -24 -25 -27 -30 -30 -33 -36 -38 -39 -39 -41 -42 -41 -40 -40 -38 -36 -35 -37 -36 -36 -35 -34 -34 -35 -35 -33 -33 -33 -33 -33 -33 -32 -31 -30 -29 -29 -29 -29 -29 -30 -31 -34 -35 -36 -36 -37 -37 -37 -36 -32 -28 -26 -24 -24 -25 -26 -28 -29 -29 -27 -27 -27 -27 -28 -26 -27 -28 -29 -29 -28 -27 -27 -27 -27 -28 -28 -27 -25 -22 -21 -20 -21 -21 -22 -22 -22 -21 -21 -21 -21 -22 -23 -25 -26 -26 -26 -27 -28 -29 -30 -31 -33 -34 -35 -36 -36 -36 -36 -36 -35 -33 -30 -31 -37 -50 -69 -84 -87 -75 -50 -24 -12 -8 -7 -7 -9 -10 -11 -10 -9 -9 -9 -9 -9 -8 -7 -6 -5 -4 -3 -3 -2 -2 -1 0 1 1 1 0 0 -0 -2 -6 -13 -18 -22 -23 -23 -19 -16 -14 -13 -13 -13 -15 -19 -23 -26 -28 -30 -31 -35 -41 -44 -39 -32 -27 -29 -28 -25 -22 -21 -21 -23 -24 -23 -22 -25 -30 -33 -32 -21 -10 -3 1 3 3 1 -2 -4 -6 -11 -17 -21 -23 -19 -14 -11 -9 -10 -13 -19 -26 -33 -38 -39 -31 -23 -17 -14 -15 -17 -18 -16 -14 -17 -24 -32 -38 -40 -35 -29 -24 -20 -15 -10 -7 -5 -4 -7 -10 -14 -17 -19 -21 -21 -20 -17 -15 -17 -19 -22 -25 -30 -33 -35 -35 -34 -34 -34 -33 -31 -29 -31 -32 -35 -39 -43 -43 -40 -36 -33 -32 -32 -32 -31 -31 -33 -36 -40 -45 -49 -52 -52 -52 -54 -57 -55 -44 -30 -17 -14 -17 -21 -26 -30 -34 -38 -40 -38 -33 -29 -26 -25 -25 -25 -26 -26 -26 -28 -32 -34 -33 -32 -29 -25 -23 -23 -24 -23 -23 -23 -25 -26 -26 -27 -29 -30 -31 -34 -37 -40 -44 -49 -51 -52 -52 -52 -50 -48 -47 -47 -48 -51 -52 -53 -54 -54 -55 -57 -59 -60 -59 -61 -63 -65 -67 -67 -68 -65 -62 -63 -64 -63 -62 -59 -52 -45 -41 -37 -34 -31 -29 -30 -30 -30 -32 -36 -37 -37 -36 -34 -32 -28 -25 -23 -24 -24 -23 -23 -23 -23 -25 -27 -29 -30 -28 -26 -26 -27 -25 -24 -24 -24 -25 -25 -23 -22 -22 -23 -24 -24 -25 -26 -28 -29 -31 -33 -35 -38 -38 -39 -40 -40 -39 -40 -38 -35 -35 -35 -35 -35 -36 -35 -35 -35 -35 -34 -34 -33 -33 -34 -33 -33 -31 -30 -29 -29 -29 -30 -30 -30 -31 -33 -35 -36 -37 -38 -39 -39 -38 -34 -30 -27 -25 -25 -26 -27 -28 -29 -28 -28 -28 -28 -28 -28 -27 -27 -28 -29 -28 -28 -28 -27 -27 -27 -27 -27 -26 -24 -22 -20 -20 -20 -20 -21 -21 -20 -20 -19 -19 -20 -21 -22 -23 -25 -25 -26 -26 -27 -28 -29 -31 -32 -33 -34 -34 -34 -34 -34 -34 -33 -31 -28 -29 -35 -44 -57 -70 -73 -62 -40 -19 -11 -8 -8 -7 -9 -10 -11 -10 -9 -9 -9 -9 -9 -9 -8 -6 -5 -4 -3 -3 -2 -2 -1 0 1 1 1 -0 -1 -1 -3 -6 -11 -17 -22 -24 -23 -19 -14 -11 -12 -14 -17 -19 -22 -25 -28 -30 -31 -31 -32 -37 -40 -39 -35 -28 -26 -23 -19 -16 -15 -16 -19 -22 -23 -23 -26 -29 -30 -27 -18 -10 -5 -1 3 4 4 2 -1 -5 -10 -17 -22 -24 -21 -14 -10 -9 -10 -13 -17 -22 -28 -33 -36 -32 -27 -21 -17 -16 -17 -18 -18 -16 -16 -18 -23 -29 -34 -35 -33 -30 -25 -18 -12 -8 -5 -1 -2 -5 -10 -16 -20 -22 -21 -20 -18 -18 -19 -20 -22 -24 -28 -32 -35 -36 -35 -33 -32 -32 -32 -31 -32 -34 -36 -39 -44 -45 -41 -35 -28 -27 -28 -28 -28 -29 -32 -36 -40 -45 -50 -53 -55 -57 -59 -61 -58 -48 -32 -18 -14 -15 -17 -20 -23 -27 -34 -38 -38 -35 -32 -28 -26 -24 -23 -24 -24 -26 -27 -30 -33 -34 -32 -30 -26 -23 -23 -23 -22 -21 -22 -24 -25 -26 -27 -29 -29 -29 -31 -34 -39 -44 -49 -50 -51 -52 -53 -52 -51 -50 -49 -49 -50 -52 -54 -55 -55 -55 -57 -61 -62 -60 -62 -64 -66 -68 -67 -68 -66 -65 -67 -69 -68 -65 -60 -53 -48 -45 -43 -41 -35 -31 -31 -31 -30 -31 -35 -36 -36 -37 -35 -33 -29 -25 -23 -23 -23 -23 -23 -24 -25 -26 -27 -29 -29 -27 -27 -28 -28 -25 -24 -24 -25 -25 -26 -25 -24 -23 -23 -23 -24 -25 -27 -28 -29 -30 -31 -33 -37 -38 -39 -38 -35 -37 -38 -37 -35 -35 -34 -34 -34 -35 -35 -35 -35 -35 -33 -33 -33 -33 -34 -33 -33 -31 -30 -31 -30 -29 -30 -31 -31 -31 -33 -35 -36 -37 -39 -40 -41 -40 -37 -34 -31 -29 -28 -28 -28 -29 -29 -29 -29 -28 -28 -28 -28 -27 -26 -28 -28 -28 -28 -29 -29 -28 -28 -27 -27 -25 -23 -21 -20 -20 -19 -18 -18 -19 -19 -18 -17 -16 -17 -19 -21 -22 -24 -25 -25 -25 -26 -27 -28 -30 -31 -32 -33 -33 -33 -32 -31 -31 -30 -29 -27 -29 -32 -36 -43 -50 -49 -39 -23 -13 -10 -9 -8 -7 -8 -9 -10 -10 -10 -10 -10 -10 -10 -9 -8 -7 -6 -5 -4 -3 -2 -2 -1 -0 1 1 1 -0 -2 -3 -4 -5 -10 -17 -22 -24 -22 -17 -13 -10 -11 -15 -21 -25 -28 -30 -31 -30 -30 -29 -30 -33 -37 -39 -38 -34 -26 -19 -14 -11 -11 -14 -17 -20 -22 -22 -24 -25 -25 -22 -15 -9 -6 -3 1 4 6 5 1 -4 -10 -17 -22 -24 -21 -13 -9 -9 -12 -15 -17 -20 -23 -28 -32 -32 -29 -25 -20 -18 -17 -17 -18 -18 -17 -17 -17 -20 -26 -31 -35 -34 -30 -21 -14 -10 -7 -2 1 -0 -5 -12 -19 -22 -23 -21 -19 -20 -20 -21 -20 -20 -24 -29 -33 -36 -35 -32 -31 -32 -33 -32 -33 -35 -36 -39 -43 -45 -42 -35 -27 -24 -24 -26 -27 -28 -31 -35 -40 -45 -49 -52 -56 -59 -62 -63 -58 -46 -31 -17 -14 -15 -16 -16 -16 -21 -27 -32 -34 -33 -31 -29 -26 -24 -23 -23 -23 -24 -25 -29 -31 -32 -31 -29 -26 -25 -24 -24 -24 -23 -23 -23 -25 -27 -28 -28 -28 -29 -30 -33 -37 -41 -47 -50 -51 -52 -53 -53 -54 -55 -55 -53 -50 -51 -55 -58 -56 -55 -58 -61 -63 -61 -62 -64 -66 -68 -67 -68 -67 -67 -69 -71 -69 -66 -62 -59 -54 -51 -50 -48 -41 -35 -33 -32 -31 -31 -34 -35 -34 -35 -34 -32 -29 -26 -24 -24 -23 -22 -23 -25 -26 -27 -27 -27 -27 -27 -27 -28 -28 -25 -24 -24 -25 -26 -28 -29 -27 -25 -25 -24 -24 -25 -27 -30 -31 -31 -30 -31 -35 -38 -38 -36 -33 -34 -36 -35 -34 -34 -33 -33 -33 -33 -33 -34 -34 -34 -34 -33 -33 -34 -34 -33 -32 -32 -31 -32 -31 -29 -29 -30 -31 -31 -33 -34 -35 -37 -39 -41 -42 -41 -40 -38 -35 -33 -31 -30 -30 -30 -30 -30 -29 -28 -28 -28 -27 -26 -26 -28 -28 -29 -30 -30 -30 -29 -27 -26 -24 -23 -21 -20 -20 -20 -18 -16 -16 -17 -17 -16 -14 -13 -14 -17 -20 -22 -24 -25 -25 -24 -24 -25 -26 -28 -30 -31 -32 -32 -31 -29 -28 -27 -26 -25 -26 -28 -30 -31 -33 -36 -32 -23 -13 -11 -10 -8 -7 -7 -8 -9 -10 -10 -10 -10 -10 -11 -10 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 1 1 0 -2 -3 -4 -6 -10 -17 -22 -24 -21 -16 -12 -10 -12 -16 -23 -28 -32 -33 -33 -30 -28 -28 -30 -32 -35 -39 -42 -40 -30 -21 -14 -12 -13 -16 -19 -21 -22 -22 -21 -21 -19 -16 -13 -9 -6 -4 -0 4 6 7 4 -1 -9 -16 -21 -23 -20 -13 -9 -10 -14 -18 -19 -19 -19 -22 -27 -29 -28 -25 -21 -18 -17 -17 -18 -18 -20 -19 -18 -18 -22 -27 -33 -36 -33 -23 -16 -11 -8 -4 0 2 -1 -6 -13 -18 -21 -22 -21 -21 -21 -21 -20 -18 -20 -24 -29 -33 -35 -32 -32 -32 -33 -34 -35 -36 -37 -37 -40 -42 -41 -37 -30 -25 -25 -25 -26 -28 -31 -35 -39 -43 -47 -51 -55 -59 -63 -64 -57 -45 -30 -16 -13 -13 -14 -14 -15 -17 -21 -25 -27 -27 -27 -27 -27 -26 -25 -25 -24 -23 -24 -26 -28 -29 -28 -27 -26 -25 -26 -27 -27 -27 -25 -24 -24 -26 -27 -28 -28 -29 -31 -33 -36 -40 -45 -49 -50 -51 -53 -54 -55 -58 -61 -60 -54 -53 -56 -60 -59 -56 -57 -59 -61 -60 -60 -61 -64 -67 -67 -68 -67 -67 -68 -70 -69 -65 -63 -64 -60 -56 -53 -52 -46 -41 -37 -35 -33 -31 -32 -33 -33 -34 -34 -33 -29 -26 -24 -24 -23 -22 -21 -23 -25 -26 -26 -26 -26 -27 -27 -27 -26 -26 -25 -25 -25 -27 -29 -30 -30 -28 -28 -26 -24 -24 -27 -31 -32 -32 -30 -30 -33 -35 -36 -34 -31 -33 -34 -33 -31 -32 -31 -31 -32 -32 -32 -32 -33 -34 -35 -34 -34 -34 -35 -34 -34 -33 -32 -31 -30 -29 -28 -29 -30 -30 -31 -33 -34 -36 -38 -40 -42 -42 -42 -40 -39 -37 -35 -33 -32 -31 -31 -30 -29 -28 -28 -27 -27 -26 -28 -29 -30 -31 -32 -32 -31 -29 -26 -24 -22 -20 -19 -19 -20 -19 -18 -15 -15 -16 -16 -15 -12 -11 -12 -14 -18 -22 -25 -26 -26 -24 -22 -22 -24 -26 -28 -29 -30 -29 -28 -27 -26 -25 -23 -21 -23 -26 -29 -32 -33 -31 -24 -17 -13 -12 -10 -8 -7 -8 -9 -9 -10 -11 -11 -11 -11 -11 -11 -10 -8 -8 -7 -7 -7 -6 -5 -4 -2 0 2 2 2 1 -1 -3 -4 -7 -12 -18 -22 -23 -20 -16 -13 -12 -14 -20 -25 -29 -32 -33 -32 -29 -28 -29 -32 -35 -38 -41 -44 -44 -36 -25 -18 -15 -16 -19 -21 -23 -24 -22 -19 -16 -14 -13 -12 -10 -8 -5 -1 3 6 8 7 4 -4 -12 -19 -22 -20 -13 -11 -13 -18 -22 -22 -20 -17 -17 -21 -23 -23 -20 -18 -17 -18 -19 -20 -20 -23 -24 -24 -22 -22 -25 -29 -32 -31 -24 -17 -12 -9 -5 -1 1 -0 -3 -8 -14 -20 -23 -24 -24 -23 -22 -19 -18 -20 -23 -27 -31 -33 -32 -32 -32 -34 -35 -36 -37 -37 -36 -37 -38 -40 -39 -35 -30 -28 -27 -28 -30 -33 -36 -39 -43 -47 -50 -55 -59 -62 -62 -57 -47 -32 -16 -11 -12 -13 -14 -15 -15 -16 -18 -21 -22 -24 -27 -28 -30 -29 -27 -25 -23 -23 -25 -26 -27 -27 -26 -26 -26 -27 -27 -28 -28 -27 -26 -24 -25 -27 -28 -29 -29 -31 -34 -37 -39 -43 -46 -48 -49 -51 -53 -56 -59 -61 -61 -57 -54 -54 -56 -58 -57 -56 -55 -56 -57 -56 -57 -60 -63 -65 -66 -66 -65 -66 -68 -66 -63 -60 -62 -61 -57 -54 -52 -49 -45 -42 -39 -37 -33 -31 -31 -32 -34 -34 -33 -30 -26 -24 -23 -22 -21 -22 -23 -23 -24 -24 -25 -26 -26 -27 -26 -26 -26 -26 -26 -25 -27 -28 -29 -31 -30 -29 -27 -25 -24 -26 -29 -30 -31 -30 -29 -30 -33 -34 -32 -30 -32 -33 -32 -31 -30 -30 -30 -31 -30 -30 -30 -32 -33 -35 -34 -34 -34 -35 -35 -35 -34 -33 -32 -30 -29 -28 -28 -29 -29 -30 -32 -34 -35 -36 -38 -40 -43 -44 -43 -41 -39 -38 -36 -35 -33 -33 -31 -29 -28 -29 -28 -26 -25 -30 -31 -32 -33 -33 -33 -31 -29 -25 -22 -19 -17 -17 -18 -19 -19 -18 -15 -14 -15 -15 -15 -12 -11 -11 -13 -17 -21 -25 -27 -27 -25 -22 -21 -21 -23 -26 -27 -27 -27 -26 -26 -26 -24 -21 -20 -22 -26 -29 -32 -33 -29 -23 -18 -15 -12 -9 -8 -8 -9 -10 -10 -11 -12 -12 -12 -11 -11 -11 -10 -9 -8 -8 -8 -8 -8 -8 -7 -5 -2 -1 1 1 0 -1 -2 -4 -6 -11 -17 -21 -22 -22 -17 -14 -15 -18 -23 -28 -31 -32 -32 -31 -30 -30 -31 -32 -33 -37 -42 -47 -48 -40 -30 -22 -19 -19 -21 -23 -23 -22 -18 -16 -15 -13 -12 -11 -10 -9 -7 -4 0 4 6 7 7 3 -4 -11 -16 -16 -13 -13 -17 -22 -26 -25 -22 -17 -14 -15 -17 -17 -15 -13 -15 -17 -20 -22 -25 -29 -31 -31 -27 -24 -24 -26 -27 -27 -21 -15 -11 -9 -6 -3 -1 -1 -2 -6 -11 -16 -21 -23 -24 -25 -24 -23 -21 -22 -25 -28 -31 -33 -32 -31 -32 -34 -36 -37 -37 -37 -35 -34 -36 -38 -40 -39 -35 -32 -29 -29 -31 -36 -39 -41 -44 -48 -51 -54 -57 -59 -58 -55 -47 -35 -19 -13 -13 -13 -13 -14 -15 -15 -15 -17 -21 -25 -28 -30 -32 -32 -29 -26 -24 -23 -25 -27 -27 -26 -25 -25 -26 -27 -28 -27 -28 -29 -30 -27 -27 -29 -31 -31 -31 -33 -35 -38 -40 -41 -43 -44 -46 -48 -51 -55 -58 -59 -59 -56 -54 -54 -54 -56 -57 -55 -53 -52 -51 -50 -52 -55 -58 -62 -64 -64 -62 -63 -64 -62 -59 -58 -59 -57 -55 -54 -52 -50 -47 -44 -41 -39 -35 -32 -31 -32 -33 -33 -33 -30 -27 -25 -23 -22 -21 -23 -23 -22 -21 -21 -24 -25 -26 -26 -26 -26 -27 -27 -26 -25 -26 -27 -28 -29 -30 -29 -28 -26 -25 -26 -27 -27 -27 -28 -28 -29 -31 -33 -30 -29 -30 -32 -32 -31 -31 -31 -30 -29 -28 -28 -28 -29 -31 -33 -34 -34 -34 -35 -35 -35 -35 -35 -33 -31 -30 -29 -29 -29 -29 -30 -31 -33 -33 -34 -36 -38 -42 -44 -44 -43 -40 -40 -39 -37 -34 -34 -32 -30 -29 -30 -29 -27 -26 -31 -33 -33 -34 -33 -33 -32 -29 -25 -21 -17 -15 -15 -15 -16 -16 -16 -14 -14 -14 -15 -15 -14 -13 -13 -15 -17 -19 -22 -23 -24 -23 -21 -19 -19 -20 -23 -25 -25 -25 -24 -24 -23 -22 -20 -20 -24 -27 -31 -33 -32 -27 -21 -17 -15 -11 -9 -9 -10 -10 -11 -11 -11 -11 -12 -12 -11 -11 -10 -10 -10 -10 -9 -9 -9 -9 -9 -9 -8 -5 -4 -3 -3 -3 -4 -5 -6 -6 -8 -13 -18 -22 -24 -21 -19 -19 -22 -25 -28 -30 -31 -31 -30 -31 -32 -34 -34 -33 -35 -39 -44 -46 -42 -33 -25 -21 -22 -23 -24 -23 -20 -17 -16 -15 -13 -10 -9 -8 -8 -7 -5 -3 -1 2 5 7 7 4 -0 -5 -9 -11 -14 -19 -24 -27 -27 -24 -18 -12 -10 -12 -14 -14 -14 -15 -17 -20 -24 -29 -35 -38 -37 -31 -26 -24 -24 -24 -22 -17 -12 -9 -8 -7 -5 -4 -3 -4 -6 -9 -13 -17 -21 -22 -24 -25 -26 -25 -25 -27 -30 -32 -33 -33 -32 -32 -33 -35 -37 -37 -36 -34 -32 -34 -37 -41 -42 -39 -36 -32 -30 -32 -36 -40 -44 -47 -50 -52 -53 -53 -52 -52 -51 -46 -37 -24 -17 -14 -14 -14 -14 -15 -16 -16 -16 -19 -23 -26 -29 -33 -34 -32 -28 -24 -22 -25 -26 -26 -25 -25 -25 -26 -28 -29 -27 -28 -30 -32 -30 -30 -32 -34 -33 -33 -34 -36 -39 -40 -40 -41 -42 -45 -46 -49 -54 -58 -59 -57 -53 -52 -53 -55 -55 -55 -55 -54 -52 -49 -48 -49 -53 -55 -59 -62 -62 -60 -60 -60 -58 -56 -57 -56 -54 -52 -52 -51 -49 -47 -44 -41 -38 -35 -33 -32 -31 -31 -31 -30 -29 -28 -26 -24 -22 -20 -21 -22 -21 -21 -20 -22 -25 -26 -26 -25 -27 -27 -26 -26 -25 -25 -25 -26 -26 -28 -29 -28 -27 -26 -27 -27 -25 -24 -25 -26 -27 -28 -31 -28 -27 -29 -32 -32 -31 -31 -30 -30 -28 -28 -28 -28 -28 -29 -30 -32 -33 -33 -34 -35 -36 -37 -37 -36 -33 -31 -30 -30 -30 -30 -29 -30 -31 -32 -32 -34 -36 -39 -42 -43 -42 -40 -41 -40 -38 -35 -34 -33 -31 -30 -30 -29 -28 -27 -32 -33 -33 -33 -33 -33 -32 -29 -25 -21 -16 -13 -12 -13 -13 -13 -13 -13 -13 -13 -13 -14 -15 -15 -15 -16 -18 -19 -20 -21 -21 -20 -18 -17 -17 -19 -21 -22 -23 -23 -23 -22 -20 -19 -19 -21 -24 -28 -31 -32 -29 -23 -19 -16 -15 -12 -13 -14 -13 -12 -11 -11 -11 -11 -11 -11 -11 -11 -12 -12 -12 -11 -10 -10 -9 -9 -10 -10 -10 -8 -7 -7 -8 -9 -10 -10 -10 -8 -7 -9 -14 -19 -23 -23 -23 -24 -26 -27 -27 -27 -29 -31 -32 -32 -35 -36 -36 -33 -33 -35 -39 -41 -39 -33 -27 -23 -23 -25 -25 -23 -19 -17 -16 -14 -12 -10 -8 -7 -7 -6 -5 -6 -6 -4 -1 2 5 6 5 2 -1 -5 -10 -16 -21 -24 -25 -22 -18 -13 -10 -10 -11 -13 -16 -18 -21 -24 -27 -31 -35 -38 -37 -32 -28 -25 -23 -21 -20 -16 -11 -8 -7 -7 -7 -7 -6 -6 -7 -9 -11 -15 -19 -20 -22 -24 -27 -28 -29 -31 -33 -33 -34 -35 -35 -34 -34 -35 -37 -37 -37 -35 -34 -35 -37 -40 -43 -43 -40 -36 -31 -31 -35 -40 -45 -49 -51 -52 -50 -48 -45 -44 -45 -44 -39 -30 -21 -16 -15 -15 -15 -15 -16 -17 -16 -17 -19 -22 -24 -28 -30 -29 -25 -21 -19 -22 -24 -25 -25 -26 -25 -27 -29 -29 -27 -27 -29 -31 -30 -31 -34 -36 -35 -33 -34 -35 -38 -40 -41 -41 -42 -44 -45 -48 -51 -55 -58 -56 -52 -50 -52 -55 -55 -55 -55 -55 -54 -51 -50 -51 -55 -57 -60 -63 -63 -61 -57 -56 -55 -55 -55 -53 -50 -49 -49 -49 -48 -47 -44 -41 -38 -35 -33 -32 -31 -31 -30 -29 -28 -29 -28 -26 -23 -20 -19 -20 -21 -23 -22 -24 -26 -26 -25 -25 -27 -27 -27 -26 -24 -24 -24 -23 -24 -26 -27 -27 -27 -26 -25 -25 -25 -24 -25 -24 -24 -26 -27 -26 -26 -29 -31 -31 -30 -30 -30 -29 -28 -27 -27 -27 -26 -27 -28 -30 -32 -33 -34 -34 -36 -37 -38 -37 -35 -32 -31 -30 -29 -29 -28 -29 -30 -30 -31 -32 -34 -37 -39 -40 -40 -40 -41 -41 -39 -35 -34 -33 -31 -30 -29 -29 -28 -27 -32 -32 -33 -33 -33 -33 -32 -29 -25 -20 -16 -12 -11 -12 -13 -12 -11 -10 -12 -12 -11 -11 -13 -13 -14 -16 -18 -19 -20 -21 -22 -20 -17 -16 -17 -19 -21 -23 -22 -21 -20 -19 -17 -17 -18 -20 -23 -26 -29 -29 -26 -20 -17 -15 -15 -15 -18 -20 -18 -14 -13 -13 -12 -12 -11 -11 -12 -13 -15 -15 -14 -13 -12 -11 -10 -10 -10 -11 -12 -11 -10 -10 -12 -14 -15 -15 -13 -11 -9 -9 -11 -16 -20 -22 -24 -27 -28 -28 -25 -25 -27 -31 -34 -35 -36 -37 -35 -32 -31 -31 -34 -36 -36 -31 -27 -25 -25 -27 -26 -23 -19 -17 -15 -14 -12 -10 -8 -7 -6 -6 -6 -7 -8 -9 -9 -7 -3 2 6 7 6 3 -3 -11 -17 -19 -21 -21 -20 -17 -14 -11 -11 -13 -18 -22 -24 -26 -28 -28 -28 -29 -31 -30 -30 -26 -23 -21 -21 -17 -12 -8 -6 -6 -8 -8 -7 -6 -8 -9 -11 -14 -17 -20 -21 -23 -26 -29 -32 -35 -37 -37 -35 -35 -36 -36 -35 -36 -37 -38 -38 -37 -36 -38 -40 -42 -44 -43 -41 -38 -34 -33 -35 -40 -45 -49 -50 -50 -47 -43 -39 -39 -40 -41 -41 -35 -26 -20 -17 -17 -17 -17 -17 -17 -17 -17 -17 -18 -20 -23 -24 -24 -22 -20 -18 -20 -23 -25 -26 -26 -26 -27 -28 -28 -27 -27 -27 -28 -28 -30 -34 -36 -35 -34 -34 -35 -36 -39 -42 -44 -45 -44 -44 -46 -48 -51 -55 -55 -52 -51 -52 -55 -55 -55 -55 -57 -56 -55 -53 -53 -55 -59 -63 -66 -67 -63 -55 -52 -52 -52 -51 -50 -48 -46 -47 -47 -47 -46 -44 -41 -38 -35 -33 -31 -30 -31 -31 -30 -29 -30 -30 -28 -25 -21 -18 -18 -20 -25 -26 -27 -28 -27 -25 -25 -26 -26 -26 -26 -24 -23 -22 -21 -23 -25 -26 -26 -26 -24 -23 -22 -23 -26 -26 -26 -25 -25 -25 -25 -26 -27 -29 -29 -30 -30 -29 -28 -28 -28 -27 -25 -25 -26 -27 -28 -31 -33 -33 -33 -35 -37 -37 -37 -36 -34 -32 -31 -30 -29 -27 -28 -28 -28 -29 -31 -32 -34 -36 -36 -38 -39 -41 -42 -40 -37 -34 -32 -30 -29 -29 -29 -28 -26 -30 -31 -32 -32 -33 -33 -32 -29 -25 -20 -16 -13 -12 -14 -15 -14 -13 -10 -11 -11 -11 -12 -14 -14 -16 -16 -17 -16 -17 -18 -18 -18 -18 -19 -19 -20 -23 -25 -24 -21 -19 -16 -15 -16 -17 -19 -20 -23 -25 -25 -22 -18 -16 -15 -16 -19 -23 -24 -22 -19 -17 -17 -16 -14 -12 -12 -14 -17 -19 -18 -15 -14 -13 -12 -12 -12 -12 -13 -14 -15 -15 -15 -15 -16 -16 -15 -14 -13 -13 -13 -13 -14 -17 -21 -24 -27 -29 -30 -26 -25 -27 -32 -36 -36 -37 -36 -34 -30 -28 -28 -31 -34 -33 -30 -27 -27 -29 -30 -28 -23 -18 -15 -14 -13 -12 -11 -9 -8 -7 -6 -6 -7 -9 -11 -14 -16 -14 -7 1 8 11 9 4 -4 -11 -14 -17 -18 -19 -19 -17 -14 -13 -15 -21 -24 -25 -24 -23 -22 -20 -21 -25 -32 -35 -32 -26 -21 -20 -17 -13 -8 -6 -6 -7 -7 -6 -5 -7 -8 -11 -13 -17 -19 -21 -23 -26 -29 -33 -38 -41 -41 -38 -36 -36 -36 -37 -36 -37 -37 -38 -38 -38 -39 -41 -43 -44 -43 -40 -37 -34 -34 -36 -39 -43 -47 -49 -49 -46 -42 -37 -36 -38 -40 -42 -39 -31 -24 -19 -19 -20 -19 -18 -17 -17 -17 -17 -17 -18 -20 -22 -22 -21 -20 -19 -19 -21 -23 -25 -26 -26 -27 -28 -27 -28 -29 -29 -28 -26 -29 -32 -35 -34 -35 -35 -36 -37 -39 -42 -44 -45 -45 -45 -45 -45 -46 -49 -51 -51 -51 -52 -54 -55 -55 -56 -56 -57 -57 -57 -55 -55 -59 -64 -69 -70 -66 -57 -53 -52 -51 -51 -50 -47 -45 -45 -45 -45 -45 -43 -40 -38 -36 -34 -32 -30 -31 -31 -32 -32 -32 -31 -30 -28 -24 -19 -17 -18 -24 -28 -29 -29 -28 -26 -25 -25 -25 -25 -25 -24 -23 -21 -21 -24 -25 -25 -25 -25 -23 -21 -21 -22 -26 -26 -27 -27 -26 -24 -24 -25 -26 -26 -27 -28 -28 -27 -27 -28 -28 -27 -25 -24 -25 -26 -28 -30 -31 -31 -31 -34 -36 -37 -36 -36 -35 -34 -33 -31 -30 -28 -27 -26 -27 -27 -28 -30 -31 -32 -33 -35 -38 -40 -41 -40 -37 -34 -32 -29 -28 -29 -28 -27 -26 -28 -29 -30 -31 -32 -31 -30 -27 -24 -20 -16 -15 -14 -15 -17 -16 -15 -11 -11 -11 -12 -14 -17 -18 -19 -18 -17 -16 -16 -15 -14 -15 -21 -23 -23 -20 -22 -24 -23 -21 -19 -17 -15 -15 -16 -18 -18 -19 -20 -20 -18 -16 -15 -15 -18 -23 -27 -27 -25 -23 -22 -23 -22 -19 -15 -16 -18 -22 -23 -20 -17 -15 -14 -13 -13 -14 -14 -15 -16 -18 -19 -20 -19 -16 -14 -13 -13 -12 -14 -16 -17 -16 -16 -19 -23 -26 -29 -30 -28 -27 -29 -33 -36 -37 -37 -35 -32 -28 -26 -27 -29 -33 -32 -28 -27 -29 -34 -36 -32 -25 -17 -12 -10 -10 -11 -11 -10 -9 -8 -8 -7 -7 -8 -11 -16 -21 -23 -19 -9 3 11 11 8 2 -4 -9 -13 -15 -17 -18 -17 -16 -16 -18 -22 -26 -25 -22 -17 -14 -13 -16 -23 -34 -41 -38 -31 -22 -18 -16 -13 -10 -7 -6 -6 -7 -6 -6 -8 -9 -12 -14 -17 -19 -21 -22 -25 -29 -34 -39 -43 -45 -41 -37 -35 -35 -36 -35 -35 -35 -36 -38 -39 -40 -41 -43 -44 -42 -38 -33 -31 -33 -35 -39 -43 -46 -49 -49 -48 -44 -40 -37 -37 -39 -43 -43 -38 -30 -22 -20 -22 -21 -19 -17 -17 -17 -17 -18 -18 -19 -20 -20 -20 -20 -20 -20 -21 -22 -23 -24 -25 -25 -26 -27 -30 -32 -31 -28 -26 -27 -29 -32 -35 -37 -39 -39 -38 -38 -40 -42 -44 -45 -45 -45 -45 -45 -47 -49 -50 -50 -50 -52 -54 -54 -55 -55 -56 -58 -59 -58 -56 -59 -64 -68 -70 -66 -60 -56 -54 -53 -54 -52 -49 -45 -44 -43 -43 -42 -41 -39 -39 -38 -38 -35 -31 -30 -31 -32 -34 -34 -32 -31 -31 -27 -22 -18 -16 -19 -25 -28 -29 -29 -27 -25 -24 -24 -24 -24 -24 -23 -22 -22 -23 -24 -24 -24 -25 -23 -21 -21 -21 -25 -25 -26 -27 -27 -24 -24 -24 -25 -26 -26 -27 -27 -26 -27 -28 -28 -28 -26 -25 -25 -25 -26 -28 -28 -29 -30 -32 -34 -36 -37 -36 -36 -36 -34 -33 -32 -29 -27 -26 -26 -27 -27 -28 -29 -30 -31 -33 -36 -39 -40 -40 -37 -35 -33 -30 -29 -29 -29 -27 -26 -27 -28 -29 -29 -30 -29 -28 -25 -23 -20 -18 -16 -15 -15 -16 -17 -16 -13 -12 -11 -12 -14 -19 -22 -22 -21 -20 -19 -17 -14 -12 -15 -22 -26 -24 -21 -20 -21 -19 -18 -18 -18 -16 -15 -15 -17 -20 -19 -18 -16 -15 -14 -15 -16 -19 -25 -30 -31 -30 -29 -28 -26 -25 -23 -21 -21 -21 -22 -22 -20 -18 -16 -16 -15 -16 -16 -16 -16 -17 -19 -21 -22 -20 -16 -11 -9 -11 -14 -18 -22 -21 -20 -18 -20 -24 -26 -28 -30 -29 -30 -32 -34 -36 -37 -36 -33 -29 -26 -25 -26 -29 -31 -29 -25 -24 -28 -38 -44 -40 -30 -18 -10 -7 -7 -8 -10 -10 -10 -11 -10 -8 -7 -7 -9 -14 -21 -27 -27 -21 -8 5 9 8 5 1 -5 -9 -11 -13 -15 -16 -17 -17 -18 -22 -27 -28 -24 -16 -10 -8 -11 -19 -30 -38 -38 -32 -24 -17 -13 -11 -10 -8 -7 -6 -6 -5 -5 -7 -9 -12 -14 -17 -21 -23 -25 -27 -31 -35 -39 -44 -47 -45 -40 -35 -33 -34 -34 -33 -33 -34 -36 -38 -39 -40 -42 -42 -40 -36 -32 -30 -32 -35 -39 -42 -46 -48 -49 -48 -46 -43 -40 -39 -40 -44 -45 -39 -31 -23 -20 -21 -21 -21 -19 -17 -17 -18 -19 -19 -19 -19 -18 -19 -20 -20 -21 -21 -21 -21 -22 -23 -24 -25 -27 -31 -34 -34 -30 -28 -28 -29 -32 -36 -39 -42 -42 -40 -37 -37 -39 -42 -44 -45 -45 -46 -47 -47 -49 -49 -50 -50 -51 -52 -53 -54 -55 -55 -57 -59 -60 -60 -60 -64 -68 -69 -65 -61 -58 -57 -55 -55 -54 -52 -48 -44 -42 -41 -41 -40 -38 -39 -40 -41 -39 -34 -31 -31 -31 -32 -33 -33 -33 -33 -30 -26 -22 -17 -15 -21 -25 -28 -29 -28 -26 -24 -22 -22 -23 -23 -23 -22 -23 -23 -23 -23 -23 -24 -24 -23 -22 -21 -24 -25 -26 -27 -26 -24 -23 -23 -24 -24 -26 -26 -26 -25 -26 -27 -27 -27 -27 -25 -24 -23 -24 -26 -26 -27 -28 -30 -33 -36 -37 -36 -37 -37 -36 -34 -33 -30 -28 -26 -25 -26 -26 -27 -28 -29 -30 -31 -34 -37 -39 -39 -38 -36 -34 -31 -30 -30 -29 -27 -25 -25 -27 -28 -28 -28 -27 -26 -24 -22 -20 -18 -16 -14 -14 -15 -16 -17 -15 -13 -12 -12 -13 -18 -22 -23 -24 -24 -22 -17 -14 -13 -17 -22 -23 -23 -23 -23 -21 -17 -15 -15 -16 -14 -13 -14 -18 -24 -24 -20 -15 -12 -12 -14 -16 -20 -26 -31 -33 -33 -32 -30 -28 -27 -26 -26 -25 -24 -22 -21 -20 -18 -17 -16 -16 -17 -18 -18 -19 -20 -20 -19 -18 -16 -13 -9 -7 -8 -13 -20 -25 -26 -24 -22 -23 -26 -28 -29 -30 -30 -31 -33 -36 -38 -38 -35 -31 -27 -23 -23 -25 -27 -29 -28 -25 -24 -28 -38 -47 -48 -39 -24 -10 -5 -5 -6 -6 -8 -9 -10 -10 -9 -7 -6 -7 -11 -18 -26 -30 -28 -18 -4 3 5 4 3 -1 -5 -8 -11 -13 -15 -16 -17 -17 -21 -27 -30 -28 -21 -10 -6 -8 -15 -24 -30 -32 -29 -24 -18 -12 -10 -9 -9 -7 -6 -4 -3 -2 -5 -8 -11 -15 -19 -24 -27 -29 -30 -32 -36 -41 -45 -49 -48 -44 -38 -34 -32 -32 -31 -30 -31 -34 -37 -38 -39 -40 -40 -38 -36 -33 -31 -32 -35 -38 -42 -46 -48 -49 -48 -48 -49 -48 -46 -44 -44 -42 -36 -28 -23 -23 -23 -23 -22 -21 -19 -18 -18 -19 -22 -22 -20 -19 -19 -20 -20 -20 -21 -20 -20 -21 -22 -22 -21 -22 -27 -32 -35 -34 -33 -32 -33 -35 -38 -40 -42 -43 -42 -39 -38 -38 -40 -42 -43 -44 -46 -48 -48 -48 -49 -50 -51 -51 -51 -51 -53 -56 -56 -57 -59 -61 -61 -62 -66 -69 -69 -64 -60 -59 -59 -57 -56 -57 -56 -53 -46 -42 -40 -40 -41 -38 -39 -41 -43 -43 -38 -35 -33 -33 -31 -32 -34 -35 -34 -32 -29 -25 -19 -15 -19 -23 -26 -29 -28 -27 -25 -22 -22 -23 -23 -23 -22 -24 -23 -23 -23 -23 -24 -25 -25 -23 -22 -23 -25 -26 -27 -25 -24 -23 -23 -23 -22 -24 -25 -25 -24 -24 -25 -26 -26 -25 -25 -23 -22 -21 -23 -24 -25 -27 -29 -32 -35 -36 -36 -38 -38 -36 -35 -34 -32 -29 -27 -26 -25 -26 -27 -28 -28 -30 -31 -32 -34 -37 -38 -38 -37 -35 -32 -31 -31 -30 -28 -26 -24 -26 -27 -28 -28 -27 -25 -22 -21 -19 -17 -15 -14 -14 -15 -16 -16 -16 -15 -13 -11 -12 -16 -19 -22 -24 -25 -22 -16 -13 -14 -18 -19 -20 -21 -23 -23 -20 -15 -12 -12 -15 -13 -12 -14 -19 -24 -22 -18 -13 -10 -11 -13 -16 -20 -25 -29 -31 -32 -32 -30 -28 -27 -27 -27 -27 -26 -25 -22 -20 -19 -18 -18 -18 -20 -21 -21 -22 -24 -24 -22 -19 -14 -11 -9 -9 -10 -13 -18 -22 -23 -23 -23 -25 -27 -29 -30 -31 -31 -32 -35 -39 -42 -39 -33 -26 -22 -21 -21 -23 -25 -28 -28 -27 -27 -31 -39 -47 -51 -46 -31 -12 -4 -3 -4 -5 -6 -7 -9 -9 -9 -7 -5 -5 -8 -14 -22 -27 -28 -21 -11 -4 -1 -0 -0 -1 -3 -6 -9 -11 -13 -15 -15 -16 -19 -24 -29 -31 -26 -15 -9 -7 -11 -18 -23 -24 -23 -22 -19 -14 -10 -8 -8 -7 -6 -4 -2 -0 -2 -6 -11 -15 -20 -26 -30 -32 -33 -35 -38 -41 -45 -49 -49 -47 -42 -36 -31 -28 -28 -28 -30 -33 -35 -36 -38 -38 -37 -36 -35 -35 -34 -34 -36 -38 -42 -45 -48 -47 -46 -47 -53 -56 -54 -47 -42 -39 -33 -27 -23 -25 -25 -23 -22 -21 -20 -19 -20 -21 -23 -24 -23 -22 -20 -19 -18 -19 -20 -21 -21 -21 -21 -21 -19 -20 -24 -28 -32 -36 -37 -37 -36 -36 -37 -39 -42 -45 -47 -46 -44 -41 -40 -41 -42 -43 -46 -48 -47 -47 -48 -50 -52 -53 -52 -52 -54 -57 -57 -58 -59 -60 -61 -64 -67 -69 -67 -64 -61 -60 -60 -59 -58 -59 -59 -56 -50 -45 -42 -40 -40 -38 -38 -39 -41 -44 -42 -40 -38 -37 -33 -32 -34 -36 -35 -33 -30 -26 -20 -15 -17 -21 -24 -28 -28 -27 -26 -24 -22 -23 -24 -24 -23 -23 -23 -23 -23 -23 -24 -25 -26 -25 -24 -23 -24 -26 -26 -25 -24 -24 -23 -22 -20 -21 -23 -24 -23 -24 -25 -25 -25 -25 -24 -23 -21 -20 -21 -22 -23 -25 -27 -31 -34 -36 -37 -38 -37 -36 -35 -34 -33 -31 -28 -26 -25 -25 -26 -27 -27 -29 -31 -32 -32 -35 -37 -38 -38 -35 -32 -31 -31 -30 -29 -27 -23 -25 -27 -28 -28 -26 -24 -21 -19 -18 -15 -14 -14 -17 -18 -18 -17 -16 -15 -13 -12 -13 -15 -17 -18 -20 -20 -17 -13 -13 -15 -16 -16 -16 -19 -21 -20 -17 -15 -14 -13 -13 -11 -11 -15 -21 -25 -21 -16 -11 -10 -12 -16 -19 -21 -24 -27 -29 -31 -31 -30 -28 -27 -27 -27 -28 -27 -26 -23 -20 -19 -18 -19 -21 -22 -24 -25 -26 -28 -29 -28 -24 -19 -14 -12 -13 -15 -17 -18 -21 -22 -22 -24 -25 -26 -28 -30 -31 -33 -34 -37 -42 -47 -41 -30 -20 -16 -17 -18 -21 -24 -27 -28 -29 -31 -36 -42 -47 -50 -48 -36 -16 -5 -2 -2 -3 -4 -5 -7 -8 -7 -6 -5 -4 -5 -9 -15 -19 -21 -18 -14 -10 -7 -5 -4 -4 -5 -6 -8 -10 -12 -14 -15 -16 -17 -21 -26 -30 -30 -22 -14 -10 -11 -14 -18 -19 -18 -17 -16 -13 -10 -8 -8 -8 -7 -5 -3 -1 -1 -4 -9 -15 -21 -27 -31 -33 -35 -37 -39 -42 -45 -48 -50 -49 -46 -39 -32 -27 -26 -26 -29 -31 -33 -34 -35 -35 -34 -33 -33 -35 -36 -37 -38 -39 -42 -45 -46 -46 -45 -47 -55 -59 -55 -45 -37 -33 -29 -23 -20 -21 -23 -23 -22 -21 -21 -21 -21 -22 -24 -24 -23 -22 -20 -18 -18 -18 -20 -21 -21 -22 -22 -21 -20 -21 -23 -26 -28 -33 -36 -38 -39 -39 -40 -42 -45 -48 -50 -50 -49 -46 -44 -43 -43 -43 -44 -46 -47 -48 -49 -51 -54 -55 -55 -54 -56 -58 -58 -59 -59 -60 -62 -64 -67 -68 -65 -65 -63 -61 -59 -59 -59 -60 -60 -58 -53 -49 -45 -42 -40 -38 -37 -37 -39 -42 -43 -42 -41 -40 -36 -34 -35 -37 -35 -33 -31 -28 -22 -17 -15 -16 -19 -24 -27 -27 -27 -25 -23 -23 -24 -25 -24 -23 -23 -23 -22 -22 -23 -25 -25 -25 -24 -24 -24 -25 -24 -24 -25 -25 -24 -21 -19 -20 -21 -22 -22 -23 -24 -24 -24 -24 -24 -23 -21 -19 -19 -19 -21 -23 -26 -29 -32 -35 -38 -37 -36 -36 -36 -35 -34 -33 -30 -27 -26 -25 -25 -26 -26 -29 -31 -32 -32 -33 -36 -38 -38 -36 -31 -30 -30 -30 -29 -26 -22 -25 -28 -28 -27 -25 -23 -21 -19 -17 -15 -15 -16 -19 -19 -18 -17 -16 -14 -13 -13 -14 -16 -17 -17 -17 -17 -15 -12 -13 -14 -14 -13 -14 -16 -18 -17 -14 -14 -14 -13 -11 -9 -11 -16 -23 -24 -18 -13 -10 -11 -13 -16 -18 -21 -22 -25 -28 -30 -31 -29 -27 -26 -26 -27 -28 -28 -26 -23 -20 -19 -19 -20 -22 -23 -25 -26 -28 -30 -31 -31 -29 -25 -21 -17 -17 -18 -20 -21 -22 -23 -23 -24 -23 -23 -25 -28 -31 -33 -35 -38 -43 -50 -44 -31 -18 -12 -13 -15 -19 -24 -27 -27 -30 -34 -39 -44 -46 -47 -44 -36 -19 -8 -3 -2 -2 -3 -3 -5 -7 -7 -7 -6 -5 -4 -6 -9 -11 -13 -12 -13 -12 -10 -7 -5 -5 -6 -7 -9 -10 -11 -14 -16 -18 -18 -20 -23 -25 -26 -23 -18 -14 -11 -12 -14 -15 -15 -14 -13 -11 -9 -8 -8 -8 -8 -8 -7 -4 -2 -3 -7 -13 -20 -25 -29 -33 -35 -37 -39 -42 -45 -47 -49 -47 -43 -37 -30 -25 -22 -23 -27 -31 -32 -33 -32 -32 -31 -30 -30 -32 -35 -37 -40 -42 -44 -45 -46 -46 -47 -50 -53 -54 -51 -43 -33 -28 -22 -19 -19 -19 -19 -20 -22 -21 -21 -22 -23 -25 -26 -26 -25 -24 -22 -20 -20 -20 -21 -20 -22 -23 -23 -22 -22 -22 -23 -24 -25 -28 -33 -37 -40 -42 -44 -46 -48 -49 -52 -53 -53 -51 -48 -46 -45 -45 -45 -45 -47 -49 -51 -53 -56 -57 -57 -56 -55 -57 -58 -59 -60 -61 -62 -63 -65 -67 -66 -65 -64 -61 -59 -58 -60 -61 -61 -59 -55 -51 -47 -44 -40 -38 -37 -37 -38 -41 -41 -41 -40 -39 -37 -36 -36 -37 -35 -33 -32 -29 -25 -20 -15 -12 -13 -20 -25 -29 -30 -28 -25 -24 -24 -25 -25 -23 -23 -22 -21 -21 -23 -24 -25 -25 -24 -23 -24 -24 -24 -25 -25 -25 -24 -21 -19 -20 -21 -21 -21 -23 -24 -23 -23 -23 -23 -23 -22 -19 -18 -18 -19 -22 -25 -28 -31 -34 -37 -37 -37 -36 -36 -35 -35 -35 -33 -29 -27 -25 -24 -25 -26 -28 -31 -33 -32 -32 -35 -37 -38 -37 -32 -30 -30 -29 -28 -26 -22 -25 -27 -28 -27 -25 -23 -22 -20 -19 -17 -17 -18 -21 -21 -19 -17 -15 -14 -14 -15 -17 -19 -20 -19 -17 -15 -14 -12 -12 -12 -12 -12 -13 -14 -15 -14 -13 -14 -14 -13 -9 -8 -12 -18 -23 -21 -16 -12 -11 -11 -11 -14 -17 -20 -21 -25 -28 -30 -30 -29 -27 -26 -27 -28 -28 -27 -25 -22 -19 -19 -20 -21 -22 -23 -24 -25 -27 -27 -27 -28 -28 -28 -25 -21 -20 -20 -22 -24 -26 -27 -28 -26 -21 -19 -20 -25 -29 -32 -34 -37 -41 -48 -45 -35 -23 -15 -13 -14 -18 -23 -27 -28 -31 -35 -40 -43 -43 -42 -39 -34 -22 -12 -5 -3 -3 -3 -3 -4 -6 -7 -8 -8 -7 -6 -6 -7 -7 -7 -7 -9 -10 -10 -8 -6 -5 -6 -7 -9 -10 -12 -14 -17 -18 -18 -19 -21 -22 -23 -23 -21 -17 -13 -12 -13 -14 -15 -15 -13 -11 -9 -8 -7 -8 -9 -10 -10 -8 -4 -3 -4 -9 -15 -21 -26 -30 -33 -35 -38 -41 -44 -46 -46 -43 -38 -32 -27 -22 -20 -20 -24 -28 -31 -32 -30 -28 -27 -27 -28 -30 -33 -36 -40 -44 -48 -48 -49 -50 -53 -55 -51 -49 -46 -43 -33 -24 -19 -17 -19 -18 -18 -19 -21 -21 -21 -22 -23 -26 -28 -27 -26 -25 -24 -24 -24 -22 -20 -17 -20 -22 -22 -22 -22 -21 -21 -22 -22 -24 -29 -34 -39 -43 -46 -49 -51 -52 -54 -57 -58 -57 -54 -50 -48 -46 -46 -46 -49 -50 -52 -55 -56 -57 -57 -55 -54 -55 -56 -58 -59 -60 -60 -60 -62 -65 -65 -65 -63 -61 -59 -59 -60 -61 -61 -59 -56 -53 -50 -45 -42 -39 -37 -37 -39 -41 -42 -40 -39 -38 -37 -37 -37 -36 -34 -33 -31 -29 -26 -23 -17 -12 -11 -17 -23 -29 -33 -31 -27 -25 -25 -26 -25 -24 -23 -22 -21 -21 -23 -24 -25 -25 -24 -23 -23 -24 -24 -25 -25 -24 -23 -22 -21 -20 -21 -21 -21 -22 -23 -22 -21 -21 -22 -22 -22 -19 -18 -17 -18 -19 -23 -26 -29 -32 -35 -36 -36 -36 -36 -35 -35 -35 -34 -31 -28 -26 -25 -25 -25 -27 -29 -31 -31 -31 -33 -36 -37 -36 -33 -30 -29 -29 -27 -26 -22 -24 -26 -27 -26 -24 -24 -23 -22 -21 -19 -18 -18 -20 -21 -20 -17 -14 -13 -14 -18 -21 -23 -21 -19 -17 -15 -13 -12 -11 -11 -12 -13 -14 -14 -14 -14 -14 -14 -14 -12 -8 -9 -13 -19 -22 -20 -16 -13 -11 -8 -8 -12 -16 -19 -20 -24 -27 -29 -30 -28 -27 -26 -27 -28 -28 -26 -24 -21 -19 -20 -20 -22 -22 -23 -24 -24 -24 -24 -24 -24 -24 -24 -24 -23 -22 -22 -23 -26 -29 -32 -33 -30 -22 -16 -16 -20 -27 -30 -32 -32 -34 -40 -44 -40 -32 -25 -20 -17 -19 -24 -29 -31 -33 -36 -39 -41 -40 -38 -35 -31 -24 -16 -10 -6 -5 -4 -4 -4 -4 -6 -8 -9 -10 -10 -9 -9 -7 -5 -4 -5 -7 -7 -7 -6 -5 -5 -7 -8 -10 -12 -14 -16 -17 -17 -18 -19 -21 -23 -23 -22 -20 -16 -12 -12 -12 -13 -14 -14 -12 -11 -10 -8 -8 -9 -10 -12 -11 -8 -6 -5 -6 -10 -16 -21 -25 -28 -30 -34 -38 -42 -44 -43 -39 -33 -27 -25 -22 -19 -18 -20 -24 -28 -29 -27 -25 -24 -25 -27 -29 -32 -36 -40 -44 -48 -50 -53 -56 -58 -55 -48 -42 -40 -40 -33 -26 -21 -19 -18 -17 -17 -18 -19 -21 -21 -22 -23 -25 -26 -26 -26 -26 -27 -26 -25 -22 -18 -17 -20 -21 -21 -21 -21 -21 -21 -21 -21 -21 -25 -31 -36 -40 -45 -49 -52 -54 -57 -61 -63 -63 -61 -57 -52 -49 -47 -47 -48 -50 -52 -55 -56 -57 -57 -54 -52 -53 -54 -55 -57 -58 -58 -58 -59 -62 -64 -64 -63 -62 -60 -59 -58 -57 -58 -58 -57 -55 -52 -47 -43 -40 -38 -38 -39 -41 -42 -41 -39 -39 -39 -37 -35 -33 -32 -31 -30 -27 -25 -24 -21 -16 -14 -15 -21 -28 -33 -32 -29 -27 -26 -26 -25 -24 -24 -24 -23 -24 -24 -25 -26 -26 -25 -24 -23 -25 -24 -24 -24 -24 -23 -23 -22 -21 -21 -21 -21 -21 -22 -21 -19 -19 -20 -21 -21 -19 -18 -17 -17 -18 -21 -24 -27 -30 -32 -34 -35 -35 -34 -34 -34 -33 -33 -31 -29 -28 -27 -25 -25 -25 -27 -29 -29 -30 -32 -34 -35 -34 -32 -30 -29 -28 -27 -27 -21 -24 -26 -26 -25 -24 -24 -23 -23 -22 -21 -20 -19 -20 -22 -20 -16 -12 -11 -15 -20 -24 -25 -21 -18 -16 -15 -12 -11 -11 -12 -14 -15 -16 -16 -16 -15 -15 -15 -14 -11 -9 -11 -15 -20 -22 -21 -18 -15 -11 -5 -4 -10 -15 -18 -19 -24 -27 -28 -29 -28 -27 -27 -27 -27 -26 -25 -23 -21 -20 -20 -20 -21 -22 -23 -23 -23 -23 -23 -23 -22 -22 -23 -23 -23 -23 -24 -24 -25 -27 -31 -35 -36 -26 -17 -14 -17 -24 -28 -29 -28 -28 -30 -35 -39 -39 -35 -28 -23 -23 -27 -33 -36 -35 -35 -35 -38 -37 -34 -30 -27 -24 -19 -14 -10 -8 -7 -5 -4 -4 -4 -6 -9 -11 -13 -13 -11 -8 -5 -3 -4 -4 -5 -6 -6 -5 -5 -6 -8 -9 -11 -13 -15 -15 -15 -16 -18 -21 -23 -23 -23 -21 -18 -14 -11 -10 -11 -12 -12 -12 -12 -11 -10 -9 -9 -10 -11 -12 -12 -11 -10 -10 -13 -15 -18 -20 -22 -25 -29 -33 -37 -40 -40 -36 -31 -25 -25 -23 -21 -18 -18 -21 -24 -25 -23 -21 -22 -24 -26 -29 -33 -37 -41 -44 -47 -54 -59 -60 -55 -48 -41 -38 -38 -39 -34 -28 -23 -19 -16 -15 -15 -15 -16 -19 -21 -23 -24 -25 -24 -24 -25 -28 -29 -27 -24 -22 -18 -20 -21 -22 -22 -22 -21 -21 -21 -21 -21 -22 -25 -29 -33 -37 -42 -47 -50 -54 -58 -62 -65 -66 -66 -63 -59 -54 -49 -48 -49 -50 -52 -55 -58 -60 -59 -55 -52 -51 -51 -52 -53 -54 -55 -56 -58 -60 -61 -62 -63 -63 -60 -59 -57 -55 -55 -54 -54 -54 -53 -48 -45 -42 -39 -38 -38 -40 -42 -42 -40 -40 -39 -36 -33 -32 -31 -30 -29 -27 -25 -25 -24 -21 -19 -16 -20 -25 -30 -31 -31 -30 -29 -26 -26 -26 -27 -27 -27 -26 -26 -26 -27 -27 -27 -26 -25 -25 -25 -24 -24 -23 -22 -22 -22 -22 -21 -22 -21 -21 -21 -19 -18 -18 -19 -20 -20 -19 -18 -17 -16 -17 -19 -22 -25 -27 -29 -31 -32 -32 -32 -32 -32 -32 -32 -30 -30 -30 -29 -26 -25 -24 -25 -27 -28 -29 -31 -32 -33 -32 -31 -29 -29 -28 -27 -27 -21 -24 -26 -27 -27 -26 -25 -23 -22 -21 -20 -20 -19 -19 -19 -17 -13 -10 -10 -14 -19 -23 -24 -20 -17 -15 -14 -13 -11 -12 -14 -17 -18 -19 -20 -19 -18 -16 -15 -14 -12 -10 -13 -18 -22 -24 -24 -22 -16 -8 -2 -4 -9 -13 -15 -18 -23 -26 -28 -28 -28 -27 -27 -27 -27 -25 -23 -22 -21 -20 -19 -20 -20 -22 -24 -24 -23 -22 -22 -23 -23 -23 -23 -22 -23 -24 -25 -25 -23 -23 -27 -33 -35 -27 -18 -14 -17 -23 -26 -27 -27 -26 -25 -28 -32 -36 -38 -33 -29 -28 -31 -37 -40 -37 -33 -30 -33 -33 -30 -26 -24 -23 -20 -17 -14 -11 -8 -6 -5 -4 -3 -4 -7 -10 -12 -13 -11 -8 -6 -4 -4 -4 -4 -5 -6 -5 -5 -6 -7 -8 -9 -11 -13 -14 -14 -15 -17 -20 -22 -23 -23 -22 -20 -16 -13 -11 -10 -10 -10 -11 -12 -12 -11 -10 -10 -10 -12 -13 -15 -15 -15 -14 -14 -15 -16 -17 -18 -21 -24 -28 -32 -35 -35 -34 -30 -27 -26 -25 -23 -21 -20 -19 -20 -20 -19 -19 -20 -23 -26 -30 -33 -37 -41 -45 -48 -55 -59 -57 -48 -39 -36 -36 -38 -39 -36 -31 -25 -19 -17 -16 -14 -13 -14 -17 -20 -23 -24 -25 -24 -24 -26 -29 -31 -26 -23 -20 -18 -20 -22 -22 -22 -22 -21 -21 -22 -23 -23 -23 -24 -26 -27 -32 -38 -43 -46 -49 -55 -61 -65 -67 -68 -67 -64 -59 -54 -52 -51 -52 -53 -55 -59 -62 -62 -58 -53 -50 -48 -48 -47 -48 -51 -54 -57 -59 -59 -61 -63 -63 -61 -59 -57 -54 -51 -51 -52 -53 -52 -49 -47 -44 -41 -39 -38 -39 -41 -42 -39 -38 -36 -34 -31 -31 -30 -29 -28 -27 -24 -23 -23 -23 -20 -18 -19 -23 -26 -30 -32 -33 -31 -28 -28 -29 -29 -30 -29 -28 -28 -27 -27 -27 -28 -27 -27 -26 -26 -25 -24 -22 -21 -21 -21 -21 -22 -22 -21 -20 -20 -19 -18 -18 -18 -19 -19 -18 -18 -17 -16 -16 -18 -20 -23 -24 -27 -29 -29 -29 -30 -30 -31 -30 -30 -29 -29 -30 -30 -27 -26 -25 -26 -26 -27 -29 -30 -30 -31 -31 -30 -29 -28 -28 -27 -27 -23 -26 -28 -29 -29 -27 -24 -22 -19 -17 -17 -18 -18 -17 -14 -12 -9 -7 -8 -12 -16 -20 -21 -20 -17 -15 -15 -15 -14 -15 -17 -19 -20 -22 -23 -23 -21 -18 -17 -15 -14 -13 -16 -20 -24 -26 -27 -24 -15 -5 1 -5 -10 -13 -15 -18 -22 -25 -27 -28 -28 -28 -28 -27 -26 -24 -23 -21 -21 -20 -19 -19 -20 -22 -23 -24 -23 -22 -22 -23 -24 -24 -24 -24 -24 -26 -27 -26 -23 -23 -25 -29 -31 -24 -17 -15 -17 -22 -25 -26 -27 -27 -26 -27 -29 -31 -32 -31 -31 -32 -35 -38 -40 -36 -31 -26 -28 -30 -28 -25 -21 -21 -20 -18 -15 -12 -9 -7 -6 -5 -4 -5 -6 -8 -10 -10 -10 -8 -6 -5 -6 -6 -5 -5 -5 -5 -6 -7 -8 -8 -8 -10 -11 -13 -13 -14 -16 -19 -22 -24 -23 -21 -19 -18 -16 -14 -11 -10 -10 -10 -11 -12 -12 -12 -12 -12 -13 -14 -17 -18 -18 -16 -16 -16 -16 -17 -18 -19 -22 -24 -27 -30 -31 -30 -28 -26 -26 -28 -28 -27 -24 -20 -17 -16 -16 -17 -20 -22 -25 -29 -33 -38 -42 -46 -50 -55 -56 -53 -43 -35 -33 -36 -39 -40 -38 -33 -27 -22 -19 -18 -17 -16 -16 -17 -19 -21 -24 -26 -25 -25 -27 -30 -30 -26 -22 -21 -20 -22 -23 -23 -22 -22 -21 -21 -22 -23 -24 -24 -24 -25 -26 -29 -34 -37 -40 -44 -49 -56 -62 -65 -67 -68 -67 -64 -60 -57 -56 -55 -55 -56 -60 -63 -64 -62 -56 -49 -44 -41 -40 -42 -47 -52 -57 -58 -58 -60 -62 -63 -62 -60 -57 -54 -51 -51 -51 -52 -51 -50 -49 -46 -44 -42 -40 -39 -40 -41 -36 -34 -33 -32 -31 -30 -28 -27 -27 -26 -23 -21 -20 -20 -19 -19 -20 -21 -24 -29 -33 -33 -32 -30 -30 -30 -31 -31 -31 -30 -29 -28 -27 -28 -28 -28 -27 -26 -26 -26 -24 -22 -22 -21 -20 -20 -21 -21 -20 -20 -20 -19 -18 -18 -17 -18 -18 -17 -17 -17 -17 -16 -17 -19 -21 -21 -23 -25 -26 -27 -27 -28 -29 -29 -29 -28 -28 -29 -31 -30 -28 -27 -27 -27 -28 -30 -31 -29 -30 -30 -30 -28 -28 -28 -28 -28 -24 -28 -30 -30 -29 -26 -22 -18 -15 -13 -14 -16 -17 -15 -10 -6 -4 -4 -6 -10 -14 -17 -18 -18 -18 -17 -16 -18 -18 -18 -18 -19 -20 -22 -24 -24 -23 -20 -19 -18 -17 -16 -18 -21 -24 -25 -26 -21 -12 -3 -1 -7 -11 -14 -16 -18 -22 -24 -26 -27 -28 -28 -28 -27 -25 -24 -22 -21 -20 -20 -20 -20 -22 -23 -23 -22 -22 -22 -22 -24 -25 -27 -28 -27 -26 -27 -27 -27 -26 -25 -26 -26 -25 -19 -14 -14 -17 -21 -24 -25 -25 -26 -26 -27 -28 -29 -29 -30 -32 -34 -37 -39 -38 -33 -28 -25 -26 -28 -27 -24 -20 -19 -19 -18 -16 -13 -9 -6 -5 -6 -7 -7 -7 -8 -7 -8 -9 -9 -6 -5 -6 -6 -7 -7 -6 -6 -7 -8 -8 -8 -8 -9 -10 -11 -12 -13 -14 -18 -22 -24 -23 -21 -17 -17 -17 -16 -14 -11 -10 -10 -11 -12 -13 -13 -14 -14 -15 -16 -18 -19 -19 -19 -18 -18 -17 -16 -17 -20 -22 -24 -25 -26 -28 -28 -28 -27 -28 -30 -32 -32 -30 -24 -19 -16 -15 -17 -20 -22 -25 -29 -33 -38 -42 -46 -50 -53 -54 -51 -44 -37 -35 -37 -40 -41 -38 -33 -27 -23 -21 -19 -17 -16 -15 -14 -16 -18 -20 -22 -23 -25 -27 -29 -28 -25 -23 -24 -26 -25 -25 -24 -23 -22 -21 -21 -21 -21 -23 -23 -24 -25 -26 -28 -30 -33 -36 -41 -47 -53 -60 -64 -66 -68 -68 -68 -66 -63 -61 -59 -58 -59 -61 -64 -65 -64 -58 -50 -43 -38 -36 -38 -42 -47 -53 -55 -56 -57 -61 -63 -63 -61 -58 -55 -53 -53 -52 -51 -51 -51 -51 -50 -48 -47 -45 -42 -40 -39 -35 -33 -32 -31 -30 -29 -27 -25 -25 -26 -23 -21 -19 -19 -19 -19 -19 -20 -22 -27 -30 -31 -32 -31 -30 -30 -31 -31 -31 -31 -29 -28 -27 -27 -28 -28 -27 -27 -27 -27 -26 -25 -23 -22 -20 -20 -20 -21 -21 -20 -20 -20 -19 -19 -18 -18 -18 -18 -17 -18 -18 -17 -17 -18 -20 -20 -21 -22 -23 -24 -25 -26 -27 -27 -28 -28 -27 -28 -31 -31 -30 -28 -27 -27 -29 -30 -31 -30 -30 -30 -29 -28 -28 -28 -29 -29 -25 -28 -30 -30 -29 -24 -19 -15 -12 -10 -11 -13 -15 -13 -7 -2 0 -1 -4 -8 -12 -15 -16 -16 -15 -16 -16 -18 -18 -17 -16 -17 -19 -22 -24 -25 -24 -22 -21 -20 -19 -18 -18 -20 -23 -24 -23 -17 -10 -5 -5 -9 -12 -14 -16 -18 -21 -23 -25 -27 -28 -28 -27 -26 -24 -23 -22 -21 -21 -21 -21 -23 -24 -24 -22 -21 -21 -22 -23 -24 -26 -29 -31 -31 -29 -28 -27 -26 -27 -28 -27 -24 -20 -15 -12 -11 -13 -16 -20 -23 -24 -25 -26 -27 -28 -29 -30 -32 -33 -35 -36 -37 -34 -29 -25 -24 -25 -27 -27 -25 -21 -18 -17 -17 -16 -14 -11 -7 -5 -5 -7 -9 -9 -9 -8 -8 -9 -8 -6 -4 -5 -6 -7 -8 -9 -9 -9 -9 -9 -9 -9 -9 -10 -11 -12 -12 -13 -17 -22 -25 -24 -21 -16 -15 -16 -17 -16 -13 -11 -10 -11 -13 -13 -14 -15 -16 -17 -18 -20 -21 -22 -22 -22 -21 -19 -17 -17 -20 -22 -23 -23 -23 -24 -25 -27 -27 -28 -30 -33 -34 -33 -28 -23 -18 -16 -18 -20 -23 -26 -30 -34 -37 -41 -46 -47 -50 -51 -51 -48 -43 -40 -38 -38 -38 -35 -30 -25 -21 -20 -18 -16 -15 -15 -15 -16 -17 -17 -20 -23 -26 -28 -30 -30 -27 -25 -26 -30 -30 -28 -27 -25 -24 -23 -22 -21 -21 -22 -23 -24 -25 -26 -26 -28 -31 -35 -41 -47 -53 -58 -63 -67 -69 -71 -72 -71 -69 -67 -64 -61 -61 -62 -64 -65 -63 -58 -51 -44 -39 -36 -37 -40 -43 -48 -50 -51 -53 -56 -61 -63 -62 -59 -56 -55 -54 -52 -50 -50 -50 -53 -54 -53 -54 -52 -48 -43 -41 -37 -34 -31 -30 -29 -28 -26 -24 -24 -25 -24 -22 -20 -20 -21 -20 -19 -19 -21 -24 -26 -28 -30 -30 -30 -30 -29 -30 -31 -30 -29 -28 -28 -28 -27 -27 -27 -27 -28 -28 -27 -26 -25 -24 -22 -21 -19 -20 -20 -21 -21 -20 -20 -20 -19 -19 -18 -18 -18 -18 -18 -18 -18 -19 -20 -20 -20 -21 -22 -23 -23 -24 -25 -25 -27 -27 -27 -27 -29 -31 -31 -30 -28 -28 -29 -30 -30 -30 -31 -30 -29 -28 -28 -28 -29 -30 -26 -29 -30 -29 -28 -23 -17 -12 -9 -7 -9 -11 -13 -10 -3 2 3 1 -2 -7 -11 -13 -14 -13 -13 -13 -14 -16 -16 -15 -15 -15 -18 -21 -24 -25 -24 -23 -21 -20 -19 -18 -18 -19 -21 -22 -21 -15 -10 -7 -8 -10 -12 -15 -17 -19 -20 -22 -24 -26 -28 -27 -26 -25 -23 -23 -22 -22 -22 -22 -24 -26 -27 -25 -21 -19 -19 -21 -23 -23 -25 -29 -32 -33 -32 -30 -28 -27 -26 -25 -24 -22 -18 -14 -10 -9 -8 -10 -16 -21 -23 -24 -26 -27 -28 -29 -32 -34 -34 -34 -33 -34 -30 -25 -22 -22 -25 -27 -28 -27 -24 -19 -16 -15 -15 -14 -12 -9 -6 -4 -5 -8 -10 -11 -9 -9 -9 -8 -6 -4 -5 -6 -8 -10 -11 -11 -10 -9 -9 -9 -9 -9 -9 -9 -10 -11 -13 -17 -23 -25 -24 -20 -16 -14 -15 -16 -17 -15 -12 -10 -11 -13 -15 -16 -16 -17 -18 -20 -22 -23 -24 -25 -26 -25 -24 -21 -19 -20 -21 -22 -21 -20 -20 -22 -24 -25 -27 -29 -30 -31 -31 -28 -25 -21 -19 -20 -23 -26 -30 -34 -37 -39 -40 -42 -43 -46 -49 -51 -51 -48 -43 -38 -34 -31 -27 -24 -20 -19 -19 -17 -15 -14 -16 -16 -16 -15 -16 -19 -23 -27 -29 -30 -30 -26 -23 -25 -32 -33 -32 -31 -30 -30 -29 -26 -24 -24 -24 -25 -26 -25 -24 -25 -26 -30 -35 -42 -48 -54 -59 -64 -68 -72 -75 -77 -76 -74 -73 -70 -65 -63 -63 -63 -63 -60 -57 -52 -47 -41 -39 -38 -39 -41 -45 -46 -47 -48 -52 -57 -61 -62 -61 -57 -55 -53 -52 -51 -50 -50 -53 -56 -56 -58 -57 -53 -48 -44 -39 -35 -30 -28 -27 -26 -25 -24 -23 -23 -23 -22 -21 -22 -23 -22 -20 -19 -20 -22 -23 -24 -28 -28 -28 -28 -28 -29 -30 -30 -29 -29 -30 -29 -28 -28 -28 -27 -28 -29 -29 -27 -26 -25 -24 -22 -20 -19 -20 -21 -22 -22 -21 -21 -19 -19 -19 -19 -19 -19 -20 -19 -19 -20 -20 -20 -20 -21 -21 -21 -22 -23 -23 -24 -25 -26 -27 -25 -27 -30 -32 -32 -29 -29 -30 -30 -30 -30 -31 -32 -31 -29 -28 -28 -29 -28 -27 -30 -30 -29 -27 -22 -16 -10 -6 -5 -8 -10 -11 -8 -1 3 4 1 -2 -6 -9 -11 -12 -12 -11 -11 -12 -13 -14 -13 -14 -15 -18 -21 -24 -24 -24 -23 -21 -20 -19 -18 -16 -17 -19 -21 -21 -16 -12 -10 -11 -12 -14 -16 -18 -19 -20 -21 -24 -26 -27 -27 -25 -24 -23 -23 -23 -23 -23 -24 -26 -28 -28 -26 -21 -19 -19 -21 -22 -23 -25 -27 -30 -32 -32 -32 -32 -30 -24 -19 -17 -16 -16 -13 -10 -8 -6 -6 -13 -21 -25 -24 -24 -25 -27 -29 -32 -35 -35 -33 -30 -28 -25 -20 -18 -19 -23 -26 -28 -29 -28 -21 -16 -14 -13 -13 -12 -10 -7 -5 -5 -7 -10 -11 -11 -11 -11 -9 -6 -5 -6 -7 -8 -10 -12 -12 -12 -11 -10 -10 -10 -10 -9 -9 -10 -11 -13 -17 -23 -26 -24 -19 -14 -13 -13 -15 -17 -16 -14 -12 -12 -13 -16 -18 -19 -20 -20 -22 -24 -26 -27 -30 -32 -32 -31 -27 -23 -21 -21 -22 -22 -20 -19 -18 -20 -21 -23 -25 -27 -28 -27 -26 -24 -22 -22 -23 -26 -29 -32 -35 -38 -39 -38 -37 -38 -42 -46 -50 -52 -50 -44 -37 -31 -26 -22 -19 -17 -17 -18 -17 -15 -15 -16 -16 -14 -13 -15 -18 -23 -27 -30 -31 -28 -24 -21 -24 -30 -32 -33 -35 -36 -36 -34 -32 -29 -28 -28 -28 -27 -24 -24 -25 -27 -30 -36 -44 -51 -57 -62 -66 -71 -76 -79 -80 -79 -78 -77 -74 -70 -67 -64 -62 -60 -58 -55 -52 -48 -44 -42 -40 -39 -40 -43 -43 -43 -44 -47 -51 -56 -60 -62 -61 -56 -53 -53 -54 -53 -52 -52 -54 -56 -58 -57 -55 -50 -45 -40 -34 -29 -26 -25 -24 -24 -24 -23 -23 -22 -22 -22 -25 -25 -24 -22 -20 -21 -21 -21 -22 -25 -26 -26 -26 -26 -28 -29 -30 -30 -31 -31 -31 -30 -29 -29 -29 -29 -29 -30 -28 -27 -26 -24 -23 -21 -21 -21 -22 -23 -23 -22 -21 -20 -19 -19 -18 -19 -20 -20 -19 -19 -20 -20 -20 -20 -20 -20 -21 -21 -21 -21 -22 -24 -24 -24 -23 -24 -27 -31 -33 -31 -31 -30 -30 -30 -31 -32 -34 -34 -32 -30 -29 -28 -27 -28 -30 -31 -31 -29 -22 -14 -7 -4 -5 -9 -11 -11 -7 -1 4 4 2 -2 -4 -7 -9 -11 -11 -10 -10 -11 -11 -12 -13 -14 -16 -18 -21 -23 -23 -23 -22 -21 -19 -18 -16 -14 -15 -18 -21 -22 -18 -15 -13 -13 -15 -16 -18 -19 -19 -19 -20 -23 -25 -27 -26 -24 -22 -22 -23 -23 -24 -24 -25 -28 -30 -29 -26 -22 -20 -20 -22 -23 -25 -26 -27 -29 -30 -31 -33 -34 -32 -25 -16 -11 -10 -10 -9 -8 -6 -5 -6 -15 -24 -29 -26 -21 -21 -23 -26 -30 -33 -34 -33 -29 -23 -19 -16 -15 -16 -20 -24 -28 -30 -31 -25 -19 -14 -12 -12 -11 -10 -9 -8 -7 -7 -8 -10 -10 -12 -11 -9 -6 -6 -6 -7 -8 -10 -12 -13 -13 -13 -11 -11 -11 -10 -10 -10 -10 -11 -13 -16 -22 -25 -24 -20 -14 -11 -10 -12 -15 -16 -16 -15 -14 -15 -18 -21 -23 -24 -24 -25 -26 -28 -31 -35 -39 -41 -39 -33 -27 -23 -22 -23 -23 -21 -19 -17 -17 -17 -18 -20 -23 -24 -24 -23 -23 -23 -24 -26 -28 -28 -29 -32 -35 -37 -36 -34 -34 -38 -44 -48 -48 -45 -39 -33 -28 -25 -22 -19 -17 -17 -17 -16 -16 -15 -14 -13 -12 -12 -15 -19 -23 -27 -30 -30 -26 -22 -21 -25 -30 -32 -33 -36 -39 -38 -37 -35 -34 -33 -31 -29 -28 -27 -29 -30 -31 -33 -39 -47 -55 -62 -67 -72 -76 -80 -81 -81 -80 -79 -77 -76 -74 -71 -67 -63 -59 -56 -53 -51 -48 -46 -44 -43 -41 -41 -41 -41 -40 -40 -43 -47 -51 -57 -62 -65 -60 -57 -57 -58 -56 -54 -52 -52 -54 -55 -55 -53 -49 -43 -38 -33 -29 -26 -24 -23 -23 -23 -24 -23 -23 -23 -23 -26 -26 -25 -23 -21 -21 -20 -20 -21 -24 -24 -25 -25 -26 -28 -29 -30 -31 -31 -32 -32 -31 -30 -31 -31 -31 -29 -30 -29 -28 -26 -25 -25 -23 -23 -24 -24 -24 -23 -22 -22 -21 -20 -19 -19 -19 -19 -19 -19 -17 -18 -19 -20 -20 -20 -20 -20 -20 -20 -20 -21 -22 -23 -23 -22 -22 -24 -28 -31 -32 -32 -31 -30 -30 -31 -33 -35 -37 -34 -32 -30 -28 -27 -28 -30 -31 -31 -28 -20 -9 -3 -3 -6 -11 -12 -12 -8 -1 4 5 2 -2 -4 -6 -8 -10 -11 -10 -9 -9 -10 -12 -14 -15 -17 -19 -21 -22 -22 -21 -20 -20 -19 -17 -15 -13 -16 -19 -23 -23 -20 -17 -16 -16 -17 -18 -18 -18 -18 -18 -19 -22 -25 -26 -25 -23 -22 -22 -23 -23 -23 -24 -26 -28 -30 -29 -27 -24 -23 -23 -24 -26 -28 -28 -29 -29 -30 -32 -33 -32 -28 -22 -16 -12 -10 -9 -8 -6 -5 -6 -9 -21 -31 -35 -30 -22 -18 -18 -20 -25 -31 -35 -35 -30 -21 -15 -13 -13 -15 -20 -24 -27 -30 -33 -28 -22 -16 -13 -12 -9 -8 -8 -10 -11 -11 -10 -10 -8 -10 -10 -8 -6 -6 -6 -7 -8 -10 -12 -13 -13 -13 -13 -11 -11 -11 -11 -11 -11 -12 -13 -16 -20 -23 -24 -21 -16 -12 -10 -10 -12 -14 -14 -15 -16 -19 -21 -23 -26 -28 -29 -29 -29 -30 -33 -37 -43 -46 -46 -41 -32 -26 -22 -22 -23 -22 -21 -20 -18 -16 -15 -16 -18 -20 -21 -21 -22 -23 -25 -28 -28 -27 -26 -28 -31 -33 -33 -31 -32 -36 -42 -47 -44 -38 -33 -29 -26 -23 -21 -19 -18 -17 -16 -15 -13 -11 -11 -11 -12 -13 -17 -21 -25 -28 -30 -28 -25 -23 -23 -27 -29 -30 -32 -34 -37 -38 -37 -36 -36 -35 -35 -34 -33 -34 -36 -36 -37 -38 -43 -50 -58 -66 -72 -77 -81 -82 -82 -81 -79 -78 -77 -76 -75 -73 -70 -65 -60 -55 -51 -48 -47 -47 -47 -46 -45 -44 -41 -39 -38 -39 -42 -45 -49 -54 -60 -65 -63 -61 -60 -60 -57 -54 -52 -50 -51 -50 -49 -47 -44 -40 -36 -32 -29 -26 -25 -23 -23 -23 -24 -24 -24 -24 -24 -26 -27 -26 -25 -23 -22 -21 -20 -21 -23 -23 -24 -25 -26 -28 -29 -30 -31 -31 -32 -32 -32 -31 -32 -32 -32 -31 -30 -29 -27 -26 -26 -25 -24 -24 -23 -23 -24 -23 -22 -22 -22 -21 -20 -19 -19 -19 -19 -19 -18 -17 -18 -19 -20 -21 -21 -21 -20 -20 -20 -20 -21 -22 -22 -21 -21 -22 -25 -28 -30 -31 -31 -30 -30 -32 -34 -36 -37 -36 -34 -32 -30 -28 -29 -31 -31 -29 -24 -15 -5 -2 -4 -9 -12 -14 -13 -10 -2 4 4 2 -1 -4 -6 -9 -11 -12 -11 -9 -9 -10 -12 -14 -16 -18 -19 -21 -22 -21 -20 -19 -19 -18 -16 -13 -14 -18 -23 -25 -24 -21 -19 -18 -18 -17 -17 -17 -17 -17 -17 -19 -22 -25 -26 -24 -22 -21 -22 -23 -22 -22 -23 -25 -27 -28 -28 -27 -26 -26 -26 -28 -29 -30 -31 -30 -31 -32 -33 -32 -28 -21 -15 -13 -12 -12 -12 -9 -6 -5 -8 -14 -27 -37 -39 -33 -24 -19 -16 -17 -21 -28 -33 -33 -28 -19 -14 -12 -13 -15 -20 -24 -26 -29 -32 -30 -24 -18 -13 -12 -9 -8 -7 -9 -12 -16 -17 -15 -11 -9 -8 -7 -6 -5 -5 -7 -8 -11 -12 -12 -12 -12 -12 -11 -10 -11 -12 -12 -13 -13 -14 -15 -18 -21 -22 -22 -18 -14 -11 -10 -10 -11 -13 -15 -17 -20 -22 -24 -26 -29 -32 -32 -32 -33 -35 -39 -44 -49 -51 -47 -39 -31 -25 -23 -23 -24 -24 -23 -20 -18 -16 -14 -14 -15 -16 -19 -21 -22 -24 -27 -28 -27 -25 -26 -28 -30 -30 -30 -32 -38 -44 -48 -42 -33 -27 -24 -23 -20 -18 -17 -17 -18 -17 -15 -14 -12 -12 -12 -14 -16 -20 -24 -29 -31 -30 -25 -23 -24 -25 -26 -25 -26 -29 -32 -33 -34 -35 -36 -36 -37 -37 -36 -35 -36 -39 -40 -41 -41 -45 -52 -60 -68 -74 -79 -81 -81 -80 -78 -77 -76 -75 -75 -75 -74 -71 -66 -61 -54 -49 -46 -46 -49 -51 -51 -49 -47 -43 -39 -37 -37 -42 -45 -48 -51 -57 -63 -64 -63 -61 -58 -57 -56 -53 -50 -47 -44 -42 -41 -41 -39 -36 -33 -30 -27 -25 -24 -23 -23 -24 -25 -26 -26 -24 -25 -26 -26 -26 -25 -24 -23 -21 -20 -22 -22 -23 -25 -26 -27 -28 -29 -30 -32 -32 -32 -32 -32 -32 -33 -33 -32 -31 -29 -27 -26 -26 -26 -25 -24 -23 -23 -24 -24 -23 -23 -22 -22 -21 -21 -20 -20 -20 -20 -19 -17 -17 -17 -18 -20 -21 -21 -21 -20 -20 -19 -20 -21 -22 -21 -20 -20 -22 -25 -28 -30 -30 -30 -30 -32 -34 -36 -38 -38 -37 -36 -33 -30 -30 -31 -29 -26 -19 -11 -5 -5 -9 -12 -13 -14 -14 -11 -5 1 3 2 -0 -3 -7 -11 -14 -15 -13 -11 -10 -10 -13 -15 -17 -18 -20 -22 -23 -23 -22 -20 -19 -17 -15 -14 -16 -20 -24 -25 -23 -21 -20 -20 -19 -17 -17 -17 -17 -16 -15 -18 -21 -24 -25 -23 -22 -21 -21 -21 -21 -21 -23 -24 -26 -27 -27 -27 -27 -27 -28 -29 -31 -32 -32 -32 -32 -32 -31 -28 -23 -17 -13 -12 -12 -12 -13 -11 -8 -7 -10 -17 -29 -39 -41 -35 -26 -20 -16 -15 -19 -26 -30 -29 -25 -18 -15 -14 -14 -15 -20 -24 -26 -28 -31 -31 -27 -21 -15 -12 -10 -8 -7 -6 -11 -17 -21 -21 -15 -10 -8 -6 -5 -3 -4 -5 -7 -10 -11 -11 -10 -10 -10 -10 -10 -10 -11 -13 -14 -15 -16 -16 -17 -19 -21 -22 -20 -18 -15 -12 -10 -11 -12 -15 -18 -20 -22 -24 -25 -28 -30 -32 -33 -34 -36 -39 -44 -48 -52 -51 -46 -38 -32 -28 -27 -28 -27 -26 -23 -20 -18 -17 -16 -16 -16 -17 -19 -21 -22 -24 -26 -25 -23 -24 -25 -27 -30 -32 -36 -43 -49 -51 -42 -31 -23 -19 -18 -15 -13 -13 -16 -18 -18 -16 -14 -13 -13 -14 -16 -21 -26 -30 -33 -34 -30 -23 -21 -22 -25 -26 -23 -22 -24 -28 -29 -30 -32 -33 -35 -36 -37 -37 -37 -38 -41 -42 -43 -43 -46 -52 -60 -67 -73 -76 -77 -77 -76 -75 -74 -73 -72 -72 -72 -72 -71 -67 -62 -55 -49 -46 -46 -50 -53 -54 -52 -50 -46 -41 -37 -37 -41 -44 -47 -49 -53 -60 -63 -63 -60 -54 -54 -55 -55 -50 -46 -41 -38 -38 -39 -39 -37 -34 -32 -28 -26 -26 -25 -23 -23 -25 -27 -27 -26 -25 -25 -26 -26 -26 -26 -25 -23 -20 -21 -22 -23 -25 -26 -26 -27 -29 -30 -31 -32 -32 -32 -32 -32 -32 -32 -32 -31 -30 -28 -26 -25 -25 -25 -24 -23 -23 -24 -24 -24 -24 -23 -22 -22 -22 -21 -21 -20 -19 -19 -18 -17 -16 -17 -19 -19 -20 -20 -20 -19 -18 -18 -20 -21 -20 -19 -19 -21 -24 -28 -30 -30 -31 -32 -33 -34 -37 -39 -40 -40 -38 -35 -32 -31 -30 -28 -23 -17 -12 -11 -12 -14 -15 -15 -15 -14 -11 -8 -4 0 2 1 -1 -6 -12 -17 -18 -17 -14 -12 -12 -14 -16 -18 -20 -22 -25 -26 -26 -24 -22 -20 -17 -15 -14 -17 -22 -25 -25 -22 -20 -20 -20 -19 -18 -17 -17 -16 -15 -15 -17 -20 -23 -23 -22 -21 -20 -20 -20 -20 -21 -22 -24 -25 -26 -26 -27 -28 -28 -29 -30 -31 -32 -33 -33 -32 -31 -28 -23 -19 -16 -15 -15 -14 -13 -13 -12 -10 -9 -12 -18 -29 -39 -42 -38 -29 -22 -16 -14 -18 -25 -27 -26 -21 -17 -16 -16 -16 -16 -19 -23 -25 -26 -29 -31 -28 -22 -15 -11 -9 -7 -6 -5 -8 -14 -19 -21 -17 -12 -8 -6 -4 -3 -3 -5 -7 -10 -11 -10 -10 -9 -9 -9 -9 -9 -10 -13 -15 -16 -17 -17 -17 -18 -20 -22 -22 -21 -19 -17 -13 -12 -13 -15 -18 -20 -21 -23 -25 -26 -27 -28 -29 -30 -33 -36 -41 -45 -49 -50 -49 -44 -39 -34 -32 -32 -32 -29 -25 -21 -19 -18 -18 -20 -19 -17 -16 -17 -19 -22 -24 -23 -22 -24 -25 -28 -32 -38 -44 -50 -54 -53 -42 -29 -20 -15 -13 -11 -11 -12 -14 -16 -15 -14 -12 -13 -14 -17 -20 -25 -29 -33 -34 -32 -24 -21 -20 -21 -23 -26 -24 -21 -20 -22 -25 -27 -29 -30 -32 -34 -36 -37 -38 -40 -42 -44 -45 -44 -46 -52 -60 -67 -71 -71 -72 -72 -73 -71 -70 -68 -68 -68 -69 -70 -69 -66 -61 -55 -50 -47 -47 -50 -51 -52 -52 -51 -48 -45 -41 -38 -40 -43 -45 -47 -50 -55 -60 -62 -61 -53 -50 -51 -53 -51 -45 -39 -35 -36 -37 -39 -39 -37 -33 -30 -28 -27 -26 -24 -23 -25 -27 -29 -29 -27 -26 -25 -25 -26 -26 -25 -23 -21 -21 -22 -23 -25 -26 -26 -26 -28 -29 -31 -32 -32 -31 -31 -31 -31 -31 -31 -31 -31 -30 -27 -26 -24 -24 -24 -24 -24 -23 -23 -23 -23 -22 -22 -22 -22 -22 -21 -20 -19 -18 -18 -17 -16 -17 -18 -19 -19 -20 -20 -19 -18 -18 -19 -20 -19 -19 -19 -21 -24 -27 -30 -31 -32 -32 -33 -34 -36 -39 -40 -41 -40 -37 -34 -30 -28 -26 -24 -21 -19 -18 -18 -18 -17 -16 -15 -14 -13 -13 -8 -3 1 2 1 -4 -11 -17 -18 -17 -15 -13 -14 -16 -18 -20 -23 -25 -27 -28 -28 -26 -24 -20 -17 -15 -15 -19 -24 -27 -26 -22 -19 -19 -20 -20 -18 -18 -17 -16 -15 -16 -18 -20 -21 -21 -21 -21 -20 -20 -20 -21 -21 -22 -24 -24 -25 -27 -29 -30 -30 -29 -29 -30 -31 -31 -31 -30 -27 -24 -20 -18 -17 -18 -18 -17 -15 -13 -12 -11 -12 -15 -20 -28 -37 -43 -42 -33 -23 -15 -12 -17 -24 -25 -23 -20 -18 -18 -19 -19 -19 -19 -21 -22 -25 -28 -30 -29 -24 -17 -11 -8 -6 -5 -5 -7 -12 -16 -17 -15 -11 -8 -6 -5 -4 -4 -6 -7 -9 -11 -12 -11 -10 -9 -8 -8 -9 -10 -12 -15 -17 -18 -18 -17 -17 -18 -20 -22 -22 -22 -20 -17 -15 -15 -16 -18 -20 -22 -24 -26 -28 -27 -25 -25 -25 -27 -31 -35 -40 -44 -46 -48 -47 -45 -41 -39 -38 -37 -34 -28 -22 -19 -17 -18 -20 -21 -20 -18 -16 -17 -19 -21 -22 -23 -25 -27 -30 -35 -44 -51 -55 -57 -52 -39 -27 -18 -14 -11 -11 -11 -12 -14 -14 -13 -12 -12 -13 -15 -18 -22 -27 -32 -35 -34 -28 -19 -16 -17 -19 -21 -23 -23 -22 -20 -19 -22 -24 -26 -28 -31 -33 -35 -36 -39 -41 -44 -46 -47 -46 -48 -54 -61 -67 -67 -66 -66 -66 -68 -66 -64 -63 -63 -64 -64 -65 -65 -63 -60 -56 -52 -49 -48 -49 -49 -49 -50 -50 -49 -47 -43 -39 -40 -42 -44 -46 -47 -51 -55 -60 -62 -57 -49 -45 -47 -49 -44 -38 -34 -34 -36 -38 -39 -38 -35 -31 -29 -28 -27 -25 -24 -25 -27 -30 -30 -29 -27 -26 -24 -24 -24 -23 -22 -22 -23 -24 -25 -26 -27 -27 -26 -28 -29 -30 -30 -31 -31 -31 -31 -31 -31 -30 -31 -31 -31 -30 -27 -25 -24 -24 -24 -24 -23 -22 -22 -22 -22 -22 -21 -22 -22 -21 -20 -19 -19 -18 -18 -17 -18 -19 -19 -19 -20 -20 -19 -18 -18 -19 -19 -19 -19 -19 -21 -24 -26 -28 -31 -32 -32 -33 -34 -36 -37 -39 -40 -39 -37 -34 -29 -28 -28 -28 -27 -26 -24 -22 -20 -18 -16 -14 -13 -13 -13 -9 -4 0 1 1 -4 -10 -15 -17 -17 -16 -15 -16 -18 -21 -23 -25 -28 -30 -30 -29 -28 -25 -21 -17 -16 -16 -20 -26 -29 -28 -23 -19 -19 -19 -20 -19 -18 -18 -17 -17 -18 -19 -20 -20 -19 -20 -20 -20 -21 -22 -22 -21 -22 -23 -24 -25 -27 -30 -33 -32 -31 -29 -29 -29 -28 -26 -25 -23 -22 -20 -19 -18 -19 -19 -18 -17 -15 -14 -14 -16 -18 -21 -26 -35 -44 -46 -38 -25 -15 -11 -17 -23 -24 -22 -20 -20 -20 -21 -21 -21 -20 -19 -19 -22 -26 -30 -30 -26 -19 -12 -7 -4 -4 -5 -8 -11 -13 -13 -11 -8 -7 -7 -6 -6 -7 -7 -7 -9 -12 -13 -13 -12 -10 -9 -8 -9 -10 -12 -14 -16 -17 -18 -17 -15 -15 -17 -22 -24 -24 -23 -21 -19 -18 -18 -18 -20 -22 -26 -29 -33 -33 -29 -25 -22 -21 -24 -29 -34 -38 -41 -45 -48 -49 -48 -46 -44 -42 -38 -31 -23 -18 -15 -16 -18 -20 -21 -21 -19 -18 -18 -19 -21 -24 -27 -29 -32 -37 -45 -51 -54 -53 -46 -35 -26 -20 -16 -13 -12 -12 -14 -16 -15 -14 -12 -13 -12 -14 -17 -21 -27 -34 -36 -34 -27 -19 -16 -17 -19 -20 -21 -21 -22 -22 -21 -21 -22 -23 -25 -28 -31 -33 -35 -38 -41 -44 -46 -48 -48 -51 -56 -62 -65 -62 -60 -58 -57 -60 -61 -61 -61 -61 -62 -62 -62 -61 -61 -60 -57 -54 -51 -49 -48 -48 -47 -48 -49 -50 -48 -45 -41 -41 -41 -42 -44 -45 -46 -51 -57 -62 -60 -53 -45 -41 -45 -43 -38 -33 -33 -34 -36 -37 -37 -36 -33 -31 -31 -29 -27 -26 -27 -28 -31 -31 -31 -30 -28 -25 -25 -24 -23 -22 -22 -23 -25 -26 -27 -28 -28 -27 -28 -28 -29 -29 -30 -30 -30 -30 -30 -30 -29 -30 -30 -30 -30 -28 -26 -25 -26 -26 -25 -24 -22 -21 -23 -23 -22 -21 -21 -21 -21 -20 -20 -20 -20 -19 -18 -18 -19 -19 -19 -20 -20 -19 -19 -18 -19 -19 -19 -18 -18 -20 -23 -24 -26 -29 -31 -32 -32 -34 -35 -37 -38 -39 -37 -36 -33 -28 -29 -31 -32 -31 -29 -26 -23 -21 -19 -16 -13 -12 -11 -11 -7 -4 -1 -1 -1 -4 -9 -14 -18 -18 -18 -18 -18 -21 -23 -25 -28 -30 -32 -32 -31 -29 -26 -22 -19 -17 -17 -21 -27 -31 -30 -24 -20 -19 -20 -20 -19 -19 -19 -19 -19 -20 -20 -20 -19 -18 -19 -20 -21 -22 -23 -23 -22 -22 -23 -25 -26 -27 -31 -35 -35 -32 -28 -25 -24 -22 -21 -21 -20 -20 -20 -20 -20 -20 -19 -19 -18 -19 -19 -19 -20 -21 -21 -24 -32 -43 -50 -42 -27 -16 -12 -18 -23 -24 -22 -21 -20 -21 -21 -21 -23 -22 -18 -17 -18 -24 -29 -31 -28 -22 -13 -7 -3 -2 -5 -9 -12 -12 -10 -7 -5 -5 -6 -8 -10 -10 -10 -9 -10 -12 -14 -14 -14 -12 -11 -10 -10 -10 -11 -13 -15 -17 -18 -16 -13 -12 -14 -19 -23 -24 -23 -22 -21 -21 -19 -19 -20 -23 -27 -32 -38 -40 -37 -31 -24 -20 -22 -25 -28 -31 -35 -41 -46 -50 -52 -52 -49 -45 -40 -33 -24 -18 -15 -15 -16 -18 -20 -22 -22 -21 -20 -20 -21 -24 -27 -30 -33 -37 -43 -48 -50 -48 -41 -33 -26 -22 -19 -16 -13 -13 -15 -18 -19 -17 -15 -13 -12 -12 -14 -18 -25 -32 -34 -32 -27 -22 -20 -19 -20 -19 -20 -21 -23 -23 -22 -21 -19 -18 -20 -24 -27 -30 -33 -37 -41 -44 -46 -47 -49 -53 -57 -61 -61 -56 -52 -49 -49 -53 -56 -57 -58 -60 -62 -62 -62 -61 -62 -62 -61 -57 -53 -49 -47 -46 -46 -46 -48 -49 -49 -48 -44 -42 -41 -40 -42 -42 -42 -46 -51 -58 -59 -56 -50 -41 -42 -43 -40 -35 -33 -34 -35 -35 -36 -35 -33 -33 -34 -33 -31 -28 -28 -31 -33 -33 -32 -32 -31 -29 -28 -27 -25 -24 -22 -23 -24 -26 -27 -28 -29 -29 -29 -28 -28 -28 -29 -29 -29 -29 -29 -29 -28 -29 -30 -30 -29 -29 -27 -26 -27 -26 -26 -25 -24 -23 -24 -23 -22 -21 -21 -21 -21 -20 -20 -20 -21 -21 -21 -20 -19 -18 -19 -20 -20 -19 -19 -19 -20 -20 -19 -18 -18 -19 -20 -22 -25 -28 -30 -31 -32 -34 -35 -37 -38 -38 -36 -33 -32 -28 -31 -32 -33 -31 -29 -26 -24 -21 -18 -16 -13 -11 -9 -8 -5 -3 -2 -2 -2 -5 -8 -13 -18 -20 -20 -21 -21 -23 -25 -28 -30 -32 -34 -34 -33 -30 -27 -23 -20 -19 -19 -23 -29 -32 -31 -25 -21 -20 -21 -20 -20 -20 -20 -21 -21 -20 -19 -19 -18 -18 -19 -21 -22 -24 -25 -25 -24 -24 -25 -26 -26 -28 -32 -37 -36 -30 -24 -20 -19 -18 -18 -18 -20 -20 -19 -19 -20 -20 -20 -20 -21 -23 -25 -25 -24 -22 -22 -24 -33 -42 -46 -38 -25 -16 -14 -20 -24 -24 -23 -22 -22 -22 -20 -20 -21 -21 -19 -16 -17 -22 -27 -31 -30 -25 -16 -8 -3 -1 -4 -9 -12 -12 -10 -5 -2 -2 -3 -8 -12 -13 -13 -13 -13 -13 -14 -14 -14 -13 -13 -12 -12 -12 -12 -13 -14 -16 -17 -15 -13 -11 -11 -16 -20 -22 -22 -22 -23 -23 -22 -21 -21 -24 -28 -34 -40 -45 -44 -39 -30 -25 -25 -25 -26 -27 -31 -37 -43 -48 -52 -55 -53 -47 -39 -30 -23 -19 -17 -16 -15 -16 -18 -20 -22 -22 -22 -22 -23 -25 -27 -29 -32 -35 -39 -42 -43 -42 -37 -31 -27 -23 -21 -18 -16 -15 -16 -19 -20 -19 -16 -14 -12 -11 -12 -15 -22 -26 -28 -27 -26 -26 -24 -22 -20 -19 -20 -22 -24 -25 -24 -22 -19 -17 -19 -23 -26 -29 -31 -35 -40 -44 -46 -48 -50 -53 -55 -56 -54 -48 -43 -40 -40 -46 -50 -54 -56 -57 -60 -61 -62 -62 -63 -64 -62 -58 -53 -48 -46 -45 -45 -45 -46 -48 -49 -49 -47 -44 -41 -40 -40 -39 -39 -41 -45 -52 -54 -55 -53 -48 -46 -44 -41 -36 -35 -34 -34 -34 -34 -34 -33 -32 -32 -33 -33 -31 -29 -30 -32 -33 -33 -32 -33 -32 -32 -31 -29 -27 -25 -24 -24 -25 -27 -29 -31 -31 -30 -29 -29 -29 -28 -28 -27 -28 -28 -28 -28 -28 -29 -29 -29 -29 -28 -27 -26 -27 -27 -26 -25 -25 -25 -23 -21 -20 -20 -21 -21 -21 -20 -20 -21 -22 -22 -21 -19 -17 -18 -19 -19 -19 -19 -20 -20 -20 -19 -18 -18 -18 -19 -21 -25 -28 -30 -31 -32 -34 -34 -35 -37 -37 -34 -32 -31 -29 -32 -32 -31 -30 -28 -26 -24 -21 -18 -16 -13 -11 -8 -6 -4 -3 -3 -3 -4 -5 -8 -12 -16 -21 -23 -24 -25 -25 -27 -30 -33 -35 -36 -35 -33 -30 -27 -25 -23 -22 -23 -27 -32 -33 -31 -26 -22 -21 -21 -20 -20 -20 -21 -21 -20 -19 -19 -19 -19 -20 -21 -23 -25 -26 -27 -27 -27 -27 -27 -28 -28 -30 -35 -40 -36 -28 -21 -17 -17 -15 -16 -17 -20 -20 -19 -18 -19 -20 -22 -23 -25 -27 -30 -31 -29 -26 -22 -25 -31 -37 -40 -33 -23 -17 -16 -21 -25 -25 -24 -24 -25 -23 -20 -18 -18 -20 -19 -17 -17 -20 -25 -30 -31 -26 -17 -10 -3 1 -0 -6 -10 -12 -10 -6 -1 1 -0 -4 -10 -14 -16 -18 -17 -16 -15 -14 -13 -14 -14 -15 -15 -15 -15 -15 -15 -16 -16 -16 -14 -11 -10 -13 -16 -20 -21 -22 -24 -24 -24 -23 -23 -25 -29 -35 -42 -48 -49 -44 -35 -29 -27 -27 -27 -28 -31 -35 -40 -45 -50 -54 -55 -49 -36 -25 -20 -19 -20 -18 -16 -15 -16 -17 -20 -22 -23 -24 -26 -27 -28 -29 -31 -32 -34 -35 -35 -35 -32 -28 -24 -22 -20 -18 -18 -17 -17 -17 -18 -17 -15 -14 -13 -12 -13 -16 -19 -21 -20 -19 -22 -25 -24 -22 -20 -19 -20 -22 -25 -26 -26 -24 -21 -19 -20 -22 -25 -28 -31 -33 -37 -41 -45 -47 -50 -52 -53 -52 -47 -41 -35 -32 -33 -38 -44 -49 -54 -56 -59 -61 -62 -63 -64 -64 -61 -57 -51 -49 -47 -46 -45 -45 -45 -46 -48 -49 -48 -46 -42 -39 -38 -37 -37 -37 -39 -45 -51 -54 -55 -52 -48 -43 -40 -39 -37 -36 -34 -33 -33 -33 -32 -31 -30 -31 -34 -33 -30 -28 -29 -30 -30 -30 -31 -33 -35 -35 -33 -31 -28 -26 -26 -26 -28 -30 -32 -32 -31 -30 -30 -29 -29 -28 -27 -28 -28 -27 -27 -27 -28 -28 -28 -28 -28 -27 -26 -27 -27 -27 -26 -25 -25 -23 -20 -19 -19 -20 -21 -21 -21 -21 -22 -23 -22 -20 -19 -18 -18 -18 -19 -19 -19 -20 -19 -19 -19 -20 -20 -20 -20 -22 -24 -27 -30 -32 -33 -33 -33 -33 -35 -35 -33 -31 -30 -29 -31 -30 -28 -27 -26 -25 -23 -21 -19 -16 -14 -11 -8 -5 -3 -3 -3 -4 -5 -6 -8 -11 -14 -18 -22 -26 -27 -27 -28 -32 -35 -36 -36 -34 -32 -30 -29 -28 -27 -27 -27 -30 -33 -33 -31 -27 -23 -21 -20 -20 -20 -20 -20 -20 -20 -19 -19 -20 -20 -21 -22 -24 -26 -27 -29 -29 -29 -29 -29 -29 -30 -33 -39 -43 -36 -27 -20 -17 -16 -15 -16 -18 -21 -21 -19 -17 -18 -21 -24 -26 -28 -30 -32 -33 -32 -30 -26 -26 -29 -32 -33 -29 -21 -17 -17 -22 -25 -26 -26 -27 -28 -25 -20 -16 -15 -17 -18 -17 -16 -17 -23 -29 -30 -26 -17 -10 -5 -1 1 -2 -7 -10 -10 -6 -3 -0 1 -0 -5 -11 -16 -21 -23 -22 -20 -18 -15 -15 -16 -17 -18 -18 -18 -18 -17 -16 -17 -16 -15 -13 -12 -12 -15 -18 -21 -22 -24 -25 -26 -26 -26 -28 -31 -36 -43 -49 -50 -45 -37 -31 -30 -30 -31 -31 -32 -35 -38 -42 -46 -51 -53 -49 -38 -26 -19 -18 -19 -19 -16 -14 -14 -16 -18 -20 -22 -25 -29 -31 -32 -31 -30 -29 -29 -29 -29 -29 -28 -25 -23 -21 -20 -19 -19 -19 -18 -17 -16 -15 -15 -15 -13 -12 -13 -16 -19 -19 -17 -15 -18 -22 -23 -21 -20 -19 -20 -22 -25 -28 -28 -27 -24 -22 -23 -25 -25 -25 -28 -31 -35 -38 -41 -44 -48 -51 -52 -50 -45 -38 -32 -28 -28 -31 -37 -44 -52 -57 -59 -60 -61 -62 -63 -62 -59 -56 -52 -50 -48 -46 -46 -46 -45 -46 -47 -49 -49 -47 -43 -39 -37 -35 -35 -35 -34 -40 -47 -54 -57 -56 -52 -47 -43 -40 -38 -37 -36 -34 -33 -33 -32 -31 -29 -29 -32 -33 -30 -26 -26 -27 -27 -27 -29 -32 -34 -35 -34 -33 -32 -30 -28 -28 -30 -31 -32 -31 -31 -31 -31 -30 -30 -29 -28 -27 -28 -27 -27 -27 -28 -27 -28 -28 -28 -27 -27 -27 -27 -27 -26 -25 -23 -22 -20 -19 -19 -20 -20 -21 -21 -22 -23 -24 -23 -20 -19 -19 -19 -19 -19 -20 -20 -19 -19 -19 -20 -21 -21 -21 -21 -22 -24 -27 -30 -33 -34 -34 -32 -31 -33 -34 -33 -31 -29 -28 -28 -27 -26 -25 -24 -24 -23 -21 -19 -17 -14 -12 -9 -5 -3 -2 -3 -4 -6 -7 -9 -11 -13 -15 -20 -25 -27 -27 -29 -32 -35 -36 -35 -33 -32 -31 -31 -31 -31 -31 -31 -31 -33 -33 -30 -26 -23 -21 -20 -19 -19 -19 -19 -19 -19 -20 -21 -22 -22 -23 -24 -25 -26 -27 -29 -30 -31 -31 -31 -30 -32 -36 -42 -45 -35 -26 -19 -17 -16 -18 -20 -22 -23 -22 -19 -18 -19 -23 -27 -29 -30 -32 -33 -34 -34 -31 -26 -24 -25 -27 -28 -25 -19 -16 -18 -23 -24 -26 -28 -29 -30 -26 -20 -14 -13 -15 -16 -16 -15 -17 -22 -27 -28 -25 -16 -10 -5 -3 1 1 -3 -6 -7 -6 -3 -2 -1 -1 -2 -5 -11 -16 -21 -24 -26 -25 -22 -18 -17 -18 -20 -21 -21 -19 -17 -16 -15 -16 -15 -14 -13 -13 -15 -18 -20 -22 -24 -25 -28 -30 -31 -32 -34 -38 -44 -48 -48 -43 -35 -31 -31 -33 -35 -36 -35 -36 -38 -42 -46 -49 -51 -48 -40 -29 -21 -17 -17 -17 -16 -15 -15 -15 -17 -19 -22 -26 -31 -35 -36 -34 -31 -28 -28 -27 -26 -25 -25 -24 -22 -20 -20 -20 -19 -19 -19 -19 -17 -15 -15 -15 -14 -13 -13 -15 -18 -20 -19 -16 -17 -19 -21 -23 -25 -24 -23 -23 -26 -29 -30 -29 -27 -26 -28 -29 -27 -24 -22 -26 -30 -34 -36 -38 -43 -48 -50 -49 -44 -37 -32 -28 -26 -27 -32 -40 -49 -55 -58 -58 -58 -59 -61 -59 -57 -54 -52 -51 -49 -46 -46 -47 -46 -46 -47 -48 -48 -46 -44 -39 -37 -35 -34 -34 -33 -37 -43 -49 -54 -56 -54 -51 -47 -43 -40 -38 -37 -35 -33 -33 -33 -33 -31 -29 -30 -32 -30 -26 -25 -25 -25 -25 -27 -29 -30 -31 -32 -33 -34 -33 -31 -31 -32 -33 -32 -31 -32 -32 -31 -30 -30 -29 -28 -28 -29 -28 -28 -27 -28 -26 -27 -27 -26 -26 -26 -26 -26 -26 -25 -24 -23 -21 -20 -20 -20 -20 -20 -21 -21 -22 -23 -23 -23 -21 -20 -19 -19 -19 -19 -19 -20 -19 -19 -20 -21 -22 -22 -22 -21 -22 -24 -27 -30 -32 -33 -33 -32 -31 -32 -33 -33 -31 -29 -26 -25 -24 -24 -23 -23 -23 -22 -21 -19 -17 -14 -12 -9 -6 -4 -3 -4 -5 -7 -9 -10 -12 -13 -15 -19 -22 -25 -26 -29 -32 -34 -34 -33 -33 -32 -32 -32 -33 -33 -33 -33 -33 -33 -32 -29 -24 -21 -20 -19 -18 -18 -17 -18 -18 -20 -22 -23 -24 -24 -25 -25 -25 -26 -27 -28 -30 -31 -32 -33 -33 -35 -39 -43 -44 -35 -27 -20 -17 -16 -20 -23 -26 -25 -23 -21 -22 -24 -27 -29 -31 -32 -33 -35 -36 -34 -29 -24 -19 -19 -22 -25 -22 -17 -17 -20 -23 -24 -25 -27 -29 -30 -27 -20 -13 -11 -13 -14 -15 -16 -17 -21 -25 -26 -22 -15 -8 -5 -4 -2 0 -1 -2 -3 -4 -4 -4 -4 -4 -3 -4 -6 -10 -14 -20 -26 -29 -30 -26 -22 -20 -20 -21 -22 -22 -19 -15 -14 -14 -14 -14 -13 -15 -17 -19 -21 -23 -24 -26 -29 -34 -36 -37 -38 -41 -44 -47 -46 -41 -33 -29 -30 -33 -37 -39 -38 -38 -40 -44 -48 -51 -51 -48 -42 -33 -25 -19 -16 -16 -16 -16 -15 -16 -17 -19 -21 -25 -31 -36 -38 -37 -33 -30 -30 -30 -28 -25 -24 -22 -21 -20 -20 -19 -18 -17 -19 -20 -19 -17 -16 -16 -15 -14 -13 -15 -18 -20 -21 -20 -21 -21 -22 -24 -26 -28 -28 -27 -26 -28 -31 -32 -31 -30 -32 -32 -30 -24 -18 -19 -24 -29 -32 -33 -37 -42 -46 -46 -43 -39 -33 -29 -27 -28 -30 -34 -42 -50 -55 -56 -54 -56 -58 -57 -55 -53 -51 -50 -48 -46 -47 -47 -47 -47 -47 -47 -47 -46 -45 -40 -37 -36 -35 -35 -34 -35 -39 -43 -49 -54 -54 -53 -50 -45 -41 -40 -39 -37 -35 -34 -35 -35 -32 -30 -30 -30 -29 -27 -26 -25 -25 -24 -24 -26 -27 -29 -30 -31 -32 -34 -34 -33 -33 -33 -33 -32 -33 -33 -32 -30 -29 -27 -27 -28 -29 -28 -27 -27 -27 -26 -26 -25 -24 -25 -24 -25 -26 -26 -24 -24 -23 -21 -21 -20 -20 -20 -20 -21 -21 -22 -21 -22 -22 -22 -21 -20 -20 -19 -19 -19 -20 -19 -19 -20 -21 -22 -23 -22 -21 -22 -24 -26 -29 -31 -32 -32 -31 -31 -31 -32 -33 -32 -29 -25 -24 -23 -22 -22 -22 -22 -21 -20 -19 -17 -15 -12 -9 -6 -4 -4 -5 -7 -8 -10 -11 -12 -14 -16 -18 -21 -23 -26 -29 -32 -34 -33 -32 -32 -32 -33 -33 -33 -32 -32 -33 -34 -33 -30 -26 -22 -19 -18 -18 -17 -17 -16 -17 -19 -21 -23 -24 -25 -25 -25 -25 -25 -25 -26 -28 -29 -31 -33 -34 -35 -38 -40 -41 -41 -35 -29 -23 -19 -18 -21 -25 -27 -27 -25 -24 -26 -29 -31 -31 -33 -34 -36 -38 -37 -34 -28 -20 -15 -14 -18 -22 -20 -16 -17 -21 -24 -23 -23 -24 -26 -28 -26 -20 -13 -10 -12 -14 -16 -17 -19 -22 -24 -24 -21 -15 -9 -5 -4 -3 -1 -0 -0 -1 -2 -3 -5 -6 -7 -7 -7 -7 -7 -10 -16 -22 -29 -34 -32 -28 -23 -20 -20 -22 -23 -21 -18 -15 -13 -12 -12 -12 -14 -17 -20 -22 -24 -25 -27 -31 -36 -39 -40 -40 -40 -42 -43 -42 -38 -32 -28 -27 -31 -36 -40 -40 -41 -42 -47 -52 -53 -51 -47 -43 -37 -30 -22 -16 -15 -15 -15 -16 -16 -17 -18 -21 -25 -29 -32 -34 -34 -32 -31 -33 -34 -33 -29 -25 -23 -21 -20 -19 -18 -16 -15 -16 -18 -20 -19 -18 -18 -17 -15 -14 -14 -17 -19 -20 -19 -21 -22 -23 -24 -26 -29 -31 -30 -28 -30 -33 -34 -33 -33 -33 -34 -31 -26 -18 -16 -19 -25 -28 -29 -31 -35 -39 -41 -40 -38 -34 -31 -29 -30 -32 -35 -39 -46 -51 -53 -52 -53 -55 -55 -54 -51 -50 -48 -47 -46 -47 -48 -48 -48 -48 -47 -47 -47 -46 -42 -39 -37 -36 -35 -35 -35 -37 -41 -47 -52 -54 -53 -50 -46 -43 -42 -42 -40 -37 -35 -34 -34 -31 -30 -30 -30 -29 -29 -28 -27 -25 -24 -24 -24 -25 -27 -29 -30 -31 -33 -34 -34 -34 -33 -32 -32 -33 -34 -33 -31 -28 -26 -26 -28 -29 -28 -27 -27 -27 -27 -26 -25 -24 -24 -23 -23 -25 -25 -24 -24 -24 -22 -22 -21 -20 -20 -20 -19 -20 -21 -21 -21 -23 -23 -22 -21 -20 -19 -18 -18 -19 -19 -19 -20 -20 -22 -22 -22 -21 -22 -23 -25 -28 -30 -31 -31 -30 -29 -29 -32 -34 -33 -30 -24 -23 -22 -21 -21 -21 -20 -20 -19 -19 -17 -15 -12 -9 -6 -5 -5 -7 -8 -9 -11 -12 -13 -14 -16 -18 -21 -23 -26 -29 -32 -33 -33 -32 -31 -32 -33 -33 -33 -31 -31 -32 -34 -32 -28 -23 -19 -18 -17 -16 -16 -16 -16 -17 -19 -21 -22 -23 -24 -25 -26 -26 -25 -26 -26 -28 -29 -31 -33 -35 -38 -39 -39 -37 -34 -33 -30 -27 -23 -22 -22 -24 -26 -26 -25 -27 -30 -33 -34 -33 -34 -36 -38 -39 -38 -34 -27 -18 -12 -12 -14 -19 -18 -16 -17 -21 -25 -23 -22 -21 -23 -24 -23 -20 -15 -12 -12 -15 -18 -20 -21 -22 -22 -22 -20 -16 -10 -6 -3 -3 -2 -1 0 1 -0 -2 -4 -6 -8 -9 -10 -10 -10 -10 -14 -20 -27 -34 -36 -33 -27 -22 -20 -21 -22 -22 -20 -17 -14 -12 -11 -10 -13 -16 -19 -22 -24 -26 -29 -34 -40 -43 -43 -40 -37 -37 -37 -38 -37 -34 -30 -28 -28 -32 -39 -42 -43 -45 -49 -54 -54 -50 -45 -41 -39 -34 -26 -18 -15 -15 -15 -16 -16 -17 -18 -20 -23 -26 -28 -30 -30 -31 -32 -34 -37 -37 -34 -32 -28 -23 -20 -20 -18 -16 -13 -12 -15 -18 -20 -21 -21 -19 -17 -15 -14 -15 -18 -19 -18 -19 -22 -24 -26 -27 -29 -31 -32 -31 -32 -33 -32 -31 -31 -31 -31 -30 -28 -24 -19 -17 -20 -24 -25 -26 -28 -31 -34 -35 -36 -35 -33 -31 -33 -35 -38 -40 -43 -48 -51 -54 -55 -55 -55 -53 -50 -48 -47 -46 -46 -47 -49 -50 -50 -49 -48 -48 -48 -48 -44 -42 -40 -38 -36 -35 -36 -39 -43 -48 -52 -54 -53 -50 -48 -45 -45 -46 -45 -40 -36 -33 -32 -30 -30 -30 -30 -30 -29 -30 -29 -26 -26 -25 -25 -25 -26 -27 -29 -31 -32 -32 -33 -33 -33 -31 -30 -31 -33 -33 -32 -29 -26 -26 -28 -28 -28 -27 -27 -26 -27 -26 -25 -25 -25 -24 -24 -25 -25 -25 -25 -24 -22 -23 -22 -21 -20 -19 -19 -20 -21 -21 -22 -23 -23 -21 -20 -19 -18 -18 -18 -18 -18 -18 -19 -20 -22 -22 -22 -22 -22 -22 -24 -26 -29 -30 -30 -29 -29 -29 -31 -33 -33 -30 -23 -22 -21 -21 -20 -19 -19 -19 -19 -18 -17 -15 -12 -9 -7 -6 -7 -8 -9 -10 -11 -12 -13 -15 -17 -19 -21 -24 -26 -29 -31 -33 -33 -32 -31 -32 -33 -33 -32 -31 -30 -31 -32 -30 -25 -20 -17 -17 -16 -15 -14 -14 -14 -16 -17 -19 -20 -22 -25 -27 -28 -28 -27 -26 -27 -28 -29 -31 -33 -37 -40 -40 -37 -32 -29 -30 -29 -28 -26 -24 -24 -24 -24 -25 -26 -28 -32 -35 -36 -35 -35 -36 -38 -40 -38 -33 -26 -17 -13 -12 -13 -17 -17 -15 -16 -20 -24 -24 -22 -20 -19 -20 -20 -19 -18 -16 -15 -16 -19 -21 -20 -20 -20 -21 -20 -16 -11 -7 -4 -3 -2 -1 0 2 1 -0 -2 -4 -6 -9 -11 -13 -14 -14 -16 -20 -26 -33 -36 -35 -31 -25 -21 -21 -21 -22 -21 -18 -16 -13 -11 -10 -12 -14 -18 -20 -22 -25 -29 -35 -42 -46 -45 -40 -34 -33 -34 -34 -34 -33 -30 -27 -27 -29 -36 -41 -45 -47 -51 -52 -50 -45 -39 -37 -38 -36 -31 -22 -17 -15 -15 -16 -17 -17 -18 -19 -22 -24 -25 -26 -27 -29 -31 -34 -37 -38 -37 -34 -30 -25 -21 -22 -20 -17 -14 -12 -13 -15 -19 -21 -21 -20 -18 -16 -15 -15 -17 -18 -17 -19 -22 -25 -26 -27 -28 -31 -33 -33 -33 -32 -31 -29 -31 -31 -30 -29 -29 -28 -24 -20 -17 -21 -23 -24 -24 -25 -29 -31 -33 -34 -34 -33 -35 -38 -42 -42 -43 -45 -49 -53 -55 -55 -54 -53 -50 -47 -45 -45 -46 -49 -51 -51 -51 -50 -50 -49 -49 -49 -45 -44 -42 -41 -38 -36 -36 -38 -41 -46 -50 -52 -52 -49 -48 -47 -47 -48 -47 -43 -38 -34 -32 -30 -29 -29 -29 -31 -30 -30 -29 -27 -27 -26 -26 -26 -25 -26 -28 -31 -32 -32 -33 -33 -33 -30 -29 -29 -31 -32 -31 -29 -26 -26 -28 -28 -28 -27 -26 -26 -25 -25 -25 -25 -24 -24 -24 -24 -25 -25 -25 -24 -23 -23 -22 -21 -20 -19 -19 -21 -22 -22 -22 -21 -20 -19 -19 -18 -18 -18 -19 -18 -18 -18 -19 -20 -22 -23 -23 -23 -23 -23 -23 -25 -27 -28 -29 -29 -29 -28 -30 -32 -33 -31 -22 -22 -21 -20 -19 -18 -17 -18 -18 -18 -17 -15 -12 -9 -7 -6 -7 -9 -10 -10 -10 -12 -14 -16 -18 -20 -22 -24 -26 -29 -31 -33 -32 -30 -30 -31 -32 -32 -31 -30 -29 -29 -29 -26 -22 -19 -17 -17 -16 -14 -13 -12 -12 -13 -14 -16 -18 -22 -26 -30 -32 -30 -28 -27 -27 -28 -29 -31 -33 -37 -41 -39 -36 -32 -29 -30 -30 -29 -28 -26 -25 -25 -25 -26 -28 -31 -33 -35 -35 -35 -36 -37 -39 -40 -37 -31 -22 -15 -12 -11 -13 -17 -18 -16 -16 -18 -21 -23 -22 -20 -18 -19 -19 -19 -19 -18 -17 -18 -18 -18 -17 -17 -18 -20 -20 -16 -12 -9 -6 -4 -3 -2 -0 2 3 2 0 -2 -3 -5 -8 -12 -16 -18 -20 -22 -26 -32 -36 -36 -34 -29 -25 -23 -21 -20 -19 -18 -17 -14 -12 -10 -11 -13 -15 -17 -19 -22 -27 -33 -41 -47 -47 -43 -36 -33 -31 -31 -31 -31 -29 -27 -27 -29 -34 -38 -43 -48 -50 -48 -45 -41 -37 -34 -35 -35 -32 -25 -20 -17 -16 -16 -17 -17 -17 -18 -20 -22 -23 -24 -25 -27 -29 -33 -36 -38 -36 -34 -30 -25 -22 -22 -21 -19 -16 -13 -12 -13 -15 -17 -19 -20 -20 -19 -17 -17 -17 -17 -17 -20 -23 -25 -25 -25 -27 -29 -31 -33 -33 -31 -29 -28 -30 -31 -30 -30 -30 -31 -29 -25 -20 -20 -21 -21 -20 -22 -26 -29 -31 -33 -34 -34 -36 -40 -44 -44 -44 -44 -47 -52 -54 -54 -53 -51 -49 -47 -46 -47 -48 -51 -52 -52 -51 -51 -51 -51 -50 -50 -47 -45 -43 -42 -40 -39 -38 -38 -40 -44 -48 -51 -51 -49 -47 -46 -46 -47 -47 -44 -41 -37 -34 -32 -30 -29 -29 -31 -30 -29 -28 -27 -26 -26 -26 -26 -24 -25 -27 -30 -33 -33 -33 -34 -35 -32 -30 -29 -29 -30 -29 -27 -26 -25 -28 -28 -27 -25 -25 -25 -24 -24 -24 -24 -24 -24 -24 -24 -25 -25 -24 -24 -23 -22 -21 -20 -20 -19 -20 -21 -22 -23 -22 -20 -18 -19 -19 -18 -17 -17 -19 -19 -19 -18 -18 -20 -23 -24 -24 -25 -25 -24 -23 -24 -26 -27 -28 -28 -28 -28 -29 -31 -33 -32 -21 -21 -20 -19 -18 -17 -17 -17 -18 -18 -17 -14 -11 -9 -6 -6 -7 -9 -11 -11 -10 -11 -14 -17 -19 -21 -23 -25 -27 -29 -31 -31 -30 -28 -28 -29 -31 -32 -31 -30 -29 -28 -26 -23 -20 -19 -18 -18 -16 -13 -12 -11 -11 -12 -13 -15 -19 -23 -27 -30 -31 -30 -29 -28 -28 -29 -30 -31 -34 -38 -40 -39 -36 -32 -31 -31 -31 -30 -28 -27 -27 -27 -26 -26 -29 -33 -36 -36 -35 -35 -37 -38 -39 -38 -35 -28 -20 -12 -9 -10 -14 -19 -19 -17 -15 -16 -18 -20 -22 -23 -21 -21 -20 -20 -19 -18 -17 -18 -17 -16 -13 -13 -15 -17 -18 -16 -14 -12 -10 -7 -5 -4 -1 2 4 4 2 0 -1 -3 -6 -10 -15 -19 -23 -26 -29 -32 -34 -35 -34 -32 -29 -25 -22 -19 -18 -17 -17 -15 -12 -11 -12 -13 -14 -14 -16 -19 -23 -29 -37 -44 -47 -45 -40 -34 -31 -30 -31 -32 -30 -29 -29 -31 -34 -37 -41 -46 -50 -49 -47 -44 -40 -35 -33 -31 -30 -27 -22 -19 -16 -16 -16 -17 -17 -18 -20 -21 -22 -23 -24 -26 -28 -31 -35 -38 -35 -32 -28 -25 -23 -23 -22 -20 -17 -14 -13 -12 -12 -13 -15 -17 -20 -21 -21 -20 -18 -16 -16 -19 -23 -25 -25 -25 -26 -27 -29 -32 -33 -31 -28 -27 -29 -30 -30 -31 -31 -33 -31 -27 -21 -18 -18 -18 -18 -20 -24 -26 -28 -31 -35 -36 -37 -40 -45 -45 -45 -45 -47 -50 -51 -52 -52 -50 -49 -48 -48 -50 -51 -52 -52 -52 -52 -53 -54 -54 -54 -52 -48 -46 -44 -43 -42 -42 -41 -40 -40 -42 -45 -48 -51 -49 -47 -46 -46 -46 -46 -45 -43 -40 -37 -37 -34 -30 -28 -29 -29 -28 -27 -26 -25 -25 -24 -24 -22 -23 -26 -29 -32 -33 -34 -36 -37 -34 -32 -30 -29 -29 -28 -27 -26 -26 -27 -27 -25 -24 -24 -24 -24 -23 -23 -23 -23 -23 -23 -24 -24 -25 -25 -24 -23 -21 -20 -19 -20 -20 -20 -20 -21 -22 -22 -20 -19 -20 -19 -18 -17 -18 -19 -19 -19 -18 -18 -20 -23 -25 -25 -25 -25 -24 -24 -24 -25 -26 -25 -26 -27 -28 -30 -31 -32 -31 -20 -19 -19 -18 -16 -16 -16 -16 -17 -17 -16 -13 -11 -8 -6 -6 -7 -9 -11 -11 -11 -12 -15 -19 -21 -23 -25 -26 -27 -29 -30 -29 -28 -26 -26 -28 -29 -30 -30 -30 -28 -26 -23 -20 -19 -19 -19 -18 -16 -13 -11 -10 -10 -11 -13 -15 -19 -22 -25 -28 -29 -29 -28 -28 -28 -30 -30 -31 -33 -36 -38 -37 -36 -34 -32 -32 -31 -30 -29 -28 -28 -28 -27 -27 -30 -34 -37 -37 -36 -36 -37 -38 -38 -35 -31 -25 -18 -11 -9 -11 -16 -20 -19 -16 -15 -15 -17 -18 -21 -23 -24 -23 -22 -21 -20 -19 -17 -17 -17 -15 -11 -10 -11 -13 -16 -16 -15 -14 -12 -9 -7 -5 -3 -0 2 3 2 1 -1 -2 -4 -8 -12 -18 -24 -28 -30 -31 -33 -35 -35 -33 -29 -25 -22 -19 -17 -16 -16 -15 -13 -12 -13 -13 -13 -12 -14 -16 -19 -24 -31 -38 -43 -44 -41 -36 -33 -32 -31 -32 -31 -31 -32 -34 -35 -36 -39 -42 -46 -48 -48 -46 -44 -38 -33 -29 -28 -27 -23 -20 -18 -16 -16 -16 -17 -19 -20 -21 -22 -23 -23 -24 -26 -30 -34 -37 -35 -31 -28 -26 -25 -24 -22 -21 -18 -15 -14 -13 -12 -12 -12 -14 -17 -21 -24 -23 -21 -19 -19 -19 -22 -25 -26 -26 -27 -28 -29 -31 -32 -31 -28 -26 -28 -29 -30 -30 -31 -32 -31 -27 -21 -19 -18 -17 -17 -19 -23 -25 -26 -28 -34 -38 -39 -40 -44 -45 -46 -46 -47 -48 -49 -50 -51 -50 -49 -50 -50 -52 -51 -51 -52 -52 -54 -56 -57 -58 -57 -54 -50 -48 -47 -46 -45 -45 -45 -44 -42 -42 -43 -46 -50 -49 -48 -46 -46 -46 -45 -44 -43 -40 -41 -42 -39 -33 -29 -29 -28 -27 -26 -26 -25 -25 -24 -23 -22 -22 -25 -28 -31 -33 -34 -36 -37 -36 -34 -32 -31 -30 -29 -28 -26 -25 -26 -26 -25 -25 -25 -25 -24 -22 -22 -22 -22 -23 -24 -24 -24 -24 -24 -24 -23 -22 -20 -20 -20 -20 -20 -20 -20 -21 -21 -20 -20 -20 -20 -19 -19 -20 -21 -20 -19 -18 -19 -21 -23 -25 -25 -24 -24 -24 -24 -24 -25 -25 -25 -26 -27 -28 -29 -31 -31 -30 -19 -18 -18 -16 -14 -13 -14 -15 -16 -16 -14 -11 -9 -7 -6 -6 -7 -9 -10 -11 -12 -15 -18 -20 -22 -24 -26 -27 -28 -28 -28 -27 -25 -24 -25 -26 -28 -28 -27 -27 -25 -23 -20 -17 -17 -18 -19 -19 -16 -13 -10 -9 -9 -10 -12 -15 -18 -21 -23 -25 -26 -27 -27 -27 -28 -28 -29 -30 -32 -33 -34 -34 -34 -34 -33 -31 -30 -29 -29 -30 -30 -28 -27 -27 -30 -34 -36 -38 -37 -36 -36 -36 -36 -32 -27 -22 -17 -12 -11 -14 -17 -19 -18 -16 -15 -16 -18 -19 -21 -23 -23 -22 -22 -21 -21 -20 -18 -18 -18 -16 -12 -9 -8 -10 -13 -14 -14 -14 -12 -10 -7 -6 -5 -3 -1 1 1 0 -1 -2 -4 -6 -10 -15 -21 -26 -29 -29 -30 -32 -34 -32 -27 -22 -18 -17 -16 -16 -16 -15 -14 -13 -13 -13 -12 -12 -13 -15 -17 -20 -25 -31 -36 -39 -37 -35 -34 -33 -32 -31 -32 -33 -35 -36 -37 -38 -39 -41 -45 -47 -47 -47 -46 -42 -34 -28 -26 -26 -23 -21 -19 -18 -18 -17 -18 -19 -20 -21 -22 -23 -23 -24 -26 -28 -31 -35 -34 -32 -31 -29 -26 -23 -22 -20 -18 -16 -15 -15 -14 -13 -13 -14 -16 -20 -23 -23 -22 -20 -19 -19 -21 -24 -26 -27 -28 -29 -29 -30 -31 -30 -29 -26 -27 -27 -28 -28 -30 -30 -28 -25 -22 -21 -19 -18 -18 -18 -21 -22 -23 -25 -32 -37 -41 -42 -43 -44 -46 -47 -47 -46 -47 -48 -49 -49 -50 -50 -52 -53 -53 -53 -53 -53 -55 -57 -59 -60 -59 -55 -52 -50 -49 -50 -50 -50 -49 -48 -45 -43 -43 -46 -49 -50 -48 -46 -45 -45 -44 -43 -42 -40 -43 -44 -42 -35 -31 -30 -29 -27 -26 -26 -27 -27 -26 -24 -22 -22 -24 -26 -29 -33 -35 -36 -37 -37 -35 -34 -32 -31 -31 -29 -27 -25 -25 -25 -24 -25 -25 -25 -23 -21 -21 -22 -23 -24 -25 -25 -24 -23 -23 -23 -23 -22 -21 -20 -19 -19 -19 -19 -19 -20 -21 -21 -22 -21 -21 -21 -20 -22 -23 -22 -20 -19 -20 -22 -24 -25 -24 -23 -23 -24 -24 -23 -23 -23 -23 -25 -26 -27 -29 -31 -31 -30 -17 -17 -17 -14 -13 -12 -13 -15 -15 -14 -12 -10 -9 -8 -6 -5 -6 -8 -9 -11 -13 -17 -19 -20 -21 -23 -26 -27 -27 -27 -27 -25 -23 -22 -24 -25 -26 -25 -23 -23 -22 -20 -18 -15 -15 -17 -19 -19 -17 -14 -11 -9 -9 -11 -13 -15 -18 -21 -22 -24 -25 -26 -26 -26 -26 -27 -27 -28 -30 -31 -30 -31 -32 -33 -33 -29 -27 -28 -29 -31 -29 -27 -25 -27 -30 -32 -35 -37 -38 -37 -35 -34 -33 -32 -27 -21 -16 -13 -14 -16 -19 -19 -17 -15 -15 -17 -20 -22 -24 -24 -22 -20 -19 -19 -19 -19 -19 -20 -20 -18 -14 -9 -7 -7 -9 -11 -12 -11 -11 -9 -6 -5 -5 -6 -5 -3 -1 -1 -2 -3 -4 -6 -10 -14 -18 -22 -25 -27 -29 -31 -31 -28 -22 -18 -15 -15 -16 -16 -16 -16 -15 -14 -13 -12 -11 -12 -13 -15 -17 -20 -24 -28 -31 -33 -33 -32 -33 -33 -32 -31 -33 -35 -38 -39 -40 -41 -42 -43 -45 -46 -46 -46 -47 -43 -35 -27 -22 -22 -22 -21 -21 -20 -20 -19 -19 -20 -21 -21 -22 -22 -23 -25 -26 -28 -30 -32 -34 -34 -33 -31 -26 -23 -21 -19 -18 -17 -16 -15 -15 -15 -16 -16 -17 -17 -19 -21 -22 -21 -21 -20 -21 -22 -24 -25 -27 -27 -27 -27 -28 -29 -28 -27 -26 -26 -26 -26 -27 -27 -26 -24 -24 -23 -22 -21 -20 -20 -21 -21 -22 -25 -30 -35 -40 -44 -44 -44 -45 -47 -46 -46 -46 -46 -47 -48 -49 -51 -52 -54 -54 -54 -54 -54 -56 -59 -61 -61 -59 -56 -53 -52 -52 -53 -53 -53 -52 -51 -48 -46 -45 -46 -49 -50 -49 -47 -46 -45 -43 -42 -42 -40 -41 -41 -41 -36 -33 -31 -30 -28 -27 -27 -28 -30 -29 -25 -23 -22 -23 -24 -26 -29 -32 -34 -36 -36 -36 -35 -33 -32 -31 -30 -28 -26 -25 -24 -23 -24 -25 -24 -22 -20 -21 -23 -25 -26 -27 -26 -24 -23 -22 -22 -22 -22 -20 -20 -19 -18 -18 -17 -17 -18 -20 -22 -23 -23 -22 -22 -21 -23 -24 -23 -20 -18 -18 -22 -25 -26 -24 -22 -22 -22 -22 -21 -20 -20 -22 -24 -25 -27 -28 -30 -31 -30 -16 -16 -16 -13 -12 -11 -12 -14 -14 -13 -11 -10 -10 -9 -7 -5 -6 -7 -9 -10 -13 -17 -19 -19 -20 -23 -25 -26 -26 -26 -25 -23 -21 -21 -23 -23 -23 -22 -20 -19 -19 -18 -16 -14 -13 -15 -17 -19 -17 -15 -13 -12 -11 -12 -14 -16 -19 -21 -23 -25 -27 -27 -25 -24 -24 -24 -24 -25 -27 -28 -27 -27 -29 -30 -30 -27 -25 -26 -30 -31 -28 -24 -23 -27 -30 -31 -33 -35 -37 -36 -33 -31 -32 -35 -31 -24 -17 -14 -14 -17 -20 -21 -18 -17 -17 -19 -21 -25 -27 -26 -22 -16 -13 -12 -13 -14 -18 -21 -22 -21 -15 -11 -8 -7 -8 -8 -8 -8 -7 -7 -4 -2 -3 -6 -9 -8 -6 -3 -3 -4 -6 -8 -12 -15 -18 -20 -22 -24 -27 -28 -27 -22 -18 -15 -14 -13 -15 -16 -16 -16 -16 -16 -14 -13 -12 -12 -13 -15 -17 -20 -24 -27 -29 -30 -29 -29 -29 -31 -32 -32 -33 -36 -40 -42 -43 -44 -45 -45 -47 -46 -45 -44 -44 -43 -36 -27 -19 -19 -20 -21 -22 -21 -21 -21 -22 -22 -22 -22 -22 -22 -23 -25 -27 -29 -31 -33 -35 -35 -34 -31 -28 -24 -21 -19 -19 -19 -18 -16 -15 -17 -18 -18 -17 -16 -17 -20 -23 -24 -23 -21 -20 -20 -21 -23 -25 -26 -26 -26 -27 -28 -28 -27 -27 -27 -27 -27 -26 -25 -25 -25 -26 -26 -25 -24 -23 -24 -23 -23 -23 -27 -31 -36 -41 -45 -44 -43 -44 -45 -47 -46 -45 -44 -45 -47 -49 -51 -52 -54 -55 -55 -55 -56 -57 -59 -61 -61 -59 -56 -54 -54 -54 -55 -54 -54 -54 -53 -52 -50 -48 -46 -48 -50 -49 -48 -47 -44 -42 -41 -41 -40 -39 -38 -37 -36 -34 -32 -31 -29 -28 -28 -29 -31 -30 -25 -23 -22 -22 -22 -23 -25 -27 -31 -33 -35 -36 -37 -34 -32 -32 -31 -29 -27 -25 -24 -23 -23 -24 -23 -22 -19 -19 -22 -24 -26 -27 -26 -25 -24 -22 -22 -22 -21 -20 -21 -21 -19 -19 -18 -17 -18 -20 -21 -23 -23 -23 -23 -22 -24 -25 -25 -22 -18 -18 -20 -23 -24 -22 -20 -20 -21 -20 -19 -19 -19 -20 -22 -24 -26 -28 -30 -31 -30 -15 -15 -14 -12 -11 -10 -11 -13 -13 -12 -11 -11 -10 -10 -8 -7 -7 -8 -9 -10 -13 -16 -18 -19 -20 -23 -25 -26 -25 -24 -23 -21 -20 -20 -21 -21 -20 -19 -16 -16 -16 -16 -14 -12 -12 -13 -15 -17 -17 -17 -16 -15 -14 -14 -16 -18 -20 -22 -25 -28 -31 -29 -25 -22 -21 -21 -22 -22 -23 -24 -24 -24 -25 -27 -27 -26 -26 -27 -30 -29 -25 -23 -24 -28 -31 -31 -30 -31 -33 -33 -30 -28 -30 -36 -36 -29 -20 -14 -12 -14 -18 -22 -21 -19 -20 -21 -23 -25 -28 -28 -24 -14 -8 -5 -5 -8 -14 -21 -24 -23 -16 -12 -10 -10 -10 -8 -6 -4 -4 -4 -1 2 1 -4 -9 -12 -12 -9 -7 -7 -8 -12 -16 -20 -22 -22 -22 -22 -23 -23 -22 -18 -15 -14 -13 -13 -14 -15 -16 -17 -17 -17 -16 -14 -13 -12 -12 -14 -16 -19 -23 -26 -28 -29 -28 -27 -26 -27 -29 -30 -31 -34 -39 -43 -44 -45 -45 -46 -47 -45 -43 -40 -40 -41 -37 -30 -22 -19 -19 -21 -22 -22 -23 -24 -24 -24 -25 -25 -24 -23 -23 -26 -28 -30 -33 -35 -36 -36 -35 -32 -29 -26 -23 -21 -21 -21 -21 -19 -17 -16 -16 -16 -16 -16 -18 -22 -26 -29 -26 -22 -19 -19 -20 -21 -23 -24 -25 -26 -26 -27 -28 -28 -27 -28 -28 -28 -26 -25 -25 -27 -29 -29 -29 -27 -27 -29 -28 -27 -27 -29 -33 -37 -42 -45 -44 -42 -42 -43 -46 -46 -45 -44 -44 -46 -48 -51 -52 -54 -56 -57 -57 -57 -58 -59 -60 -60 -59 -57 -56 -55 -55 -56 -56 -55 -55 -55 -54 -52 -50 -48 -48 -49 -49 -49 -48 -44 -40 -39 -40 -41 -40 -38 -37 -36 -35 -34 -33 -31 -29 -28 -28 -28 -27 -24 -23 -22 -21 -21 -21 -22 -24 -27 -30 -32 -35 -37 -35 -33 -32 -31 -29 -28 -26 -24 -24 -24 -23 -23 -22 -19 -19 -21 -23 -26 -26 -25 -25 -23 -22 -22 -22 -22 -22 -23 -22 -21 -20 -19 -18 -18 -19 -20 -21 -23 -23 -24 -23 -24 -26 -27 -25 -21 -19 -19 -21 -23 -21 -20 -19 -19 -18 -18 -19 -18 -19 -21 -23 -26 -28 -30 -30 -30 -13 -13 -12 -10 -10 -10 -11 -12 -12 -12 -11 -11 -10 -10 -10 -9 -8 -9 -10 -11 -13 -15 -17 -19 -21 -24 -25 -25 -24 -23 -21 -19 -18 -17 -17 -17 -17 -15 -13 -13 -13 -12 -11 -10 -11 -13 -14 -16 -16 -18 -18 -18 -16 -17 -18 -20 -21 -22 -26 -31 -34 -30 -23 -19 -18 -19 -19 -19 -20 -20 -22 -24 -26 -27 -28 -28 -29 -29 -29 -27 -25 -25 -27 -30 -31 -30 -28 -27 -28 -27 -24 -24 -27 -32 -34 -30 -23 -15 -12 -12 -15 -21 -23 -22 -22 -23 -24 -26 -27 -27 -25 -18 -12 -6 -2 -2 -10 -17 -22 -22 -17 -13 -13 -15 -17 -13 -7 -2 -1 -1 2 5 6 3 -4 -10 -15 -16 -13 -11 -12 -16 -21 -26 -28 -28 -25 -22 -20 -19 -17 -15 -14 -14 -13 -13 -13 -15 -16 -16 -16 -17 -17 -16 -15 -13 -13 -14 -15 -18 -21 -24 -26 -28 -28 -27 -25 -25 -26 -28 -29 -33 -37 -41 -44 -45 -45 -45 -46 -44 -40 -37 -35 -36 -35 -32 -25 -21 -20 -21 -22 -24 -24 -25 -26 -27 -27 -27 -26 -24 -25 -26 -28 -31 -33 -36 -38 -38 -37 -34 -30 -27 -25 -24 -24 -25 -25 -23 -19 -14 -12 -12 -14 -15 -18 -24 -29 -32 -28 -23 -20 -19 -19 -20 -21 -23 -24 -24 -25 -26 -27 -27 -27 -27 -28 -29 -29 -29 -29 -31 -33 -35 -35 -33 -31 -33 -33 -32 -31 -32 -34 -38 -42 -45 -44 -42 -41 -42 -44 -45 -45 -45 -45 -46 -48 -50 -52 -55 -57 -58 -58 -57 -57 -57 -58 -59 -59 -59 -57 -56 -56 -57 -57 -56 -56 -55 -54 -53 -52 -50 -49 -48 -49 -49 -47 -44 -41 -40 -41 -41 -41 -40 -38 -37 -37 -36 -35 -33 -30 -27 -25 -23 -23 -24 -24 -23 -21 -20 -20 -21 -23 -25 -27 -31 -34 -37 -36 -35 -33 -31 -30 -28 -27 -25 -25 -25 -24 -23 -22 -20 -21 -23 -25 -27 -27 -25 -23 -21 -21 -21 -22 -22 -23 -24 -24 -23 -22 -20 -18 -18 -19 -20 -21 -22 -23 -24 -23 -23 -25 -27 -26 -22 -20 -19 -20 -21 -20 -19 -19 -18 -18 -19 -19 -18 -18 -20 -23 -26 -29 -30 -30 -30 -12 -11 -10 -9 -9 -10 -11 -11 -12 -12 -11 -11 -10 -11 -11 -10 -9 -9 -11 -12 -14 -15 -17 -19 -22 -24 -25 -24 -23 -21 -19 -17 -15 -14 -14 -15 -14 -13 -11 -10 -9 -9 -8 -9 -10 -12 -14 -15 -17 -18 -18 -18 -17 -18 -19 -20 -20 -21 -25 -30 -32 -27 -20 -17 -17 -18 -18 -18 -17 -18 -19 -22 -25 -27 -29 -30 -30 -28 -27 -25 -27 -29 -31 -32 -31 -29 -27 -26 -26 -23 -21 -20 -24 -29 -31 -28 -22 -15 -11 -11 -14 -19 -23 -25 -25 -25 -25 -24 -24 -24 -24 -23 -20 -14 -6 -2 -6 -11 -16 -18 -16 -13 -13 -17 -22 -20 -12 -4 0 -0 1 3 5 5 3 -2 -9 -15 -17 -16 -18 -22 -27 -32 -33 -31 -26 -22 -19 -17 -15 -14 -14 -14 -13 -13 -13 -14 -16 -16 -16 -17 -17 -17 -16 -15 -15 -15 -15 -16 -19 -21 -24 -26 -28 -28 -26 -25 -26 -27 -29 -31 -35 -40 -43 -44 -45 -46 -46 -44 -40 -34 -32 -32 -32 -31 -26 -22 -21 -21 -22 -24 -26 -27 -28 -28 -29 -28 -27 -27 -27 -27 -29 -31 -34 -37 -39 -41 -40 -36 -31 -28 -27 -27 -28 -29 -30 -28 -23 -17 -13 -12 -13 -15 -18 -22 -26 -29 -28 -24 -21 -19 -19 -19 -20 -21 -21 -21 -21 -23 -25 -26 -26 -26 -28 -30 -32 -33 -34 -35 -36 -36 -36 -34 -33 -34 -35 -35 -34 -34 -36 -38 -42 -45 -44 -42 -41 -41 -43 -44 -45 -46 -46 -48 -50 -52 -53 -55 -57 -58 -57 -56 -55 -55 -56 -58 -59 -59 -58 -57 -57 -58 -58 -57 -55 -54 -53 -53 -53 -53 -51 -50 -49 -49 -47 -46 -45 -43 -41 -41 -41 -40 -39 -38 -38 -38 -37 -35 -32 -29 -25 -22 -23 -24 -25 -24 -22 -20 -20 -21 -23 -24 -27 -30 -34 -37 -37 -36 -35 -33 -31 -29 -26 -25 -25 -26 -25 -23 -22 -20 -21 -24 -26 -28 -26 -23 -21 -20 -19 -20 -20 -22 -23 -24 -24 -24 -24 -20 -18 -18 -18 -19 -20 -21 -23 -24 -22 -22 -23 -25 -25 -22 -19 -18 -19 -19 -19 -19 -18 -18 -18 -19 -18 -17 -17 -20 -23 -26 -28 -29 -28 -29 -11 -10 -9 -8 -8 -9 -10 -10 -11 -11 -11 -11 -11 -11 -11 -10 -9 -9 -11 -14 -16 -17 -17 -19 -22 -24 -24 -23 -21 -19 -16 -13 -10 -9 -10 -11 -12 -11 -9 -8 -8 -7 -8 -9 -11 -13 -14 -15 -17 -17 -17 -17 -18 -18 -19 -19 -19 -19 -23 -26 -28 -23 -18 -15 -15 -16 -17 -18 -19 -19 -19 -21 -23 -26 -28 -30 -29 -27 -26 -26 -29 -31 -32 -32 -31 -29 -28 -26 -25 -23 -22 -22 -23 -25 -26 -24 -20 -14 -12 -11 -13 -17 -23 -26 -28 -28 -28 -24 -21 -19 -20 -25 -27 -22 -12 -3 -4 -7 -10 -13 -12 -12 -14 -17 -22 -22 -15 -6 0 0 0 1 2 3 2 0 -3 -7 -11 -14 -19 -24 -27 -30 -31 -28 -24 -20 -18 -17 -15 -13 -13 -13 -13 -14 -14 -14 -15 -16 -16 -16 -16 -16 -16 -16 -16 -16 -16 -16 -16 -19 -22 -24 -27 -28 -28 -27 -27 -27 -29 -31 -34 -38 -42 -44 -45 -46 -47 -45 -40 -34 -31 -31 -30 -29 -26 -23 -22 -21 -21 -23 -25 -28 -30 -31 -31 -31 -30 -29 -29 -29 -30 -31 -34 -37 -40 -42 -42 -38 -33 -30 -28 -29 -33 -35 -35 -32 -27 -21 -16 -14 -14 -15 -18 -20 -22 -24 -24 -23 -21 -18 -17 -18 -19 -20 -19 -17 -17 -19 -23 -25 -25 -25 -27 -30 -31 -33 -35 -37 -36 -36 -35 -35 -36 -37 -37 -36 -37 -37 -38 -40 -43 -46 -45 -43 -42 -42 -43 -44 -45 -47 -47 -49 -51 -53 -55 -55 -56 -56 -56 -54 -53 -53 -54 -56 -58 -58 -59 -58 -57 -57 -57 -57 -55 -54 -54 -54 -54 -54 -53 -51 -49 -48 -48 -48 -48 -46 -43 -41 -40 -39 -38 -38 -38 -39 -39 -37 -34 -30 -26 -23 -23 -25 -27 -26 -24 -22 -21 -22 -25 -25 -27 -30 -34 -37 -37 -37 -36 -34 -31 -29 -27 -25 -25 -24 -23 -22 -20 -20 -20 -22 -24 -25 -23 -21 -20 -21 -21 -22 -22 -23 -23 -24 -24 -24 -24 -21 -19 -18 -18 -18 -19 -20 -22 -22 -21 -21 -22 -24 -22 -20 -18 -16 -16 -17 -18 -19 -18 -18 -18 -19 -19 -17 -18 -20 -23 -26 -28 -28 -27 -27 -11 -10 -8 -8 -8 -8 -9 -9 -9 -10 -11 -12 -12 -11 -11 -9 -8 -9 -11 -14 -17 -18 -19 -21 -23 -24 -24 -22 -20 -17 -13 -9 -6 -5 -7 -9 -9 -9 -7 -7 -7 -7 -8 -11 -13 -14 -15 -16 -17 -17 -17 -17 -17 -18 -19 -19 -18 -18 -21 -23 -24 -21 -17 -15 -15 -16 -17 -19 -20 -20 -20 -20 -22 -24 -27 -28 -28 -28 -27 -28 -29 -31 -32 -32 -30 -29 -29 -27 -24 -23 -25 -27 -27 -24 -22 -21 -18 -14 -12 -11 -12 -16 -23 -28 -30 -30 -30 -26 -21 -18 -19 -25 -28 -24 -14 -5 -4 -6 -8 -10 -11 -12 -13 -15 -17 -18 -13 -6 -0 1 1 1 1 0 -1 -1 -3 -5 -9 -15 -21 -25 -25 -24 -23 -22 -20 -18 -18 -17 -16 -14 -13 -13 -14 -15 -15 -15 -15 -16 -16 -15 -15 -15 -16 -17 -18 -18 -17 -17 -16 -17 -18 -21 -23 -26 -27 -28 -27 -27 -28 -30 -33 -36 -39 -41 -43 -44 -46 -44 -40 -35 -32 -30 -29 -28 -27 -26 -24 -23 -22 -23 -24 -27 -29 -31 -32 -32 -31 -31 -31 -32 -32 -33 -35 -37 -40 -42 -43 -41 -37 -33 -30 -31 -36 -39 -38 -32 -27 -22 -18 -15 -15 -16 -18 -20 -21 -23 -23 -22 -19 -17 -16 -18 -21 -20 -16 -13 -14 -18 -23 -24 -24 -23 -25 -27 -29 -32 -34 -37 -37 -37 -37 -38 -39 -39 -38 -36 -36 -37 -38 -41 -45 -47 -46 -44 -43 -43 -44 -45 -47 -48 -49 -50 -53 -55 -56 -54 -54 -55 -54 -53 -52 -52 -53 -54 -55 -57 -58 -58 -58 -57 -57 -56 -56 -55 -55 -55 -54 -53 -53 -52 -50 -47 -48 -49 -48 -44 -42 -40 -39 -38 -38 -38 -38 -39 -40 -39 -36 -31 -26 -23 -23 -25 -27 -29 -29 -26 -24 -23 -25 -25 -27 -29 -33 -35 -37 -37 -37 -35 -32 -30 -29 -27 -26 -25 -23 -21 -19 -19 -20 -20 -21 -21 -20 -19 -20 -22 -23 -23 -23 -23 -22 -22 -22 -23 -23 -21 -20 -19 -18 -18 -18 -19 -21 -21 -21 -21 -21 -22 -21 -19 -16 -14 -14 -16 -19 -21 -19 -19 -19 -19 -20 -18 -19 -21 -24 -27 -28 -28 -27 -26 -11 -9 -8 -7 -7 -7 -7 -7 -8 -10 -12 -14 -13 -12 -11 -10 -8 -9 -11 -14 -16 -19 -20 -22 -23 -24 -23 -21 -19 -16 -11 -6 -4 -4 -6 -8 -8 -7 -5 -5 -6 -8 -10 -13 -16 -17 -17 -18 -17 -16 -16 -15 -16 -17 -17 -17 -17 -17 -18 -20 -21 -19 -17 -16 -16 -17 -18 -19 -20 -20 -20 -20 -21 -23 -26 -27 -28 -28 -29 -29 -29 -30 -31 -31 -29 -29 -29 -27 -23 -21 -25 -29 -29 -24 -21 -20 -18 -14 -12 -11 -12 -15 -22 -28 -31 -31 -30 -27 -24 -21 -22 -25 -25 -21 -13 -6 -4 -5 -8 -10 -10 -11 -12 -12 -11 -10 -9 -5 -2 1 1 1 1 -0 -2 -4 -6 -8 -12 -16 -20 -23 -22 -21 -20 -19 -17 -16 -16 -16 -16 -15 -14 -14 -15 -16 -17 -17 -18 -18 -17 -16 -15 -15 -16 -18 -19 -20 -20 -19 -18 -17 -17 -17 -19 -22 -24 -26 -27 -26 -27 -28 -30 -33 -35 -37 -38 -40 -42 -41 -38 -35 -32 -29 -28 -28 -28 -27 -26 -24 -23 -23 -23 -25 -27 -29 -31 -32 -32 -31 -32 -33 -33 -34 -36 -38 -40 -42 -44 -45 -43 -39 -33 -31 -35 -37 -35 -27 -22 -19 -18 -16 -16 -17 -18 -19 -21 -23 -22 -21 -19 -18 -19 -21 -23 -25 -22 -19 -17 -18 -22 -24 -23 -22 -23 -26 -28 -30 -32 -35 -36 -37 -38 -39 -40 -39 -38 -37 -36 -37 -39 -43 -48 -49 -47 -45 -44 -45 -46 -47 -49 -50 -50 -51 -54 -56 -56 -54 -53 -53 -52 -51 -51 -51 -51 -52 -53 -55 -56 -57 -57 -57 -57 -57 -57 -57 -56 -55 -54 -53 -53 -51 -50 -48 -49 -49 -47 -44 -42 -41 -40 -39 -38 -38 -38 -38 -39 -39 -36 -32 -27 -24 -22 -23 -26 -30 -32 -30 -27 -25 -24 -24 -26 -28 -30 -33 -36 -38 -38 -35 -33 -32 -31 -30 -28 -27 -26 -24 -23 -22 -22 -21 -20 -19 -19 -19 -19 -22 -23 -23 -23 -22 -21 -20 -20 -21 -21 -20 -19 -19 -18 -18 -18 -19 -21 -20 -20 -20 -20 -21 -20 -18 -15 -13 -13 -17 -21 -24 -21 -19 -19 -19 -20 -20 -20 -23 -26 -28 -29 -28 -27 -27 -11 -9 -8 -7 -6 -6 -6 -6 -9 -12 -14 -14 -13 -12 -12 -12 -10 -11 -12 -13 -15 -18 -21 -23 -24 -24 -23 -21 -19 -15 -8 -4 -2 -4 -7 -8 -8 -6 -5 -5 -7 -9 -13 -17 -19 -20 -20 -19 -18 -16 -15 -14 -14 -15 -16 -16 -15 -15 -16 -18 -19 -18 -17 -17 -17 -19 -20 -19 -19 -19 -20 -20 -21 -23 -25 -26 -27 -29 -30 -29 -29 -29 -30 -29 -28 -29 -29 -27 -23 -21 -23 -26 -27 -23 -22 -21 -18 -14 -12 -12 -13 -15 -22 -27 -29 -29 -28 -27 -26 -25 -25 -24 -20 -17 -13 -9 -6 -5 -7 -9 -10 -11 -10 -8 -6 -5 -5 -5 -3 -1 1 1 0 -0 -3 -6 -10 -12 -14 -15 -16 -16 -16 -18 -19 -18 -15 -14 -14 -15 -15 -16 -15 -15 -16 -17 -18 -18 -19 -20 -20 -18 -17 -16 -16 -18 -20 -22 -24 -23 -21 -19 -17 -16 -16 -17 -20 -22 -24 -24 -25 -26 -27 -29 -30 -31 -33 -35 -36 -36 -35 -33 -31 -29 -28 -28 -27 -28 -28 -26 -24 -23 -23 -24 -25 -27 -29 -31 -32 -32 -32 -33 -33 -35 -36 -38 -41 -43 -46 -50 -51 -47 -38 -29 -27 -27 -25 -19 -16 -16 -17 -18 -18 -19 -19 -19 -20 -21 -21 -19 -18 -20 -22 -24 -27 -29 -27 -24 -20 -18 -19 -20 -20 -21 -22 -25 -27 -30 -33 -35 -36 -36 -36 -38 -39 -39 -38 -37 -37 -38 -41 -45 -50 -50 -48 -46 -45 -46 -47 -50 -52 -52 -52 -53 -54 -56 -57 -54 -52 -51 -50 -50 -49 -49 -50 -51 -52 -53 -54 -55 -55 -56 -57 -58 -58 -57 -56 -56 -55 -53 -52 -50 -49 -49 -49 -49 -46 -43 -42 -41 -41 -40 -39 -39 -39 -39 -39 -39 -37 -33 -28 -24 -21 -21 -24 -30 -33 -32 -29 -26 -25 -25 -25 -27 -30 -33 -36 -38 -38 -35 -34 -34 -33 -32 -30 -29 -27 -26 -25 -24 -24 -24 -23 -23 -22 -21 -20 -21 -21 -21 -21 -20 -21 -21 -20 -20 -21 -21 -20 -19 -18 -18 -19 -20 -20 -19 -19 -19 -19 -20 -19 -17 -16 -15 -16 -19 -23 -24 -21 -19 -18 -18 -20 -20 -21 -23 -26 -29 -30 -30 -29 -29 -11 -10 -8 -7 -6 -5 -5 -6 -10 -13 -14 -14 -13 -13 -13 -13 -12 -12 -12 -14 -15 -18 -21 -22 -24 -24 -23 -21 -18 -13 -6 -2 -2 -4 -7 -9 -9 -7 -6 -6 -8 -11 -15 -19 -21 -21 -21 -20 -19 -17 -15 -13 -13 -14 -14 -14 -13 -13 -15 -17 -18 -18 -18 -19 -19 -20 -20 -20 -20 -19 -19 -19 -20 -22 -24 -26 -27 -29 -29 -29 -29 -30 -29 -27 -25 -27 -30 -30 -27 -23 -21 -21 -23 -23 -22 -22 -20 -15 -12 -12 -13 -16 -23 -27 -28 -27 -26 -27 -27 -26 -24 -21 -18 -16 -15 -13 -9 -6 -6 -8 -9 -9 -7 -5 -2 -2 -3 -4 -5 -3 -2 -1 -2 -2 -5 -8 -12 -15 -16 -14 -11 -9 -12 -16 -18 -18 -15 -14 -13 -14 -14 -15 -16 -17 -17 -18 -18 -19 -20 -22 -23 -21 -18 -16 -16 -17 -20 -23 -26 -26 -24 -22 -19 -17 -16 -17 -18 -19 -20 -21 -22 -24 -25 -26 -27 -28 -29 -31 -33 -33 -33 -32 -30 -29 -28 -27 -27 -28 -28 -27 -25 -24 -23 -23 -23 -25 -27 -30 -31 -32 -32 -32 -33 -35 -37 -39 -42 -45 -49 -54 -55 -51 -40 -27 -21 -19 -18 -18 -16 -16 -16 -18 -18 -19 -20 -20 -21 -21 -20 -19 -18 -20 -23 -26 -29 -31 -31 -28 -25 -21 -18 -16 -17 -18 -21 -24 -28 -31 -33 -34 -34 -34 -34 -35 -37 -38 -38 -38 -39 -41 -43 -47 -50 -50 -48 -46 -46 -47 -49 -51 -54 -55 -54 -54 -56 -58 -57 -55 -52 -50 -49 -48 -48 -48 -49 -50 -51 -52 -52 -53 -54 -55 -57 -58 -59 -58 -57 -56 -54 -52 -50 -49 -49 -50 -50 -49 -47 -44 -42 -41 -41 -41 -40 -40 -40 -39 -39 -39 -37 -34 -28 -25 -22 -21 -24 -28 -32 -33 -30 -28 -27 -27 -27 -28 -30 -33 -36 -38 -38 -35 -35 -35 -34 -33 -31 -29 -28 -27 -26 -25 -25 -25 -24 -24 -24 -23 -21 -20 -20 -19 -19 -20 -21 -21 -20 -20 -21 -21 -20 -18 -18 -18 -20 -22 -20 -18 -17 -18 -19 -19 -18 -17 -17 -17 -18 -19 -21 -21 -21 -20 -19 -17 -18 -19 -20 -22 -25 -29 -30 -30 -30 -30 -12 -10 -9 -7 -6 -5 -5 -7 -11 -13 -14 -14 -14 -14 -14 -14 -13 -13 -13 -14 -16 -18 -20 -21 -23 -23 -22 -20 -16 -10 -4 -1 -2 -4 -7 -9 -10 -9 -8 -8 -9 -13 -16 -20 -21 -21 -21 -20 -20 -18 -15 -12 -11 -13 -13 -12 -11 -11 -14 -16 -18 -19 -20 -21 -21 -21 -21 -21 -21 -20 -20 -18 -18 -20 -23 -26 -28 -29 -29 -29 -29 -29 -28 -24 -22 -24 -28 -32 -31 -25 -20 -17 -19 -21 -23 -22 -21 -16 -12 -11 -13 -17 -23 -27 -28 -26 -26 -27 -28 -27 -22 -17 -16 -15 -14 -13 -10 -8 -6 -7 -8 -8 -8 -6 -3 -2 -2 -4 -5 -5 -4 -3 -4 -6 -7 -10 -13 -15 -14 -12 -10 -9 -11 -15 -17 -18 -16 -14 -13 -13 -14 -15 -16 -17 -18 -19 -19 -20 -22 -23 -25 -23 -21 -18 -16 -17 -20 -24 -27 -29 -28 -25 -21 -18 -17 -17 -17 -17 -18 -19 -20 -21 -23 -24 -26 -27 -28 -30 -32 -32 -32 -30 -29 -28 -27 -27 -26 -27 -28 -27 -26 -24 -23 -23 -22 -23 -25 -28 -30 -31 -32 -32 -33 -35 -36 -38 -41 -45 -51 -55 -56 -51 -39 -27 -20 -19 -20 -21 -19 -17 -15 -15 -16 -17 -20 -22 -24 -24 -23 -20 -18 -19 -22 -26 -30 -32 -32 -30 -26 -21 -17 -15 -16 -17 -19 -24 -29 -32 -34 -35 -34 -33 -32 -33 -35 -37 -38 -39 -42 -44 -46 -49 -50 -49 -47 -46 -46 -47 -50 -52 -55 -56 -56 -56 -57 -59 -58 -56 -53 -50 -48 -46 -46 -47 -49 -50 -51 -51 -51 -51 -53 -54 -56 -59 -60 -60 -58 -56 -53 -50 -48 -48 -50 -52 -52 -51 -48 -44 -42 -41 -40 -41 -41 -41 -41 -40 -40 -39 -37 -33 -28 -26 -25 -24 -25 -28 -31 -31 -30 -29 -29 -29 -29 -29 -30 -32 -35 -37 -37 -36 -36 -36 -35 -34 -32 -30 -28 -27 -26 -25 -24 -25 -25 -24 -24 -23 -22 -20 -19 -19 -19 -20 -22 -22 -21 -21 -22 -21 -20 -18 -18 -19 -21 -23 -19 -17 -17 -18 -20 -19 -18 -18 -18 -18 -18 -19 -20 -20 -20 -20 -20 -18 -17 -18 -20 -22 -25 -28 -30 -30 -30 -30 -12 -11 -9 -8 -6 -6 -6 -8 -11 -13 -14 -14 -14 -15 -15 -14 -13 -14 -14 -15 -17 -18 -19 -20 -21 -22 -21 -18 -14 -8 -3 -1 -2 -5 -8 -11 -13 -12 -11 -10 -11 -14 -17 -19 -20 -20 -20 -20 -20 -17 -14 -11 -10 -10 -11 -10 -10 -11 -13 -15 -18 -20 -22 -22 -21 -19 -18 -19 -20 -19 -17 -15 -17 -20 -24 -26 -27 -28 -28 -27 -27 -27 -25 -22 -21 -22 -26 -31 -33 -27 -21 -17 -17 -20 -22 -23 -20 -16 -11 -10 -12 -17 -22 -25 -26 -25 -24 -26 -28 -28 -23 -16 -14 -13 -12 -10 -9 -7 -6 -6 -7 -8 -8 -7 -5 -3 -3 -4 -5 -5 -3 -3 -6 -9 -11 -12 -12 -12 -12 -12 -12 -13 -14 -15 -17 -18 -17 -15 -14 -14 -14 -15 -16 -18 -19 -20 -21 -22 -23 -25 -26 -25 -23 -20 -17 -18 -20 -24 -29 -32 -32 -28 -22 -18 -17 -17 -16 -16 -17 -18 -19 -20 -21 -23 -24 -26 -27 -29 -31 -31 -31 -30 -29 -28 -28 -26 -26 -26 -27 -27 -26 -24 -23 -22 -21 -22 -23 -25 -28 -30 -32 -33 -34 -35 -35 -37 -40 -44 -50 -55 -55 -50 -38 -27 -22 -21 -22 -22 -21 -19 -16 -14 -14 -16 -19 -23 -27 -28 -27 -23 -19 -18 -20 -25 -29 -32 -32 -29 -25 -20 -17 -15 -16 -16 -19 -24 -28 -31 -33 -34 -34 -33 -32 -34 -36 -37 -39 -41 -44 -46 -48 -49 -49 -48 -47 -46 -46 -47 -49 -53 -56 -56 -56 -56 -56 -58 -58 -56 -53 -50 -48 -47 -46 -47 -49 -50 -50 -50 -50 -50 -52 -54 -57 -60 -61 -61 -59 -56 -52 -49 -48 -49 -53 -55 -54 -52 -49 -45 -41 -40 -40 -40 -40 -41 -41 -41 -40 -39 -37 -34 -30 -30 -30 -29 -28 -30 -30 -30 -29 -29 -30 -31 -31 -30 -31 -32 -35 -36 -35 -35 -36 -36 -35 -34 -32 -30 -27 -27 -26 -25 -24 -24 -24 -24 -24 -22 -20 -19 -19 -18 -19 -20 -22 -23 -22 -21 -21 -20 -19 -18 -18 -19 -20 -23 -20 -19 -18 -19 -21 -20 -19 -18 -19 -19 -19 -19 -19 -19 -19 -19 -19 -19 -19 -19 -20 -21 -25 -28 -29 -30 -29 -29 -12 -11 -10 -8 -7 -6 -7 -9 -11 -13 -14 -15 -15 -15 -15 -14 -14 -14 -15 -16 -17 -19 -19 -19 -20 -21 -19 -16 -12 -7 -3 -2 -2 -5 -9 -13 -15 -15 -13 -11 -12 -14 -16 -18 -18 -18 -18 -19 -20 -17 -14 -10 -9 -9 -10 -10 -12 -13 -13 -15 -17 -21 -22 -21 -19 -17 -16 -17 -18 -16 -14 -15 -17 -21 -24 -24 -23 -23 -24 -24 -24 -23 -22 -21 -21 -22 -25 -28 -30 -27 -22 -18 -18 -21 -23 -23 -19 -14 -10 -10 -13 -17 -20 -23 -24 -24 -22 -24 -26 -27 -25 -18 -14 -12 -11 -8 -6 -5 -5 -6 -8 -9 -9 -7 -5 -4 -5 -6 -7 -5 -3 -3 -5 -8 -11 -13 -14 -14 -13 -13 -14 -17 -20 -21 -20 -19 -17 -15 -15 -16 -17 -16 -17 -18 -19 -20 -21 -22 -24 -25 -27 -27 -25 -22 -19 -18 -20 -24 -29 -34 -34 -29 -22 -17 -17 -17 -16 -16 -17 -18 -19 -19 -20 -22 -23 -25 -27 -29 -30 -31 -31 -30 -30 -29 -29 -28 -26 -25 -25 -25 -24 -23 -21 -21 -21 -21 -21 -22 -25 -28 -30 -32 -33 -34 -35 -35 -38 -42 -49 -53 -54 -49 -39 -29 -24 -23 -23 -23 -22 -21 -19 -17 -15 -15 -17 -21 -26 -29 -28 -24 -19 -18 -21 -25 -29 -33 -33 -29 -23 -19 -17 -16 -16 -16 -19 -22 -25 -27 -29 -32 -33 -33 -33 -34 -35 -37 -40 -43 -46 -47 -47 -46 -47 -47 -47 -47 -46 -47 -49 -52 -56 -56 -56 -55 -55 -57 -57 -56 -54 -52 -50 -48 -47 -48 -48 -49 -49 -49 -49 -50 -52 -54 -57 -60 -62 -62 -60 -56 -52 -49 -48 -49 -53 -54 -54 -53 -49 -44 -40 -39 -39 -39 -39 -40 -40 -40 -40 -40 -38 -36 -33 -33 -32 -32 -32 -33 -32 -30 -28 -29 -31 -32 -33 -32 -33 -35 -37 -37 -36 -36 -36 -35 -34 -34 -33 -30 -27 -27 -25 -24 -23 -24 -25 -25 -24 -22 -20 -19 -19 -19 -19 -19 -20 -21 -21 -20 -20 -19 -18 -18 -18 -19 -20 -22 -21 -19 -19 -19 -20 -20 -19 -18 -18 -19 -19 -19 -18 -18 -19 -19 -20 -19 -20 -21 -21 -22 -26 -28 -29 -29 -29 -28 -12 -11 -10 -9 -8 -7 -8 -9 -11 -13 -14 -15 -15 -15 -15 -15 -14 -15 -15 -16 -18 -20 -19 -19 -19 -19 -18 -15 -12 -7 -3 -2 -3 -7 -12 -15 -16 -16 -14 -13 -13 -14 -16 -16 -16 -16 -17 -19 -20 -17 -13 -10 -9 -9 -10 -11 -13 -14 -14 -14 -16 -21 -22 -20 -18 -16 -16 -16 -15 -14 -13 -15 -18 -20 -21 -18 -17 -17 -19 -21 -21 -20 -20 -21 -21 -22 -24 -26 -27 -25 -21 -19 -20 -23 -24 -23 -18 -11 -8 -9 -13 -17 -20 -22 -23 -22 -21 -22 -24 -26 -25 -19 -15 -11 -10 -6 -3 -3 -3 -5 -8 -10 -11 -9 -4 -3 -4 -7 -9 -7 -4 -2 -3 -6 -10 -14 -15 -15 -14 -14 -16 -19 -23 -26 -27 -25 -20 -16 -15 -16 -19 -19 -19 -19 -20 -21 -22 -23 -24 -25 -27 -28 -27 -24 -20 -19 -21 -24 -30 -34 -34 -29 -21 -16 -16 -16 -16 -16 -17 -19 -19 -19 -19 -21 -23 -25 -27 -28 -29 -30 -31 -31 -31 -31 -31 -31 -29 -27 -25 -24 -24 -22 -20 -19 -20 -21 -21 -21 -22 -25 -28 -30 -32 -33 -34 -35 -36 -40 -46 -50 -51 -48 -39 -30 -26 -24 -25 -24 -24 -23 -23 -22 -19 -16 -15 -17 -21 -24 -25 -24 -20 -19 -22 -27 -31 -35 -34 -30 -24 -19 -18 -17 -17 -17 -19 -22 -23 -24 -26 -29 -32 -33 -33 -34 -35 -37 -40 -44 -46 -45 -43 -41 -44 -46 -48 -48 -47 -47 -48 -51 -55 -56 -56 -56 -55 -55 -56 -57 -56 -55 -52 -51 -49 -48 -48 -48 -48 -49 -49 -50 -52 -54 -57 -61 -63 -63 -61 -57 -52 -49 -48 -49 -51 -52 -52 -52 -48 -43 -40 -38 -38 -38 -38 -39 -39 -40 -40 -39 -38 -37 -35 -34 -34 -34 -35 -35 -33 -31 -29 -30 -31 -33 -34 -35 -36 -38 -39 -39 -38 -37 -36 -35 -33 -33 -33 -31 -29 -27 -25 -23 -22 -24 -25 -25 -25 -23 -21 -21 -21 -20 -19 -19 -19 -19 -19 -19 -19 -18 -18 -18 -19 -19 -20 -21 -20 -19 -19 -19 -20 -20 -19 -19 -18 -19 -20 -20 -18 -19 -19 -20 -21 -19 -20 -21 -22 -22 -25 -27 -29 -29 -29 -27 -12 -11 -10 -9 -8 -8 -8 -9 -11 -13 -15 -16 -15 -16 -16 -16 -16 -15 -15 -16 -18 -20 -19 -18 -17 -17 -16 -15 -12 -8 -4 -3 -5 -9 -14 -17 -18 -18 -16 -15 -16 -16 -16 -15 -15 -15 -17 -19 -19 -17 -14 -11 -9 -10 -11 -12 -14 -15 -14 -14 -16 -20 -21 -19 -17 -16 -15 -14 -13 -12 -13 -15 -16 -17 -15 -12 -11 -12 -16 -19 -19 -19 -19 -20 -22 -24 -25 -26 -25 -22 -20 -20 -22 -26 -26 -23 -17 -10 -7 -9 -13 -17 -20 -22 -22 -21 -20 -22 -24 -26 -25 -20 -14 -11 -9 -5 -3 -2 -2 -4 -6 -9 -11 -10 -5 -3 -3 -7 -9 -8 -4 -2 -1 -5 -9 -12 -14 -14 -13 -13 -15 -18 -23 -28 -31 -30 -23 -17 -14 -15 -18 -20 -20 -20 -21 -23 -23 -24 -24 -25 -25 -26 -26 -24 -21 -20 -21 -24 -30 -34 -34 -29 -21 -15 -15 -15 -15 -16 -18 -19 -19 -19 -20 -21 -22 -24 -27 -28 -29 -30 -31 -32 -34 -35 -36 -35 -32 -29 -26 -25 -24 -22 -20 -19 -19 -20 -21 -21 -21 -23 -25 -28 -31 -32 -33 -33 -34 -37 -41 -45 -46 -45 -38 -30 -26 -24 -25 -25 -25 -25 -26 -27 -25 -22 -18 -15 -15 -18 -20 -21 -20 -19 -22 -27 -32 -35 -33 -29 -24 -21 -19 -17 -17 -18 -21 -22 -22 -22 -24 -28 -31 -33 -34 -35 -36 -37 -40 -44 -45 -43 -40 -39 -43 -46 -49 -49 -48 -47 -48 -50 -54 -56 -57 -57 -56 -55 -56 -57 -58 -57 -55 -53 -51 -49 -48 -48 -49 -49 -50 -51 -52 -54 -58 -61 -63 -63 -61 -56 -53 -50 -49 -48 -49 -50 -51 -50 -47 -43 -40 -38 -37 -37 -37 -37 -38 -39 -40 -39 -38 -37 -36 -35 -35 -36 -37 -37 -36 -34 -33 -32 -32 -32 -33 -37 -39 -40 -40 -39 -38 -37 -36 -34 -33 -32 -31 -31 -30 -28 -25 -22 -21 -24 -26 -26 -26 -23 -22 -22 -23 -22 -20 -19 -19 -19 -20 -20 -20 -19 -19 -19 -19 -20 -20 -21 -21 -20 -19 -20 -21 -21 -20 -19 -18 -19 -20 -21 -19 -20 -21 -22 -22 -20 -19 -20 -23 -22 -24 -27 -29 -29 -29 -27 -13 -11 -10 -9 -9 -8 -8 -9 -10 -13 -15 -16 -16 -16 -16 -16 -16 -15 -15 -16 -18 -20 -19 -17 -16 -16 -15 -15 -12 -9 -6 -5 -8 -12 -16 -18 -19 -19 -19 -18 -19 -18 -17 -15 -14 -15 -17 -18 -18 -16 -14 -12 -10 -11 -11 -12 -14 -15 -14 -14 -16 -20 -21 -19 -17 -15 -14 -12 -11 -11 -12 -13 -13 -13 -11 -8 -8 -11 -15 -18 -18 -18 -18 -20 -23 -25 -26 -26 -23 -21 -20 -21 -24 -28 -28 -23 -15 -9 -7 -9 -12 -16 -19 -21 -22 -21 -21 -22 -25 -26 -25 -19 -14 -11 -9 -6 -4 -3 -3 -3 -5 -6 -8 -9 -6 -3 -3 -5 -8 -7 -4 -2 -2 -5 -8 -10 -11 -12 -12 -12 -13 -17 -23 -30 -35 -34 -25 -17 -14 -15 -17 -19 -20 -21 -22 -24 -25 -25 -26 -26 -25 -24 -24 -23 -22 -20 -21 -25 -30 -34 -34 -29 -21 -16 -16 -16 -16 -17 -18 -19 -20 -21 -21 -21 -22 -24 -26 -28 -29 -30 -31 -33 -36 -38 -40 -39 -35 -31 -28 -26 -25 -23 -21 -20 -19 -20 -21 -21 -21 -22 -24 -27 -30 -32 -34 -34 -35 -35 -36 -39 -41 -41 -36 -29 -24 -22 -22 -24 -25 -27 -28 -30 -31 -29 -25 -19 -14 -14 -16 -19 -19 -19 -22 -28 -34 -35 -31 -25 -21 -20 -19 -17 -17 -19 -23 -24 -24 -22 -24 -27 -30 -33 -37 -39 -39 -39 -40 -43 -44 -42 -40 -40 -43 -46 -49 -51 -50 -49 -48 -49 -52 -55 -57 -57 -57 -56 -56 -58 -59 -59 -57 -55 -53 -51 -50 -50 -50 -50 -50 -51 -53 -55 -58 -61 -63 -63 -60 -55 -53 -51 -49 -48 -48 -49 -50 -49 -46 -43 -40 -38 -37 -37 -37 -36 -37 -38 -39 -39 -38 -37 -37 -36 -37 -38 -40 -39 -38 -37 -37 -36 -35 -33 -33 -35 -37 -38 -37 -37 -37 -36 -35 -34 -33 -32 -31 -30 -29 -27 -25 -24 -24 -25 -26 -27 -26 -23 -23 -24 -24 -23 -21 -20 -19 -20 -21 -21 -21 -20 -19 -19 -19 -20 -21 -21 -22 -21 -20 -19 -20 -20 -20 -18 -17 -18 -19 -19 -20 -21 -22 -23 -23 -20 -19 -19 -21 -22 -23 -26 -29 -29 -29 -27 -13 -11 -10 -10 -10 -9 -9 -9 -11 -13 -16 -17 -18 -17 -17 -16 -16 -16 -16 -16 -17 -18 -17 -15 -15 -15 -15 -15 -13 -11 -8 -8 -10 -13 -16 -18 -19 -19 -20 -21 -20 -18 -16 -14 -14 -15 -16 -17 -16 -15 -13 -12 -12 -12 -11 -12 -12 -13 -14 -15 -17 -20 -20 -19 -16 -14 -12 -11 -11 -11 -11 -12 -12 -11 -8 -5 -6 -10 -15 -17 -18 -18 -19 -20 -23 -26 -26 -24 -20 -19 -20 -22 -25 -29 -27 -22 -15 -9 -7 -8 -11 -14 -18 -21 -23 -22 -21 -21 -23 -23 -23 -18 -13 -10 -8 -7 -6 -5 -4 -4 -4 -3 -4 -5 -4 -3 -2 -4 -5 -5 -4 -3 -4 -7 -9 -10 -10 -10 -12 -12 -14 -18 -26 -33 -36 -34 -24 -17 -15 -15 -16 -17 -18 -20 -21 -22 -24 -26 -27 -28 -26 -24 -23 -22 -22 -21 -22 -24 -28 -30 -30 -27 -20 -16 -16 -16 -17 -17 -18 -19 -20 -22 -23 -23 -24 -25 -27 -28 -29 -30 -31 -34 -37 -41 -44 -44 -39 -33 -29 -27 -27 -25 -22 -21 -20 -20 -21 -21 -22 -23 -25 -28 -31 -34 -35 -36 -36 -35 -34 -34 -35 -36 -33 -27 -22 -20 -19 -20 -23 -26 -29 -31 -34 -36 -35 -27 -18 -14 -15 -17 -18 -19 -22 -28 -34 -33 -29 -23 -20 -19 -18 -18 -18 -20 -24 -26 -26 -24 -24 -27 -30 -34 -39 -42 -42 -41 -42 -43 -43 -42 -40 -40 -43 -46 -49 -51 -50 -49 -49 -49 -51 -54 -56 -57 -58 -57 -57 -58 -60 -60 -58 -57 -55 -53 -52 -52 -51 -50 -50 -51 -53 -55 -58 -61 -63 -62 -59 -55 -54 -53 -51 -49 -48 -48 -49 -48 -46 -43 -40 -38 -37 -37 -36 -36 -36 -38 -40 -40 -39 -37 -37 -37 -38 -40 -40 -39 -38 -38 -38 -38 -37 -35 -34 -34 -33 -34 -34 -34 -34 -33 -33 -34 -33 -33 -31 -29 -28 -26 -25 -25 -26 -26 -26 -27 -26 -24 -23 -24 -24 -23 -22 -21 -21 -21 -22 -23 -22 -21 -20 -20 -21 -21 -21 -21 -22 -22 -20 -19 -18 -18 -18 -17 -16 -16 -17 -18 -20 -20 -21 -22 -23 -20 -18 -18 -19 -20 -23 -26 -28 -29 -29 -27 -12 -10 -9 -10 -10 -10 -10 -11 -13 -15 -17 -18 -19 -19 -17 -16 -15 -15 -15 -16 -16 -16 -15 -14 -14 -15 -15 -15 -14 -12 -10 -10 -12 -13 -15 -16 -18 -19 -21 -21 -20 -18 -15 -14 -15 -16 -16 -16 -15 -14 -13 -12 -12 -12 -11 -11 -12 -12 -13 -15 -17 -20 -19 -16 -14 -12 -11 -10 -10 -10 -11 -12 -12 -11 -8 -5 -6 -9 -14 -16 -17 -18 -21 -23 -24 -25 -24 -22 -19 -19 -21 -23 -26 -28 -25 -21 -15 -10 -7 -7 -9 -12 -18 -23 -26 -25 -20 -16 -15 -16 -16 -15 -12 -9 -8 -8 -8 -9 -9 -8 -6 -3 -1 -1 -0 -1 -2 -3 -4 -3 -3 -4 -6 -9 -12 -12 -9 -8 -11 -14 -18 -23 -30 -35 -35 -30 -21 -16 -14 -14 -15 -16 -17 -18 -19 -20 -22 -25 -27 -29 -27 -24 -23 -22 -23 -23 -24 -25 -27 -27 -26 -23 -19 -16 -16 -16 -17 -17 -18 -20 -21 -23 -24 -25 -25 -25 -26 -27 -29 -31 -33 -35 -38 -43 -47 -48 -43 -37 -31 -27 -27 -26 -24 -22 -21 -21 -21 -22 -23 -24 -26 -29 -33 -36 -37 -38 -38 -37 -34 -33 -32 -33 -31 -27 -23 -19 -17 -16 -18 -22 -27 -31 -36 -40 -41 -33 -22 -16 -15 -17 -18 -20 -23 -28 -32 -30 -26 -22 -20 -19 -18 -18 -18 -22 -27 -30 -29 -26 -25 -26 -30 -34 -40 -43 -44 -44 -44 -44 -43 -42 -40 -41 -43 -46 -49 -50 -50 -50 -49 -50 -51 -54 -56 -57 -58 -58 -59 -60 -61 -61 -60 -58 -56 -55 -54 -53 -52 -52 -52 -52 -53 -55 -58 -61 -62 -62 -58 -55 -54 -54 -53 -50 -48 -47 -48 -47 -46 -43 -40 -38 -37 -37 -36 -36 -37 -39 -40 -40 -39 -37 -36 -36 -38 -40 -39 -37 -36 -36 -37 -37 -37 -35 -35 -34 -33 -32 -32 -31 -31 -31 -31 -32 -32 -32 -32 -29 -27 -26 -25 -25 -26 -26 -26 -27 -28 -26 -24 -24 -24 -23 -23 -22 -22 -23 -24 -24 -23 -22 -21 -21 -22 -22 -21 -21 -21 -22 -21 -19 -17 -16 -15 -15 -15 -15 -16 -17 -19 -20 -20 -22 -21 -20 -18 -18 -18 -19 -21 -23 -26 -28 -29 -28 -10 -8 -8 -10 -11 -12 -12 -13 -15 -17 -18 -19 -19 -18 -17 -15 -14 -13 -14 -14 -14 -14 -12 -12 -13 -15 -15 -15 -14 -12 -11 -11 -12 -13 -13 -14 -16 -19 -21 -21 -20 -17 -15 -14 -15 -15 -16 -15 -15 -14 -13 -13 -12 -11 -12 -13 -14 -14 -14 -16 -18 -19 -18 -15 -12 -10 -10 -9 -9 -9 -11 -14 -15 -14 -11 -8 -8 -10 -13 -16 -17 -20 -23 -25 -25 -23 -22 -21 -20 -20 -21 -23 -26 -26 -23 -20 -17 -12 -7 -6 -8 -13 -20 -26 -27 -25 -18 -12 -9 -8 -8 -8 -8 -8 -9 -9 -11 -13 -14 -13 -10 -5 1 5 5 2 -1 -5 -7 -6 -4 -4 -6 -11 -13 -12 -9 -9 -13 -18 -23 -28 -33 -35 -32 -26 -19 -15 -13 -13 -14 -15 -17 -18 -18 -19 -20 -23 -25 -27 -26 -24 -23 -22 -24 -25 -26 -27 -28 -27 -24 -20 -17 -15 -15 -16 -17 -18 -19 -20 -22 -24 -26 -26 -26 -26 -26 -27 -29 -31 -33 -36 -39 -43 -47 -49 -46 -40 -33 -27 -27 -26 -25 -23 -22 -22 -22 -23 -24 -24 -27 -30 -35 -38 -39 -40 -39 -38 -35 -32 -30 -29 -29 -27 -24 -21 -18 -17 -16 -17 -20 -25 -30 -35 -39 -34 -26 -20 -17 -17 -19 -23 -27 -31 -30 -26 -23 -20 -19 -18 -18 -18 -19 -24 -29 -32 -33 -29 -27 -28 -31 -35 -40 -42 -44 -44 -43 -43 -43 -43 -42 -42 -44 -47 -49 -49 -49 -50 -50 -50 -52 -54 -56 -58 -60 -60 -61 -62 -62 -62 -60 -59 -58 -57 -56 -55 -54 -54 -53 -53 -54 -55 -57 -60 -62 -63 -59 -56 -55 -55 -55 -52 -49 -47 -47 -46 -45 -43 -40 -37 -36 -36 -36 -36 -38 -39 -41 -41 -39 -37 -36 -36 -37 -37 -37 -35 -34 -34 -36 -36 -35 -34 -34 -33 -32 -31 -31 -30 -30 -30 -29 -30 -30 -31 -32 -29 -27 -25 -25 -25 -26 -27 -27 -27 -28 -27 -24 -23 -23 -23 -23 -23 -24 -23 -24 -25 -24 -23 -22 -22 -22 -22 -21 -21 -22 -22 -21 -20 -18 -15 -14 -15 -15 -15 -15 -17 -18 -19 -18 -19 -19 -19 -19 -20 -18 -18 -20 -20 -24 -26 -27 -29 -8 -7 -8 -10 -12 -14 -15 -16 -17 -18 -19 -19 -18 -17 -15 -13 -12 -11 -12 -12 -13 -12 -11 -11 -13 -14 -15 -14 -14 -12 -11 -11 -12 -12 -11 -13 -15 -18 -19 -20 -19 -17 -16 -15 -15 -15 -14 -13 -13 -13 -14 -13 -13 -12 -12 -13 -14 -15 -15 -15 -17 -17 -15 -14 -12 -10 -10 -9 -9 -11 -13 -16 -16 -15 -12 -9 -9 -10 -12 -15 -19 -23 -25 -26 -24 -22 -21 -21 -21 -21 -22 -23 -23 -23 -21 -20 -19 -14 -8 -7 -9 -16 -24 -29 -28 -21 -15 -11 -9 -7 -5 -5 -5 -6 -8 -10 -12 -15 -18 -19 -14 -6 2 8 8 5 1 -3 -9 -10 -10 -9 -10 -9 -10 -10 -10 -11 -14 -20 -26 -32 -35 -32 -27 -22 -20 -16 -13 -12 -12 -14 -16 -17 -18 -19 -20 -21 -22 -22 -22 -21 -21 -22 -24 -26 -28 -29 -30 -28 -24 -20 -16 -14 -14 -15 -17 -19 -20 -21 -22 -24 -26 -27 -28 -27 -27 -28 -29 -30 -32 -35 -39 -42 -46 -48 -47 -42 -35 -29 -27 -26 -25 -24 -22 -22 -22 -22 -23 -24 -27 -30 -35 -38 -40 -41 -40 -38 -35 -32 -30 -28 -27 -26 -25 -23 -21 -19 -16 -14 -15 -18 -22 -27 -30 -28 -24 -21 -19 -18 -22 -29 -35 -37 -30 -23 -19 -18 -17 -17 -17 -18 -20 -26 -32 -35 -36 -33 -31 -31 -33 -37 -40 -42 -42 -43 -44 -44 -44 -45 -45 -44 -45 -47 -48 -49 -49 -49 -50 -51 -53 -55 -58 -59 -61 -62 -63 -64 -63 -63 -62 -60 -58 -58 -57 -57 -56 -56 -55 -55 -54 -54 -57 -60 -62 -64 -61 -58 -57 -57 -57 -54 -52 -49 -47 -45 -44 -42 -40 -38 -37 -37 -37 -37 -38 -40 -42 -41 -39 -37 -35 -35 -37 -37 -37 -36 -35 -35 -37 -37 -36 -33 -33 -32 -31 -31 -30 -30 -30 -29 -29 -30 -30 -31 -31 -29 -27 -25 -24 -25 -26 -27 -27 -26 -27 -27 -25 -24 -24 -24 -24 -25 -25 -24 -24 -24 -25 -24 -23 -23 -23 -22 -21 -21 -22 -23 -22 -20 -18 -16 -15 -15 -16 -16 -16 -17 -18 -19 -18 -18 -18 -18 -18 -19 -19 -19 -19 -19 -21 -23 -25 -28 -7 -7 -8 -11 -13 -15 -17 -18 -18 -19 -19 -18 -16 -15 -13 -12 -10 -10 -10 -11 -12 -11 -10 -11 -12 -13 -14 -14 -13 -12 -11 -11 -11 -11 -10 -11 -14 -16 -17 -18 -18 -17 -16 -15 -16 -15 -14 -12 -11 -13 -13 -14 -13 -12 -12 -13 -14 -14 -14 -15 -15 -15 -14 -13 -12 -11 -10 -10 -11 -13 -16 -17 -16 -15 -12 -10 -9 -10 -12 -15 -20 -25 -27 -26 -23 -21 -21 -21 -21 -22 -23 -23 -22 -20 -20 -20 -19 -15 -11 -9 -11 -16 -24 -29 -29 -22 -15 -12 -10 -8 -6 -4 -4 -4 -6 -9 -12 -16 -19 -22 -17 -8 1 6 7 6 3 -1 -7 -11 -14 -16 -16 -13 -11 -10 -12 -13 -17 -23 -30 -36 -35 -29 -22 -19 -20 -17 -15 -13 -12 -13 -14 -16 -18 -19 -20 -20 -20 -19 -19 -19 -20 -20 -22 -25 -28 -31 -31 -29 -25 -20 -16 -13 -13 -14 -16 -19 -20 -21 -22 -24 -27 -28 -29 -29 -29 -29 -29 -29 -30 -33 -37 -41 -45 -47 -46 -42 -36 -30 -27 -26 -25 -24 -22 -22 -21 -21 -22 -23 -25 -28 -32 -37 -40 -40 -40 -37 -34 -32 -30 -27 -25 -24 -25 -25 -25 -22 -19 -16 -14 -15 -17 -19 -21 -22 -22 -22 -22 -24 -29 -36 -42 -42 -32 -23 -18 -16 -15 -15 -16 -18 -22 -28 -33 -36 -37 -36 -34 -34 -36 -39 -41 -42 -42 -43 -44 -45 -45 -46 -46 -45 -45 -46 -47 -48 -48 -49 -51 -53 -55 -58 -60 -61 -62 -63 -64 -64 -64 -63 -62 -61 -59 -59 -59 -59 -59 -58 -57 -56 -55 -55 -56 -59 -62 -65 -63 -61 -59 -59 -60 -57 -54 -51 -49 -46 -44 -42 -40 -39 -38 -38 -37 -37 -39 -41 -43 -43 -39 -36 -35 -35 -37 -37 -37 -37 -38 -39 -40 -40 -38 -34 -32 -32 -31 -30 -30 -30 -29 -30 -30 -30 -31 -31 -31 -30 -29 -26 -24 -24 -25 -27 -28 -27 -27 -26 -26 -26 -26 -26 -26 -27 -26 -25 -24 -24 -25 -24 -24 -23 -23 -21 -20 -20 -21 -22 -22 -20 -19 -17 -16 -16 -17 -18 -17 -18 -19 -20 -20 -20 -19 -18 -17 -17 -17 -19 -20 -19 -21 -23 -25 -27 -7 -7 -8 -11 -14 -16 -18 -19 -19 -19 -18 -17 -15 -12 -11 -11 -11 -10 -10 -11 -11 -11 -10 -10 -11 -12 -13 -13 -13 -12 -11 -12 -11 -10 -9 -10 -12 -14 -15 -16 -17 -17 -17 -16 -16 -15 -14 -12 -11 -12 -12 -12 -12 -12 -12 -12 -13 -13 -13 -13 -14 -14 -15 -15 -15 -12 -10 -10 -12 -15 -18 -18 -16 -13 -11 -10 -10 -11 -13 -15 -20 -25 -27 -25 -21 -21 -21 -21 -21 -23 -24 -24 -22 -20 -20 -19 -18 -15 -13 -12 -12 -16 -21 -27 -29 -27 -20 -15 -11 -8 -6 -5 -4 -4 -5 -8 -11 -14 -17 -19 -16 -9 -2 3 6 5 3 -0 -4 -8 -12 -15 -17 -14 -12 -12 -13 -14 -19 -25 -32 -37 -33 -25 -18 -16 -17 -17 -16 -14 -13 -13 -14 -16 -17 -19 -21 -21 -20 -18 -17 -17 -18 -19 -19 -22 -26 -30 -32 -31 -27 -22 -17 -13 -12 -14 -16 -18 -20 -21 -22 -24 -26 -29 -30 -31 -31 -30 -29 -28 -29 -31 -34 -39 -44 -46 -45 -41 -37 -32 -28 -25 -24 -24 -22 -21 -21 -20 -20 -21 -22 -24 -27 -32 -36 -37 -37 -34 -33 -32 -31 -28 -25 -24 -25 -26 -27 -26 -23 -19 -15 -15 -15 -15 -16 -17 -18 -21 -24 -29 -36 -42 -43 -38 -27 -20 -17 -16 -14 -14 -15 -19 -22 -27 -32 -35 -38 -38 -37 -37 -38 -41 -42 -42 -43 -44 -45 -45 -46 -46 -45 -45 -44 -45 -46 -46 -47 -49 -52 -55 -58 -60 -61 -61 -62 -63 -63 -64 -64 -63 -63 -62 -61 -61 -61 -61 -62 -61 -60 -58 -57 -56 -56 -58 -61 -64 -64 -61 -59 -60 -61 -59 -56 -53 -50 -47 -44 -42 -40 -39 -39 -39 -38 -37 -39 -42 -44 -44 -40 -36 -34 -34 -36 -37 -38 -38 -40 -41 -41 -39 -37 -34 -33 -32 -31 -30 -30 -29 -29 -29 -30 -31 -33 -35 -35 -35 -33 -30 -27 -26 -26 -27 -28 -28 -28 -27 -27 -27 -28 -28 -27 -27 -26 -25 -24 -24 -24 -25 -25 -24 -23 -21 -20 -20 -20 -21 -21 -21 -19 -19 -19 -18 -18 -19 -19 -19 -20 -22 -22 -21 -20 -18 -17 -17 -17 -18 -20 -20 -22 -24 -27 -27 -7 -8 -9 -12 -14 -17 -19 -20 -20 -19 -17 -15 -13 -11 -10 -10 -11 -10 -10 -11 -11 -11 -10 -10 -10 -11 -12 -12 -12 -12 -11 -12 -11 -10 -9 -9 -11 -12 -14 -15 -16 -18 -18 -17 -17 -16 -14 -12 -10 -10 -10 -10 -9 -11 -12 -12 -11 -11 -11 -12 -13 -15 -17 -18 -18 -15 -12 -12 -15 -18 -19 -17 -14 -12 -10 -10 -12 -14 -15 -17 -20 -23 -24 -22 -20 -21 -22 -22 -23 -24 -25 -25 -23 -22 -21 -19 -17 -15 -14 -14 -14 -16 -20 -25 -29 -30 -24 -17 -11 -8 -6 -5 -5 -4 -5 -8 -10 -12 -13 -14 -13 -10 -5 -0 3 3 1 -2 -4 -7 -10 -12 -14 -14 -14 -13 -14 -15 -19 -26 -33 -36 -29 -21 -15 -14 -15 -16 -15 -15 -14 -15 -15 -16 -17 -19 -20 -21 -20 -18 -17 -18 -18 -19 -19 -20 -22 -25 -29 -30 -27 -23 -18 -14 -12 -13 -15 -17 -19 -20 -21 -23 -25 -28 -30 -31 -31 -30 -29 -29 -29 -30 -33 -37 -42 -43 -42 -40 -37 -33 -29 -25 -23 -22 -22 -21 -20 -20 -19 -20 -21 -22 -24 -27 -30 -31 -31 -30 -30 -31 -31 -28 -26 -25 -25 -26 -28 -27 -25 -22 -19 -16 -15 -15 -14 -14 -15 -19 -24 -32 -41 -46 -43 -32 -22 -17 -16 -15 -14 -14 -16 -18 -23 -27 -31 -34 -37 -38 -38 -39 -39 -41 -43 -44 -44 -45 -46 -46 -46 -46 -45 -44 -44 -44 -45 -46 -48 -50 -53 -56 -59 -61 -61 -61 -61 -61 -62 -63 -63 -63 -63 -63 -63 -62 -62 -63 -64 -63 -61 -60 -58 -57 -56 -57 -59 -63 -63 -61 -59 -59 -60 -59 -57 -55 -52 -48 -45 -42 -40 -40 -39 -39 -38 -37 -38 -40 -42 -43 -39 -36 -33 -34 -35 -36 -37 -38 -40 -40 -39 -37 -36 -35 -34 -33 -31 -30 -30 -29 -29 -29 -30 -32 -35 -39 -40 -40 -38 -34 -32 -30 -29 -29 -29 -29 -29 -29 -28 -29 -30 -29 -28 -27 -26 -25 -24 -23 -24 -25 -25 -23 -22 -21 -20 -20 -20 -21 -21 -21 -20 -20 -19 -19 -19 -21 -20 -19 -20 -21 -21 -20 -20 -19 -18 -17 -17 -18 -20 -22 -23 -24 -26 -27 -9 -10 -11 -13 -15 -17 -19 -21 -20 -18 -15 -13 -11 -10 -9 -9 -11 -11 -11 -11 -11 -11 -10 -10 -10 -10 -11 -12 -12 -12 -11 -12 -11 -11 -10 -9 -10 -11 -12 -14 -16 -17 -18 -18 -17 -15 -13 -10 -8 -8 -8 -7 -8 -11 -12 -12 -10 -10 -11 -12 -13 -16 -18 -19 -19 -18 -15 -16 -18 -19 -18 -15 -13 -12 -11 -12 -14 -16 -18 -18 -19 -20 -21 -20 -20 -21 -22 -22 -24 -26 -27 -26 -25 -23 -22 -20 -18 -16 -16 -16 -17 -19 -22 -26 -29 -31 -25 -17 -10 -7 -6 -5 -5 -5 -7 -9 -9 -9 -9 -9 -10 -10 -8 -4 1 1 -2 -5 -8 -10 -12 -13 -13 -14 -15 -15 -16 -16 -19 -24 -29 -30 -24 -18 -13 -13 -13 -14 -14 -14 -14 -15 -16 -16 -17 -18 -19 -20 -19 -18 -18 -17 -18 -19 -20 -19 -20 -21 -23 -24 -23 -21 -18 -15 -13 -12 -13 -16 -18 -20 -21 -23 -24 -26 -28 -29 -29 -29 -28 -29 -29 -30 -31 -34 -38 -39 -38 -37 -35 -33 -29 -26 -23 -22 -21 -21 -20 -19 -19 -19 -20 -21 -22 -24 -26 -28 -28 -27 -28 -30 -31 -29 -27 -25 -25 -26 -27 -28 -28 -27 -23 -19 -17 -16 -15 -14 -14 -17 -23 -32 -41 -45 -41 -29 -20 -16 -15 -15 -15 -15 -16 -18 -22 -25 -30 -35 -38 -37 -37 -38 -39 -41 -44 -45 -45 -45 -46 -47 -46 -46 -45 -44 -44 -44 -45 -47 -49 -51 -54 -57 -59 -61 -61 -61 -60 -60 -61 -62 -63 -63 -63 -63 -63 -63 -63 -64 -65 -64 -62 -60 -59 -57 -56 -56 -58 -63 -63 -61 -60 -60 -60 -60 -58 -56 -53 -50 -46 -42 -40 -40 -39 -38 -37 -37 -37 -38 -40 -40 -38 -35 -33 -33 -34 -35 -36 -37 -38 -38 -37 -35 -35 -34 -33 -33 -32 -31 -31 -30 -30 -30 -31 -33 -36 -41 -42 -42 -41 -39 -37 -35 -33 -31 -31 -32 -33 -32 -32 -32 -32 -31 -30 -28 -26 -24 -24 -23 -23 -24 -24 -23 -22 -21 -21 -21 -21 -21 -21 -21 -20 -20 -18 -17 -18 -20 -19 -17 -17 -19 -19 -19 -19 -19 -18 -17 -16 -17 -21 -23 -24 -24 -25 -27 -10 -11 -13 -15 -16 -18 -19 -20 -19 -15 -13 -11 -10 -9 -9 -10 -11 -11 -11 -11 -11 -11 -10 -9 -10 -10 -11 -12 -12 -11 -11 -12 -12 -11 -10 -9 -9 -10 -12 -13 -15 -17 -18 -18 -16 -14 -11 -9 -7 -7 -6 -6 -8 -11 -12 -12 -11 -11 -11 -12 -14 -17 -18 -18 -19 -18 -17 -19 -19 -19 -17 -14 -13 -12 -12 -13 -14 -16 -18 -18 -18 -18 -18 -19 -21 -22 -22 -22 -23 -26 -28 -27 -26 -23 -22 -21 -21 -20 -19 -20 -21 -24 -26 -28 -31 -32 -26 -17 -9 -5 -5 -3 -4 -6 -9 -10 -9 -8 -6 -5 -7 -9 -9 -5 -1 -0 -3 -8 -12 -15 -16 -15 -15 -16 -17 -19 -19 -19 -19 -20 -21 -21 -18 -15 -13 -12 -12 -12 -12 -12 -12 -15 -16 -17 -17 -18 -19 -19 -20 -19 -18 -17 -17 -18 -19 -19 -19 -19 -20 -20 -19 -18 -18 -16 -14 -13 -13 -15 -17 -20 -22 -23 -24 -25 -25 -25 -25 -26 -27 -28 -29 -29 -29 -30 -32 -33 -33 -32 -31 -30 -29 -27 -25 -23 -22 -20 -19 -18 -18 -19 -19 -20 -21 -22 -24 -25 -26 -26 -27 -28 -30 -29 -27 -26 -26 -26 -27 -28 -30 -31 -29 -24 -21 -19 -18 -16 -16 -17 -20 -28 -36 -40 -38 -28 -22 -18 -17 -15 -15 -16 -17 -19 -22 -25 -29 -34 -38 -37 -37 -38 -41 -44 -46 -47 -46 -45 -46 -46 -46 -46 -46 -45 -45 -45 -46 -49 -51 -53 -55 -57 -59 -60 -61 -60 -60 -59 -60 -62 -62 -62 -62 -62 -62 -63 -63 -65 -66 -64 -62 -61 -59 -57 -56 -55 -58 -63 -63 -62 -61 -60 -61 -61 -61 -58 -55 -51 -47 -43 -41 -39 -38 -37 -37 -37 -37 -36 -36 -36 -35 -34 -33 -32 -33 -34 -35 -35 -35 -35 -34 -33 -33 -33 -32 -32 -32 -32 -31 -31 -31 -32 -33 -35 -38 -41 -43 -43 -43 -42 -40 -38 -36 -34 -34 -35 -35 -35 -36 -35 -34 -32 -31 -29 -27 -25 -24 -24 -24 -24 -23 -22 -21 -21 -22 -23 -24 -23 -22 -21 -20 -19 -16 -14 -16 -19 -19 -17 -17 -19 -20 -19 -18 -17 -17 -15 -15 -16 -20 -23 -24 -24 -25 -25 -11 -13 -15 -17 -18 -18 -19 -18 -16 -13 -11 -9 -9 -8 -9 -10 -11 -11 -11 -11 -11 -11 -10 -10 -10 -10 -11 -11 -11 -11 -11 -12 -12 -11 -10 -9 -9 -10 -11 -13 -15 -17 -17 -17 -15 -12 -10 -8 -7 -6 -6 -7 -9 -11 -12 -12 -11 -9 -10 -11 -14 -17 -18 -18 -18 -18 -19 -20 -20 -18 -15 -12 -12 -12 -13 -14 -15 -16 -17 -17 -17 -17 -18 -19 -21 -22 -21 -21 -23 -26 -26 -26 -24 -23 -22 -22 -21 -21 -21 -22 -23 -24 -25 -27 -30 -31 -27 -19 -11 -5 -3 -2 -3 -6 -8 -10 -9 -7 -5 -4 -6 -8 -9 -8 -4 -2 -3 -7 -12 -15 -16 -17 -17 -19 -22 -24 -24 -21 -19 -17 -16 -15 -15 -14 -13 -12 -12 -11 -11 -11 -11 -14 -15 -17 -18 -19 -19 -20 -20 -20 -19 -17 -16 -16 -17 -18 -19 -19 -19 -18 -17 -16 -16 -16 -15 -14 -14 -16 -18 -21 -22 -24 -24 -25 -25 -24 -23 -23 -24 -25 -28 -28 -28 -28 -29 -29 -29 -28 -28 -28 -28 -28 -27 -25 -23 -21 -19 -17 -18 -18 -19 -19 -20 -22 -24 -25 -25 -25 -26 -27 -28 -28 -28 -27 -27 -27 -28 -30 -32 -35 -35 -32 -27 -24 -23 -23 -22 -20 -19 -23 -28 -32 -32 -27 -23 -21 -20 -18 -16 -17 -18 -21 -23 -26 -29 -34 -38 -38 -39 -40 -44 -48 -50 -49 -47 -45 -45 -46 -47 -47 -47 -46 -46 -46 -47 -50 -52 -54 -56 -57 -58 -59 -60 -60 -59 -59 -59 -60 -60 -60 -59 -59 -60 -61 -63 -65 -66 -65 -63 -61 -60 -58 -56 -56 -59 -62 -63 -62 -61 -61 -61 -62 -63 -61 -56 -52 -48 -46 -42 -40 -38 -37 -37 -37 -36 -35 -33 -33 -33 -34 -34 -33 -33 -34 -35 -35 -35 -35 -34 -33 -32 -31 -31 -31 -31 -31 -31 -32 -33 -35 -37 -38 -40 -42 -44 -45 -45 -44 -41 -39 -37 -36 -35 -36 -37 -37 -38 -37 -36 -35 -34 -32 -29 -26 -26 -25 -25 -24 -23 -22 -21 -22 -23 -26 -27 -26 -23 -20 -20 -18 -16 -14 -14 -18 -19 -19 -18 -19 -19 -18 -17 -16 -16 -15 -15 -15 -19 -21 -23 -24 -23 -23 -12 -14 -17 -18 -19 -19 -18 -16 -14 -11 -9 -8 -8 -8 -9 -10 -10 -10 -11 -11 -11 -10 -10 -10 -10 -10 -11 -11 -11 -11 -11 -12 -12 -11 -10 -9 -9 -9 -10 -12 -14 -16 -16 -16 -14 -12 -11 -10 -8 -8 -8 -9 -9 -11 -12 -11 -10 -8 -9 -11 -14 -16 -17 -16 -16 -17 -19 -19 -17 -15 -13 -11 -12 -13 -14 -15 -15 -16 -16 -17 -17 -18 -19 -21 -22 -22 -21 -22 -24 -26 -25 -23 -21 -21 -20 -19 -19 -19 -20 -21 -22 -23 -22 -23 -25 -26 -25 -19 -13 -6 -2 -1 -2 -4 -7 -8 -7 -6 -4 -5 -6 -7 -9 -9 -8 -6 -6 -8 -11 -13 -14 -16 -17 -21 -26 -29 -28 -22 -17 -15 -14 -15 -15 -14 -14 -13 -13 -13 -12 -11 -11 -12 -13 -15 -18 -19 -20 -21 -21 -21 -20 -18 -16 -15 -16 -17 -18 -19 -19 -18 -16 -15 -15 -15 -15 -15 -15 -17 -19 -21 -23 -25 -25 -26 -26 -25 -23 -22 -21 -22 -24 -25 -26 -26 -27 -27 -27 -26 -26 -27 -28 -29 -28 -26 -24 -22 -20 -17 -17 -18 -19 -20 -21 -22 -24 -25 -26 -26 -26 -27 -27 -27 -28 -28 -29 -29 -29 -31 -34 -38 -40 -39 -35 -30 -30 -31 -32 -30 -26 -23 -22 -23 -25 -24 -22 -22 -23 -22 -19 -18 -18 -21 -23 -25 -28 -32 -37 -38 -39 -40 -45 -50 -51 -51 -47 -46 -46 -47 -48 -49 -49 -49 -49 -49 -50 -51 -53 -55 -56 -58 -58 -59 -59 -59 -59 -58 -57 -58 -59 -58 -57 -56 -58 -60 -61 -64 -66 -66 -64 -62 -60 -59 -58 -57 -59 -61 -63 -63 -63 -63 -62 -62 -63 -62 -58 -54 -49 -47 -45 -42 -39 -38 -38 -38 -37 -35 -33 -33 -33 -33 -33 -33 -33 -34 -35 -35 -36 -36 -34 -33 -31 -30 -29 -30 -30 -30 -31 -32 -35 -37 -38 -39 -41 -43 -45 -47 -47 -46 -42 -38 -36 -36 -36 -36 -37 -38 -39 -39 -38 -37 -36 -34 -31 -28 -27 -27 -27 -25 -23 -21 -21 -22 -24 -26 -27 -26 -23 -20 -20 -19 -17 -15 -14 -16 -18 -20 -19 -17 -17 -17 -17 -17 -17 -15 -15 -15 -17 -19 -22 -23 -21 -20 -13 -16 -18 -19 -20 -19 -17 -14 -11 -9 -7 -6 -6 -7 -8 -9 -10 -10 -10 -11 -10 -10 -10 -10 -10 -10 -10 -10 -11 -11 -11 -12 -12 -12 -10 -9 -8 -9 -10 -11 -13 -14 -14 -13 -12 -14 -14 -14 -12 -10 -9 -9 -10 -12 -12 -11 -8 -7 -9 -12 -14 -15 -15 -14 -14 -16 -17 -16 -14 -12 -10 -11 -12 -14 -15 -16 -15 -15 -17 -19 -20 -21 -21 -22 -22 -22 -23 -23 -25 -26 -24 -22 -19 -18 -17 -15 -15 -15 -16 -18 -20 -22 -21 -20 -21 -21 -20 -17 -13 -7 -2 -1 -1 -3 -5 -6 -6 -5 -5 -6 -6 -7 -9 -9 -9 -9 -9 -10 -12 -12 -13 -14 -16 -21 -27 -32 -33 -25 -17 -12 -13 -15 -16 -16 -14 -13 -14 -14 -13 -12 -11 -12 -13 -14 -16 -19 -21 -22 -22 -22 -21 -19 -17 -16 -15 -15 -16 -18 -19 -18 -16 -15 -14 -14 -14 -15 -16 -18 -20 -22 -24 -26 -27 -27 -26 -25 -24 -23 -21 -20 -21 -22 -23 -23 -25 -26 -27 -27 -27 -27 -29 -30 -29 -27 -25 -23 -21 -19 -18 -19 -20 -21 -22 -23 -25 -26 -27 -27 -27 -27 -27 -27 -27 -28 -30 -31 -31 -32 -34 -39 -41 -40 -37 -35 -36 -40 -42 -42 -36 -30 -25 -23 -23 -22 -21 -22 -25 -26 -23 -20 -18 -19 -21 -22 -25 -30 -36 -39 -39 -40 -44 -49 -51 -50 -47 -46 -47 -49 -50 -51 -51 -52 -52 -52 -53 -54 -55 -56 -57 -58 -59 -60 -60 -60 -60 -58 -56 -57 -58 -57 -55 -55 -56 -58 -61 -63 -65 -65 -64 -62 -61 -59 -58 -57 -58 -60 -62 -64 -65 -64 -63 -62 -61 -60 -58 -55 -50 -49 -47 -44 -42 -39 -38 -38 -38 -36 -35 -34 -34 -33 -33 -33 -33 -34 -34 -35 -36 -37 -35 -33 -30 -28 -28 -28 -29 -29 -30 -32 -36 -36 -36 -37 -38 -40 -43 -46 -47 -46 -41 -36 -32 -34 -35 -37 -38 -39 -40 -40 -40 -39 -37 -35 -33 -30 -29 -29 -29 -26 -23 -21 -21 -22 -24 -26 -27 -25 -23 -20 -19 -19 -19 -18 -14 -13 -14 -17 -17 -16 -15 -16 -19 -19 -18 -17 -16 -16 -17 -18 -21 -22 -19 -18 -14 -16 -18 -20 -21 -19 -17 -13 -10 -7 -5 -5 -5 -6 -7 -8 -9 -10 -11 -11 -11 -11 -11 -11 -10 -10 -10 -10 -10 -11 -12 -13 -13 -12 -10 -9 -8 -9 -10 -11 -12 -12 -11 -10 -11 -15 -18 -19 -16 -13 -11 -11 -12 -13 -13 -11 -8 -8 -10 -13 -15 -15 -14 -14 -15 -16 -16 -14 -11 -10 -10 -11 -13 -14 -16 -16 -15 -15 -18 -23 -24 -23 -22 -22 -23 -23 -24 -25 -27 -27 -25 -22 -19 -17 -15 -14 -13 -12 -13 -15 -17 -20 -21 -21 -22 -21 -18 -14 -10 -5 -1 -0 0 -1 -2 -4 -5 -5 -6 -8 -8 -8 -9 -10 -10 -10 -10 -11 -11 -11 -13 -15 -16 -19 -25 -30 -32 -24 -16 -11 -11 -14 -16 -16 -16 -15 -14 -13 -13 -12 -11 -12 -13 -15 -17 -19 -20 -22 -23 -23 -22 -20 -18 -17 -16 -15 -16 -17 -18 -18 -17 -16 -14 -13 -13 -14 -16 -18 -21 -23 -25 -27 -28 -28 -28 -27 -26 -24 -22 -20 -20 -20 -20 -21 -22 -24 -26 -28 -28 -28 -29 -30 -29 -28 -26 -24 -22 -20 -20 -20 -21 -21 -23 -24 -26 -27 -28 -29 -29 -29 -28 -27 -27 -28 -30 -33 -33 -34 -36 -39 -39 -37 -36 -36 -39 -44 -48 -50 -46 -39 -32 -27 -26 -24 -22 -22 -22 -25 -25 -23 -18 -16 -18 -20 -24 -29 -36 -39 -39 -39 -44 -48 -50 -50 -48 -47 -48 -50 -51 -52 -52 -53 -54 -55 -55 -56 -57 -58 -58 -58 -59 -60 -61 -61 -61 -59 -57 -58 -58 -58 -55 -55 -56 -59 -61 -63 -64 -65 -64 -63 -62 -60 -58 -57 -57 -60 -62 -64 -65 -65 -65 -63 -61 -59 -59 -57 -53 -50 -49 -47 -44 -40 -38 -37 -37 -37 -36 -35 -35 -34 -33 -33 -33 -34 -34 -35 -37 -38 -36 -34 -30 -27 -26 -27 -27 -27 -29 -31 -35 -35 -33 -33 -35 -37 -41 -44 -45 -43 -38 -31 -28 -31 -34 -37 -39 -40 -41 -41 -40 -39 -38 -36 -34 -32 -31 -30 -29 -26 -23 -21 -21 -22 -24 -25 -25 -24 -22 -19 -18 -18 -18 -18 -16 -14 -12 -14 -16 -16 -16 -16 -19 -21 -20 -19 -17 -17 -18 -19 -21 -21 -19 -17 -15 -16 -18 -20 -21 -19 -16 -12 -8 -5 -3 -3 -4 -5 -5 -6 -8 -10 -11 -11 -12 -12 -12 -11 -11 -10 -9 -9 -9 -11 -12 -14 -14 -13 -11 -9 -9 -9 -9 -10 -10 -10 -9 -8 -11 -15 -19 -20 -19 -16 -15 -15 -15 -15 -14 -12 -10 -10 -13 -15 -16 -17 -16 -17 -17 -17 -16 -13 -11 -10 -11 -12 -14 -15 -16 -16 -15 -16 -19 -25 -26 -25 -23 -23 -23 -23 -24 -26 -29 -28 -26 -23 -21 -20 -18 -16 -13 -11 -12 -14 -16 -19 -21 -24 -27 -28 -21 -12 -6 -2 -0 1 1 1 -1 -3 -5 -6 -7 -9 -10 -10 -10 -12 -13 -13 -12 -10 -8 -9 -11 -15 -18 -19 -22 -24 -25 -20 -14 -10 -10 -12 -13 -15 -16 -16 -15 -14 -13 -12 -11 -11 -12 -13 -15 -18 -20 -23 -24 -24 -23 -22 -20 -19 -17 -17 -17 -18 -18 -18 -17 -16 -15 -13 -13 -14 -16 -18 -20 -22 -24 -27 -29 -30 -30 -29 -28 -26 -23 -21 -21 -20 -20 -20 -20 -22 -24 -26 -28 -28 -29 -29 -29 -28 -27 -25 -24 -22 -22 -22 -22 -22 -23 -25 -27 -29 -31 -32 -33 -32 -31 -29 -28 -28 -31 -34 -35 -37 -39 -42 -39 -35 -33 -34 -38 -43 -48 -52 -50 -45 -39 -34 -31 -31 -29 -26 -23 -23 -24 -22 -19 -17 -19 -21 -24 -29 -35 -38 -39 -40 -43 -46 -48 -49 -48 -48 -49 -50 -51 -52 -53 -54 -55 -56 -56 -57 -58 -59 -58 -59 -60 -61 -62 -62 -62 -61 -59 -59 -59 -58 -56 -56 -57 -60 -62 -64 -65 -66 -66 -64 -63 -62 -61 -59 -60 -61 -63 -65 -65 -66 -66 -66 -63 -60 -59 -59 -55 -52 -51 -50 -47 -43 -41 -39 -38 -38 -38 -37 -36 -35 -33 -32 -33 -34 -34 -35 -37 -37 -36 -34 -30 -27 -26 -26 -26 -26 -27 -30 -33 -33 -31 -31 -33 -36 -39 -41 -41 -38 -33 -28 -24 -25 -29 -35 -39 -41 -41 -41 -40 -39 -37 -36 -34 -32 -31 -30 -28 -26 -22 -21 -21 -21 -23 -23 -23 -23 -21 -19 -18 -17 -17 -16 -15 -15 -15 -16 -17 -17 -17 -18 -19 -20 -21 -20 -18 -18 -18 -19 -19 -19 -17 -17 -16 -16 -17 -19 -20 -19 -16 -12 -7 -3 -1 -1 -2 -3 -3 -5 -8 -10 -12 -13 -14 -14 -13 -12 -10 -9 -8 -8 -10 -12 -13 -15 -15 -13 -11 -10 -9 -9 -9 -9 -9 -8 -8 -8 -11 -15 -18 -19 -19 -20 -20 -20 -19 -18 -16 -14 -12 -13 -16 -17 -19 -19 -19 -19 -19 -19 -17 -14 -13 -12 -13 -14 -15 -16 -16 -16 -15 -16 -19 -25 -25 -24 -23 -24 -24 -23 -24 -27 -31 -29 -27 -24 -23 -23 -22 -19 -15 -12 -12 -14 -17 -19 -21 -26 -31 -35 -27 -14 -4 1 2 2 2 2 0 -4 -7 -8 -8 -9 -9 -9 -11 -14 -18 -18 -15 -10 -6 -6 -8 -13 -17 -20 -21 -20 -18 -14 -10 -8 -8 -10 -11 -13 -14 -15 -15 -14 -14 -13 -12 -11 -11 -12 -14 -16 -19 -21 -24 -26 -26 -25 -24 -21 -20 -19 -19 -19 -18 -17 -15 -14 -14 -13 -12 -13 -14 -17 -20 -22 -24 -26 -29 -31 -32 -32 -31 -28 -25 -23 -23 -22 -21 -20 -20 -20 -22 -24 -26 -27 -28 -29 -30 -29 -28 -26 -25 -24 -24 -24 -24 -24 -25 -26 -29 -31 -33 -35 -36 -36 -35 -33 -31 -30 -31 -33 -36 -40 -44 -46 -43 -38 -33 -32 -35 -40 -45 -49 -51 -49 -45 -39 -37 -39 -39 -36 -31 -26 -24 -22 -21 -20 -21 -23 -25 -30 -35 -38 -39 -40 -42 -45 -47 -48 -49 -49 -50 -50 -51 -53 -54 -56 -57 -57 -57 -57 -58 -59 -59 -60 -60 -61 -62 -62 -62 -62 -62 -61 -60 -59 -57 -58 -59 -61 -64 -65 -66 -66 -66 -65 -64 -64 -64 -65 -65 -66 -66 -66 -66 -67 -68 -69 -66 -62 -61 -59 -56 -53 -52 -51 -49 -46 -44 -42 -41 -41 -40 -39 -38 -36 -33 -32 -32 -32 -33 -34 -35 -36 -35 -33 -30 -27 -26 -25 -25 -25 -25 -28 -31 -32 -31 -30 -33 -36 -38 -39 -37 -33 -29 -25 -22 -22 -25 -31 -37 -40 -41 -41 -40 -38 -37 -35 -34 -32 -32 -31 -30 -27 -23 -21 -20 -20 -20 -21 -21 -21 -19 -19 -18 -17 -16 -15 -14 -14 -14 -15 -16 -17 -18 -18 -19 -20 -20 -20 -19 -18 -18 -19 -17 -16 -16 -16 -17 -18 -18 -19 -20 -19 -16 -11 -6 -1 0 0 -1 -1 -2 -4 -7 -10 -12 -14 -16 -16 -15 -13 -11 -9 -8 -9 -11 -13 -14 -15 -15 -14 -12 -11 -9 -9 -8 -9 -9 -9 -9 -10 -12 -14 -16 -18 -19 -22 -23 -24 -23 -22 -20 -18 -16 -17 -19 -20 -20 -21 -20 -19 -19 -19 -18 -17 -17 -17 -16 -16 -16 -17 -17 -17 -17 -18 -21 -24 -23 -23 -23 -24 -23 -22 -23 -26 -30 -29 -27 -25 -25 -25 -23 -21 -18 -15 -15 -15 -16 -17 -19 -24 -29 -33 -27 -17 -7 -1 2 2 3 2 0 -5 -10 -13 -13 -10 -7 -6 -9 -15 -21 -22 -19 -13 -8 -5 -5 -7 -12 -18 -22 -23 -19 -12 -8 -7 -7 -9 -11 -12 -13 -13 -14 -14 -14 -15 -14 -13 -12 -11 -12 -13 -15 -19 -22 -26 -28 -28 -27 -24 -22 -20 -19 -19 -18 -16 -14 -13 -13 -12 -12 -13 -14 -17 -20 -23 -25 -27 -30 -33 -36 -38 -37 -34 -29 -26 -24 -22 -21 -21 -20 -20 -21 -22 -24 -26 -28 -30 -31 -30 -29 -28 -27 -27 -26 -26 -26 -26 -26 -28 -30 -32 -35 -37 -39 -39 -38 -37 -36 -36 -35 -35 -38 -42 -47 -50 -50 -47 -40 -34 -34 -38 -43 -47 -51 -50 -47 -42 -42 -45 -48 -48 -42 -34 -28 -25 -24 -24 -24 -26 -27 -30 -34 -37 -39 -41 -43 -45 -47 -49 -50 -51 -51 -52 -53 -55 -57 -58 -59 -58 -57 -57 -57 -58 -58 -59 -60 -61 -62 -62 -62 -62 -62 -61 -60 -59 -59 -60 -62 -63 -65 -66 -67 -66 -66 -66 -65 -65 -66 -68 -69 -68 -68 -68 -67 -67 -68 -71 -69 -65 -62 -59 -55 -54 -53 -53 -51 -48 -46 -45 -44 -44 -43 -42 -40 -37 -34 -32 -31 -31 -31 -32 -33 -34 -35 -33 -31 -28 -26 -26 -25 -25 -25 -28 -31 -32 -32 -31 -33 -35 -37 -38 -34 -30 -26 -23 -22 -23 -26 -30 -33 -36 -38 -39 -39 -37 -36 -36 -35 -33 -32 -32 -30 -27 -24 -22 -20 -20 -20 -20 -20 -19 -18 -18 -18 -17 -15 -15 -14 -13 -12 -14 -15 -17 -17 -18 -18 -19 -20 -20 -19 -19 -18 -18 -16 -15 -15 -17 -17 -18 -19 -20 -20 -19 -16 -10 -5 -0 1 1 -0 -0 -1 -4 -7 -9 -12 -15 -18 -19 -17 -15 -12 -10 -9 -10 -12 -15 -16 -16 -15 -15 -13 -11 -10 -8 -8 -8 -10 -10 -10 -10 -11 -13 -15 -18 -20 -21 -23 -25 -26 -26 -23 -20 -17 -18 -21 -22 -21 -20 -19 -17 -17 -17 -17 -18 -19 -20 -19 -19 -19 -19 -19 -19 -20 -20 -22 -23 -22 -22 -22 -23 -23 -22 -22 -23 -24 -25 -26 -26 -24 -22 -21 -20 -19 -19 -19 -19 -17 -15 -18 -20 -22 -23 -21 -16 -12 -7 0 3 4 2 -1 -6 -12 -17 -19 -13 -7 -5 -6 -13 -18 -21 -20 -18 -13 -10 -6 -4 -5 -13 -20 -25 -23 -16 -10 -7 -7 -10 -11 -12 -12 -12 -12 -12 -14 -15 -16 -15 -13 -11 -10 -11 -13 -16 -20 -24 -27 -28 -28 -26 -23 -22 -20 -19 -17 -16 -15 -14 -13 -12 -12 -13 -14 -17 -20 -24 -26 -29 -32 -35 -37 -38 -37 -35 -32 -28 -25 -22 -21 -21 -21 -21 -21 -22 -23 -26 -28 -30 -32 -32 -31 -30 -29 -29 -29 -28 -27 -27 -28 -29 -31 -34 -37 -39 -41 -41 -40 -40 -40 -40 -39 -39 -40 -43 -49 -56 -59 -58 -51 -43 -40 -41 -45 -49 -50 -49 -46 -43 -44 -48 -53 -55 -51 -43 -37 -32 -30 -28 -28 -29 -32 -34 -36 -37 -39 -41 -44 -47 -50 -51 -52 -53 -53 -54 -55 -57 -58 -59 -60 -60 -59 -58 -56 -57 -58 -59 -59 -60 -61 -61 -61 -61 -61 -61 -60 -60 -60 -61 -63 -65 -67 -67 -67 -67 -66 -66 -66 -66 -67 -69 -70 -70 -70 -69 -68 -67 -67 -71 -71 -68 -64 -59 -56 -55 -55 -55 -53 -50 -48 -47 -46 -47 -46 -45 -42 -38 -35 -33 -31 -30 -30 -31 -32 -34 -35 -34 -32 -29 -27 -26 -26 -25 -26 -28 -30 -31 -31 -31 -31 -32 -34 -36 -33 -28 -24 -22 -23 -25 -28 -30 -31 -33 -34 -36 -36 -36 -36 -36 -36 -34 -33 -32 -30 -27 -24 -22 -20 -20 -19 -19 -19 -18 -18 -18 -18 -17 -15 -15 -14 -13 -12 -13 -15 -16 -17 -17 -17 -18 -19 -20 -20 -19 -19 -17 -15 -14 -15 -18